27#ifndef DUMUX_DISCRETIZATION_STAGGERD_HH
28#define DUMUX_DISCRETIZATION_STAGGERD_HH
47#include <dune/istl/multitypeblockvector.hh>
48#include <dune/istl/multitypeblockmatrix.hh>
53class CCElementBoundaryTypes;
64template<
class TypeTag>
70 static constexpr auto enableCache = getPropValue<TypeTag, Properties::EnableGridFaceVariablesCache>();
76template<
class TypeTag>
80template<
class TypeTag>
87 static constexpr auto enableCache = getPropValue<TypeTag, Properties::EnableGridFluxVariablesCache>();
88 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
94template<
class TypeTag>
104template<
class TypeTag>
117template<
class TypeTag>
121template<
class TypeTag>
125template<
class TypeTag>
128 using type = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
129 getPropValue<TypeTag, Properties::NumEqCellCenter>()>;
133template<
class TypeTag>
136 using type = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
137 getPropValue<TypeTag, Properties::NumEqFace>()>;
141template<
class TypeTag>
148template<
class TypeTag>
150{
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>>; };
153template<
class TypeTag>
155{
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::FacePrimaryVariables>>; };
158template<
class TypeTag>
165 using type = Dune::MultiTypeBlockVector<CellCenterSolutionVector, FaceSolutionVector>;
169template<
class TypeTag>
175 static constexpr auto numEqCellCenter = getPropValue<TypeTag, Properties::NumEqCellCenter>();
176 static constexpr auto numEqFace = getPropValue<TypeTag, Properties::NumEqFace>();
194 using RowCellCenter =
typename Dune::MultiTypeBlockVector<MatrixBlockCCToCC, MatrixBlockCCToFace>;
195 using RowFace =
typename Dune::MultiTypeBlockVector<MatrixBlockFaceToCC, MatrixBlockFaceToFace>;
198 using type =
typename Dune::MultiTypeBlockMatrix<RowCellCenter, RowFace>;
Calculates the element-wise residual for the staggered FV scheme.
Declares properties required for finite-volume models models.
The available discretization methods in Dumux.
Classes related to flux variables caching.
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
Calculates the element-wise residual for the staggered FV scheme.
Definition: staggeredlocalresidual.hh:40
Class to specify the type of a boundary.
Definition: common/boundarytypes.hh:38
The type of the base class of the local residual (specific to a discretization scheme)
Definition: common/properties.hh:80
Type of the global jacobian matrix.
Definition: common/properties.hh:82
Vector containing all primary variable vector of the grid.
Definition: common/properties.hh:84
Stores the boundary types of a single degree of freedom.
Definition: common/properties.hh:86
Stores the boundary types on an element.
Definition: common/properties.hh:112
The global vector of flux variable containers.
Definition: common/properties.hh:186
The grid variables object managing variable data on the grid (volvars/fluxvars cache)
Definition: common/properties.hh:190
The solution vector type for cell-centered dofs.
Definition: common/properties.hh:281
The solution vector type for face dofs.
Definition: common/properties.hh:283
Global vector containing face-related data.
Definition: common/properties.hh:285
The primary variables container type for cell-centered dofs.
Definition: common/properties.hh:287
The primary variables container type for face dofs.
Definition: common/properties.hh:289
A vector containing the solution for a face (similar to ElementSolution)
Definition: common/properties.hh:301
Switch on/off caching of face variables.
Definition: common/properties.hh:303
Boundary types gathered on an element.
Definition: discretization/cellcentered/elementboundarytypes.hh:38
Definition: staggered.hh:60
std::tuple< FiniteVolumeModel > InheritsFrom
Definition: staggered.hh:60
Dune::FieldVector< GetPropType< TypeTag, Properties::Scalar >, getPropValue< TypeTag, Properties::NumEqCellCenter >()> type
Definition: staggered.hh:129
Dune::FieldVector< GetPropType< TypeTag, Properties::Scalar >, getPropValue< TypeTag, Properties::NumEqFace >()> type
Definition: staggered.hh:137
Dune::BlockVector< GetPropType< TypeTag, Properties::CellCenterPrimaryVariables > > type
Definition: staggered.hh:150
Dune::BlockVector< GetPropType< TypeTag, Properties::FacePrimaryVariables > > type
Definition: staggered.hh:155
Dune::MultiTypeBlockVector< CellCenterSolutionVector, FaceSolutionVector > type
Definition: staggered.hh:165
typename Dune::BCRSMatrix< MatrixLittleBlockCCToFace > MatrixBlockCCToFace
Definition: staggered.hh:188
typename Dune::BCRSMatrix< MatrixLittleBlockFaceToFace > MatrixBlockFaceToFace
Definition: staggered.hh:190
typename Dune::FieldMatrix< Scalar, numEqCellCenter, numEqFace > MatrixLittleBlockCCToFace
Definition: staggered.hh:181
typename Dune::BCRSMatrix< MatrixLittleBlockCCToCC > MatrixBlockCCToCC
Definition: staggered.hh:187
typename Dune::FieldMatrix< Scalar, numEqFace, numEqCellCenter > MatrixLittleBlockFaceToCC
Definition: staggered.hh:184
typename Dune::MultiTypeBlockMatrix< RowCellCenter, RowFace > type
Definition: staggered.hh:198
typename Dune::FieldMatrix< Scalar, numEqFace, numEqFace > MatrixLittleBlockFaceToFace
Definition: staggered.hh:183
typename Dune::BCRSMatrix< MatrixLittleBlockFaceToCC > MatrixBlockFaceToCC
Definition: staggered.hh:191
typename Dune::MultiTypeBlockVector< MatrixBlockFaceToCC, MatrixBlockFaceToFace > RowFace
Definition: staggered.hh:195
typename Dune::MultiTypeBlockVector< MatrixBlockCCToCC, MatrixBlockCCToFace > RowCellCenter
Definition: staggered.hh:194
typename Dune::FieldMatrix< Scalar, numEqCellCenter, numEqCellCenter > MatrixLittleBlockCCToCC
Definition: staggered.hh:180
The global face variables class for staggered models.
Definition: facesolution.hh:40
Face variables cache class for staggered models.
Definition: gridfacevariables.hh:58
Flux variables cache class for staggered models.
Definition: staggered/gridfluxvariablescache.hh:63
Class storing data associated to scvs and scvfs.
Definition: discretization/staggered/gridvariables.hh:216
Declares all properties used in Dumux.
Boundary types gathered on an element.
Sub control volumes for cell-centered discretization schemes.