25#ifndef DUMUX_STAGGERED_FV_ASSEMBLER_HH
26#define DUMUX_STAGGERED_FV_ASSEMBLER_HH
31#include <dune/common/indices.hh>
55template<
class TypeTag, DiffMethod diffMethod,
bool isImplicit = true>
57 StaggeredCouplingManager<StaggeredMultiDomainTraits<TypeTag, TypeTag>>,
58 diffMethod, isImplicit>
82 static_assert(
isImplicit,
"Explicit assembler for stationary problem doesn't make sense!");
90 std::shared_ptr<const TimeLoop> timeLoop,
An enum class to define various differentiation methods available in order to compute the derivatives...
The available discretization methods in Dumux.
The interface of the coupling manager for multi domain problems.
Linear algebra traits for mixeddimension problems.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:180
A linear system assembler (residual and Jacobian) for staggered finite volume schemes....
Definition: staggeredfvassembler.hh:59
const auto & gridVariables() const
Definition: staggeredfvassembler.hh:105
auto & gridVariables()
Definition: staggeredfvassembler.hh:102
const GridGeometry & gridGeometry() const
Definition: staggeredfvassembler.hh:108
StaggeredFVAssembler(std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables)
The constructor for stationary problems.
Definition: staggeredfvassembler.hh:74
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: staggeredfvassembler.hh:69
StaggeredFVAssembler(std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables, std::shared_ptr< const TimeLoop > timeLoop, const SolutionVector &prevSol)
The constructor for instationary problems.
Definition: staggeredfvassembler.hh:87
GetPropType< TypeTag, Properties::GridVariables > GridVariables
Definition: staggeredfvassembler.hh:70
typename ParentType::CouplingManager CouplingManager
Definition: staggeredfvassembler.hh:71
Manages the handling of time dependent problems.
Definition: common/timeloop.hh:68
A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa,...
Definition: multidomain/fvassembler.hh:98
static constexpr bool isImplicit()
Returns true if the assembler considers implicit assembly.
Definition: multidomain/fvassembler.hh:129
CMType CouplingManager
Definition: multidomain/fvassembler.hh:124
const auto & gridGeometry(Dune::index_constant< i > domainId) const
the finite volume grid geometry of domain i
Definition: multidomain/fvassembler.hh:442
const SolutionVector & prevSol() const
the solution of the previous time step
Definition: multidomain/fvassembler.hh:473
GridVariables< i > & gridVariables(Dune::index_constant< i > domainId)
the grid variables of domain i
Definition: multidomain/fvassembler.hh:452
std::shared_ptr< CouplingManager > couplingManager_
the coupling manager coupling the sub domains
Definition: multidomain/fvassembler.hh:505
const auto & problem(Dune::index_constant< i > domainId) const
the problem of domain i
Definition: multidomain/fvassembler.hh:437
Base coupling manager for the staggered discretization.
Definition: staggeredcouplingmanager.hh:43
A linear system assembler (residual and Jacobian) for finite volume schemes with multiple domains.
Declares all properties used in Dumux.
Manages the handling of time dependent problems.