25#ifndef DUMUX_STAGGERED_FV_ASSEMBLER_HH
26#define DUMUX_STAGGERED_FV_ASSEMBLER_HH
30#include <dune/istl/matrixindexset.hh>
54template<
class TypeTag, DiffMethod diffMethod,
bool isImplicit = true>
56 StaggeredCouplingManager<StaggeredMultiDomainTraits<TypeTag, TypeTag>>,
69 using FVGridGeometry [[deprecated(
"Use GridGeometry instead. FVGridGeometry will be removed after 3.1!")]] =
GridGeometry;
82 static_assert(
isImplicit,
"Explicit assembler for stationary problem doesn't make sense!");
87 [[deprecated(
"Please use the constructor additionally taking the previous solution. Will be removed after 3.2 release!")]]
91 std::shared_ptr<const TimeLoop> timeLoop)
98 static_assert(
isImplicit,
"Explicit assembler for stationary problem doesn't make sense!");
106 std::shared_ptr<const TimeLoop> timeLoop,
115 static_assert(
isImplicit,
"Explicit assembler for stationary problem doesn't make sense!");
127 [[deprecated(
"Use gridGeometry() instead. fvGridGeometry() will be removed after 3.1!")]]
An enum class to define various differentiation methods available in order to compute the derivatives...
Manages the handling of time dependent problems.
The available discretization methods in Dumux.
The interface of the coupling manager for multi domain problems.
Linear algebra traits for mixeddimension problems.
make the local view function available whenever we use the grid geometry
Definition adapt.hh:29
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:149
const auto & gridVariables() const
Definition staggeredfvassembler.hh:123
auto & gridVariables()
Definition staggeredfvassembler.hh:120
const GridGeometry & gridGeometry() const
Definition staggeredfvassembler.hh:131
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:68
StaggeredFVAssembler(std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables, std::shared_ptr< const TimeLoop > timeLoop)
The constructor for instationary problems.
Definition staggeredfvassembler.hh:88
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:103
GetPropType< TypeTag, Properties::GridVariables > GridVariables
Definition staggeredfvassembler.hh:70
const GridGeometry & fvGridGeometry() const
The global finite volume geometry.
Definition staggeredfvassembler.hh:128
typename ParentType::CouplingManager CouplingManager
Definition staggeredfvassembler.hh:71
Manages the handling of time dependent problems.
Definition timeloop.hh:65
static constexpr bool isImplicit()
Definition multidomain/fvassembler.hh:93
StaggeredCouplingManager< StaggeredMultiDomainTraits< TypeTag, TypeTag > > CouplingManager
Definition multidomain/fvassembler.hh:88
const auto & gridGeometry(Dune::index_constant< i > domainId) const
Definition multidomain/fvassembler.hh:369
const SolutionVector & prevSol() const
Definition multidomain/fvassembler.hh:400
GridVariables< i > & gridVariables(Dune::index_constant< i > domainId)
Definition multidomain/fvassembler.hh:379
std::shared_ptr< CouplingManager > couplingManager_
Definition multidomain/fvassembler.hh:432
MultiDomainFVAssembler(ProblemTuple &&problem, GridGeometryTuple &&gridGeometry, GridVariablesTuple &&gridVariables, std::shared_ptr< CouplingManager > couplingManager)
Definition multidomain/fvassembler.hh:143
const auto & problem(Dune::index_constant< i > domainId) const
Definition multidomain/fvassembler.hh:358
Base coupling manager for the staggered discretization.
Definition staggeredcouplingmanager.hh:42
A linear system assembler (residual and Jacobian) for finite volume schemes with multiple domains.
Declares all properties used in Dumux.