19#ifndef DUMUX_SEQUENTIAL_PROPERTIES_HH
20#define DUMUX_SEQUENTIAL_PROPERTIES_HH
62template<
class TypeTag,
class MyTypeTag>
64template<
class TypeTag,
class MyTypeTag>
66template<
class TypeTag,
class MyTypeTag>
70template<
class TypeTag,
class MyTypeTag>
72template<
class TypeTag,
class MyTypeTag>
75template<
class TypeTag,
class MyTypeTag>
77template<
class TypeTag,
class MyTypeTag>
79template<
class TypeTag,
class MyTypeTag>
81template<
class TypeTag,
class MyTypeTag>
83template<
class TypeTag,
class MyTypeTag>
85template<
class TypeTag,
class MyTypeTag>
87template<
class TypeTag,
class MyTypeTag>
89template<
class TypeTag,
class MyTypeTag>
91template<
class TypeTag,
class MyTypeTag>
93template<
class TypeTag,
class MyTypeTag>
98#include <dune/grid/common/mcmgmapper.hh>
99#include <dune/istl/bvector.hh>
109template<
class TypeTag>
120template<
class TypeTag>
125template<
class TypeTag>
132 static constexpr int numEq() {
return getPropValue<TypeTag, Properties::NumEq>(); }
139template<
class TypeTag>
145 static constexpr int value = 2*GridView::dimension;
149template<
class TypeTag>
153 struct MockFVGridGeometry
160 using type = MockFVGridGeometry;
164template<
class TypeTag>
176template<
class TypeTag>
185 dim = GridView::dimension,
186 numEq = getPropValue<TypeTag, Properties::NumEq>(),
187 numPhases = getPropValue<TypeTag, Properties::NumPhases>(),
188 numComponents = getPropValue<TypeTag, Properties::NumComponents>(),
189 maxIntersections = getPropValue<TypeTag, Properties::MaxIntersections>()
196 using VertexMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>;
212 using ComponentProperty = Dune::FieldVector<Dune::BlockVector<Dune::FieldVector<Scalar,1> >, numComponents>;
214 using PhaseProperty = Dune::FieldVector<Dune::BlockVector<Dune::FieldVector<Scalar,1> >, numPhases>;
216 using FluidProperty = Dune::FieldVector<Dune::BlockVector<Dune::FieldVector<Scalar,1> >, numPhases>;
218 using PhasePropertyElemFace = Dune::BlockVector<Dune::FieldVector<Dune::FieldVector<Scalar, numPhases>, maxIntersections> >;
220 using DimVecElemFace = Dune::BlockVector<Dune::FieldVector<Dune::FieldVector<Scalar, dim>, maxIntersections> >;
223template<
class TypeTag>
226template<
class TypeTag>
230template<
class TypeTag>
236template<
class TypeTag>
239 enum { numEq = getPropValue<TypeTag, Properties::NumEq>() };
245template<
class TypeTag>
248 static void defaultParams(Dune::ParameterTree& params,
const std::string& group =
"")
250 params[
"GridAdapt.CoarsenTolerance"] =
"0.001";
251 params[
"GridAdapt.EnableInitializationIndicator"] =
"false";
252 params[
"GridAdapt.EnableMultiPointFluxApproximation"] =
"true";
253 params[
"GridAdapt.MaxLevel"] =
"1";
254 params[
"GridAdapt.MaxInteractionVolumes"] =
"4";
255 params[
"GridAdapt.MinLevel"] =
"0";
256 params[
"GridAdapt.RefineAtDirichletBC"] =
"false";
257 params[
"GridAdapt.RefineAtFluxBC"] =
"false";
258 params[
"GridAdapt.RefineAtSource"] =
"false";
259 params[
"GridAdapt.RefineTolerance"] =
"0.05";
261 params[
"Impet.CFLFactor"] =
"1.0";
262 params[
"Impet.EnableVolumeIntegral"] =
"true";
263 params[
"Impet.ErrorTermFactor"] =
"0.5";
264 params[
"Impet.ErrorTermLowerBound"] =
"0.1";
265 params[
"Impet.ErrorTermUpperBound"] =
"0.9";
266 params[
"Impet.PorosityThreshold"] =
"1e-6";
267 params[
"Impet.SubCFLFactor"] =
"1.0";
268 params[
"Impet.SwitchNormals"] =
"false";
270 params[
"MPFA.CalcVelocityInTransport"] =
"false";
272 params[
"TimeManager.SubTimestepVerbosity"] =
"0";
274 params[
"Vtk.OutputLevel"] =
"0";
Defines a type tags and some fundamental grid-related properties.
Definition of boundary condition types, extend if necessary.
Defines the default element and vertex mapper types.
Manages the handling of time dependent problems.
The available discretization methods in Dumux.
Class defining a start indicator for grid adaption.
Defines a type tag and some fundamental properties for linear solvers.
DiscretizationMethod
The available discretization methods in Dumux.
Definition: method.hh:37
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type GetProp
get the type of a property
Definition: propertysystem.hh:141
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:150
Definition: defaultmappertraits.hh:35
Property which defines the group that is queried for parameters by default.
Definition: common/properties.hh:45
A vector of primary variables.
Definition: common/properties.hh:49
Traits class encapsulating model specifications.
Definition: common/properties.hh:53
Type of the global jacobian matrix.
Definition: common/properties.hh:67
Vector containing all primary variable vector of the grid.
Definition: common/properties.hh:69
Definition: common/properties.hh:98
Definition: common/properties.hh:289
a tag to mark properties as undefined
Definition: propertysystem.hh:35
Manages the handling of time dependent problems.
Definition: timemanager.hh:62
Base class holding the variables and discretized data for sequential models.
Definition: variableclass.hh:49
Class to specify the type of a boundary.
Definition: porousmediumflow/sequential/boundarytypes.hh:40
Definition: porousmediumflow/sequential/properties.hh:52
std::tuple< GridAdapt, GridProperties, ModelProperties > InheritsFrom
Definition: porousmediumflow/sequential/properties.hh:52
Definition: porousmediumflow/sequential/properties.hh:63
Definition: porousmediumflow/sequential/properties.hh:65
Definition: porousmediumflow/sequential/properties.hh:67
The type of the mode.
Definition: porousmediumflow/sequential/properties.hh:71
The type of discretization method.
Definition: porousmediumflow/sequential/properties.hh:73
The type of the discretization of a pressure model.
Definition: porousmediumflow/sequential/properties.hh:76
The type of the discretization of a transport model.
Definition: porousmediumflow/sequential/properties.hh:78
The type velocity reconstruction.
Definition: porousmediumflow/sequential/properties.hh:80
Number of equations in the system of PDEs.
Definition: porousmediumflow/sequential/properties.hh:82
Number of phases in the system.
Definition: porousmediumflow/sequential/properties.hh:84
Number of components in the system.
Definition: porousmediumflow/sequential/properties.hh:86
The type of the container of global variables.
Definition: porousmediumflow/sequential/properties.hh:88
Defines data object to be stored.
Definition: porousmediumflow/sequential/properties.hh:90
Gives maximum number of intersections of an element and neighboring elements.
Definition: porousmediumflow/sequential/properties.hh:92
Gives maximum number of intersections of an element and neighboring elements.
Definition: porousmediumflow/sequential/properties.hh:94
GetPropType< TypeTag, Properties::PressureCoefficientMatrix > type
Definition: porousmediumflow/sequential/properties.hh:121
DummyTraits type
Definition: porousmediumflow/sequential/properties.hh:135
MockFVGridGeometry type
Definition: porousmediumflow/sequential/properties.hh:160
typename GetPropType< TypeTag, Properties::Grid >::LeafGridView GV
Definition: porousmediumflow/sequential/properties.hh:152
GV GridView
Definition: porousmediumflow/sequential/properties.hh:157
typename GetProp< TypeTag, SolutionTypes >::ScalarSolution type
Definition: porousmediumflow/sequential/properties.hh:168
typename GetPropType< TypeTag, Properties::GridGeometry >::GridView GridView
Definition: porousmediumflow/sequential/properties.hh:180
Dune::BlockVector< Dune::FieldVector< Scalar, 1 > > ScalarSolution
type for vector of scalars
Definition: porousmediumflow/sequential/properties.hh:210
Dune::BlockVector< Dune::FieldVector< Dune::FieldVector< Scalar, dim >, maxIntersections > > DimVecElemFace
type for vector of vectors (of size 2 x dimension) of vector (of size dimension) of scalars
Definition: porousmediumflow/sequential/properties.hh:220
Dune::FieldVector< Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >, numPhases > PhaseProperty
type for vector of phase properties
Definition: porousmediumflow/sequential/properties.hh:214
Dune::BlockVector< Dune::FieldVector< Dune::FieldVector< Scalar, numPhases >, maxIntersections > > PhasePropertyElemFace
type for vector of vectors (of size 2 x dimension) of scalars
Definition: porousmediumflow/sequential/properties.hh:218
GetPropType< TypeTag, Properties::Variables > Variables
Definition: porousmediumflow/sequential/properties.hh:181
Dune::MultipleCodimMultipleGeomTypeMapper< GridView > VertexMapper
Mapper for the grid view's vertices.
Definition: porousmediumflow/sequential/properties.hh:196
Dune::MultipleCodimMultipleGeomTypeMapper< GridView > ElementMapper
Mapper for the grid view's elements.
Definition: porousmediumflow/sequential/properties.hh:201
Dune::FieldVector< Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >, numComponents > ComponentProperty
type for vector of phase properties
Definition: porousmediumflow/sequential/properties.hh:212
Dune::FieldVector< Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >, numPhases > FluidProperty
type for vector of fluid properties: Vector[element][phase]
Definition: porousmediumflow/sequential/properties.hh:216
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: porousmediumflow/sequential/properties.hh:179
Dune::FieldVector< Scalar, numEq > PrimaryVariables
The type of a solution at a fixed time.
Definition: porousmediumflow/sequential/properties.hh:208
typename GetProp< TypeTag, SolutionTypes >::PrimaryVariables type
Definition: porousmediumflow/sequential/properties.hh:227
static void defaultParams(Dune::ParameterTree ¶ms, const std::string &group="")
Definition: porousmediumflow/sequential/properties.hh:248
Class to specify the type of a boundary.
Class to specify the type of a boundary.
Declares all properties used in Dumux.
Defines a type tags and some fundamental properties for all models.