Пример #1
0
void Process::assemble(const double t, GlobalVector const& x, GlobalMatrix& M,
                       GlobalMatrix& K, GlobalVector& b)
{
    MathLib::LinAlg::setLocalAccessibleVector(x);

    assembleConcreteProcess(t, x, M, K, b);

    const auto pcs_id =
        (_coupled_solutions) != nullptr ? _coupled_solutions->process_id : 0;
    // the last argument is for the jacobian, nullptr is for a unused jacobian
    _boundary_conditions[pcs_id].applyNaturalBC(t, x, K, b, nullptr);

    // the last argument is for the jacobian, nullptr is for a unused jacobian
    _source_term_collections[pcs_id].integrate(t, x, b, nullptr);
}
Пример #2
0
void Process::assemble(const double t, GlobalVector const& x, GlobalMatrix& M,
                       GlobalMatrix& K, GlobalVector& b)
{
    assembleConcreteProcess(t, x, M, K, b);
    _boundary_conditions.applyNaturalBC(t, x, K, b);
}