13#ifndef DUMUX_STAGGERED_FV_ASSEMBLER_HH
14#define DUMUX_STAGGERED_FV_ASSEMBLER_HH
19#include <dune/common/indices.hh>
43template<
class TypeTag, DiffMethod diffMethod,
bool isImplicit = true>
45 StaggeredCouplingManager<StaggeredMultiDomainTraits<TypeTag, TypeTag>>,
46 diffMethod, isImplicit>
71 static_assert(
isImplicit,
"Explicit assembler for stationary problem doesn't make sense!");
79 std::shared_ptr<const TimeLoop> timeLoop,
A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa,...
Definition: multidomain/fvassembler.hh:86
typename MDTraits::SolutionVector SolutionVector
Definition: multidomain/fvassembler.hh:109
static constexpr bool isImplicit()
Returns true if the assembler considers implicit assembly.
Definition: multidomain/fvassembler.hh:117
CMType CouplingManager
Definition: multidomain/fvassembler.hh:112
const auto & gridGeometry(Dune::index_constant< i > domainId) const
the finite volume grid geometry of domain i
Definition: multidomain/fvassembler.hh:367
const SolutionVector & prevSol() const
the solution of the previous time step
Definition: multidomain/fvassembler.hh:398
GridVariables< i > & gridVariables(Dune::index_constant< i > domainId)
the grid variables of domain i
Definition: multidomain/fvassembler.hh:377
std::shared_ptr< CouplingManager > couplingManager_
the coupling manager coupling the sub domains
Definition: multidomain/fvassembler.hh:430
const auto & problem(Dune::index_constant< i > domainId) const
the problem of domain i
Definition: multidomain/fvassembler.hh:362
typename MDTraits::ResidualVector ResidualType
Definition: multidomain/fvassembler.hh:110
Base coupling manager for the staggered discretization.
Definition: staggeredcouplingmanager.hh:31
A linear system assembler (residual and Jacobian) for staggered finite volume schemes....
Definition: staggeredfvassembler.hh:47
const auto & gridVariables() const
Definition: staggeredfvassembler.hh:94
typename MDTraits::SolutionVector SolutionVector
Definition: multidomain/fvassembler.hh:109
auto & gridVariables()
Definition: staggeredfvassembler.hh:91
const GridGeometry & gridGeometry() const
Definition: staggeredfvassembler.hh:97
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:63
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: staggeredfvassembler.hh:58
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 time-dependent problems.
Definition: staggeredfvassembler.hh:76
GetPropType< TypeTag, Properties::GridVariables > GridVariables
Definition: staggeredfvassembler.hh:59
typename ParentType::CouplingManager CouplingManager
Definition: staggeredfvassembler.hh:60
Manages the handling of time dependent problems.
Definition: common/timeloop.hh:84
Defines all properties used in Dumux.
Manages the handling of time dependent problems.
An enum class to define various differentiation methods available in order to compute the derivatives...
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
The available discretization methods in Dumux.
A linear system assembler (residual and Jacobian) for finite volume schemes with multiple domains.
The interface of the coupling manager for multi domain problems.
Linear algebra traits for mixeddimension problems.