A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa, mpfa, ...) with multiple domains.
More...
template<class MDTraits, class CMType,
DiffMethod diffMethod, bool useImplicitAssembly = true>
class Dumux::MultiDomainFVAssembler< MDTraits, CMType, diffMethod, useImplicitAssembly >
- Template Parameters
-
| MDTraits | the multidimensional traits |
| diffMethod | the differentiation method to residual compute derivatives |
| useImplicitAssembly | if to use an implicit or explicit time discretization |
|
| | MultiDomainFVAssembler (ProblemTuple problem, GridGeometryTuple gridGeometry, GridVariablesTuple gridVariables, std::shared_ptr< CouplingManager > couplingManager) |
| | The constructor for stationary problems.
|
| |
| | MultiDomainFVAssembler (ProblemTuple problem, GridGeometryTuple gridGeometry, GridVariablesTuple gridVariables, std::shared_ptr< CouplingManager > couplingManager, std::shared_ptr< const TimeLoop > timeLoop, const SolutionVector &prevSol) |
| | The constructor for instationary problems.
|
| |
| void | assembleJacobianAndResidual (const SolutionVector &curSol) |
| | Assembles the global Jacobian of the residual and the residual for the current solution.
|
| |
| void | assembleResidual (const SolutionVector &curSol) |
| | compute the residuals using the internal residual
|
| |
| void | assembleResidual (ResidualType &r, const SolutionVector &curSol) |
| | assemble a residual r
|
| |
| void | setLinearSystem (std::shared_ptr< JacobianMatrix > A, std::shared_ptr< ResidualType > r) |
| | Tells the assembler which jacobian and residual to use. This also resizes the containers to the required sizes and sets the sparsity pattern of the jacobian matrix.
|
| |
| void | setLinearSystem () |
| | The version without arguments uses the default constructor to create the jacobian and residual objects in this assembler if you don't need them outside this class.
|
| |
| void | setJacobianBuildMode (JacobianMatrix &jac) const |
| | Sets the jacobian build mode.
|
| |
| void | updateAfterGridAdaption () |
| | Resizes jacobian and residual and recomputes colors.
|
| |
| void | updateGridVariables (const SolutionVector &curSol) |
| | Updates the grid variables with the given solution.
|
| |
| void | resetTimeStep (const SolutionVector &curSol) |
| | Resets the grid variables to the last time step.
|
| |
| template<std::size_t i> |
| std::size_t | numDofs (Dune::index_constant< i > domainId) const |
| | the number of dof locations of domain i
|
| |
| template<std::size_t i> |
| const auto & | problem (Dune::index_constant< i > domainId) const |
| | the problem of domain i
|
| |
| template<std::size_t i> |
| const auto & | gridGeometry (Dune::index_constant< i > domainId) const |
| | the finite volume grid geometry of domain i
|
| |
| template<std::size_t i> |
| const auto & | gridView (Dune::index_constant< i > domainId) const |
| | the grid view of domain i
|
| |
| template<std::size_t i> |
| GridVariables< i > & | gridVariables (Dune::index_constant< i > domainId) |
| | the grid variables of domain i
|
| |
| template<std::size_t i> |
| const GridVariables< i > & | gridVariables (Dune::index_constant< i > domainId) const |
| | the grid variables of domain i
|
| |
| const CouplingManager & | couplingManager () const |
| | the coupling manager
|
| |
| JacobianMatrix & | jacobian () |
| | the full Jacobian matrix
|
| |
| ResidualType & | residual () |
| | the full residual vector
|
| |
| const SolutionVector & | prevSol () const |
| | the solution of the previous time step
|
| |
| void | setTimeManager (std::shared_ptr< const TimeLoop > timeLoop) |
| | Set time loop for instationary problems.
|
| |
| void | setPreviousSolution (const SolutionVector &u) |
| | Sets the solution from which to start the time integration. Has to be called prior to assembly for time-dependent problems.
|
| |
| bool | isStationaryProblem () const |
| | Whether we are assembling a stationary or instationary problem.
|
| |
| template<std::size_t i> |
| LocalResidual< i > | localResidual (Dune::index_constant< i > domainId) const |
| | Create a local residual object (used by the local assembler)
|
| |