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) 
 | 
|  |