version 3.10-dev
common/properties.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
16#ifndef DUMUX_PROPERTIES_HH
17#define DUMUX_PROPERTIES_HH
18
19// explicitly guard the include so that the property system
20// header doesn't need to be opened and checked all the time
21// this include is guaranteed to be here for users of this header
22#ifndef DUMUX_PROPERTY_SYSTEM_HH
24#endif // DUMUX_PROPERTY_SYSTEM_HH
25
27
29// Basic properties of numeric models:
32DUMUX_DEFINE_PROPERTY(ModelDefaultParameters)
34DUMUX_DEFINE_PROPERTY(PrimaryVariables)
35DUMUX_DEFINE_PROPERTY(ModelTraits)
36DUMUX_DEFINE_PROPERTY(BaseModelTraits)
39DUMUX_DEFINE_PROPERTY(PointSourceHelper)
40DUMUX_DEFINE_PROPERTY(IOFields)
41DUMUX_DEFINE_PROPERTY(BaseLocalResidual)
42DUMUX_DEFINE_PROPERTY(JacobianMatrix)
43DUMUX_DEFINE_PROPERTY(SolutionVector)
44
45
47DUMUX_DEFINE_PROPERTY(LocalResidual)
48
49
51
52
53// Basic properties regarding balance equations
55DUMUX_DEFINE_PROPERTY(UseMoles)
56DUMUX_DEFINE_PROPERTY(ReplaceCompEqIdx)
57DUMUX_DEFINE_PROPERTY(BalanceEqOpts)
58DUMUX_DEFINE_PROPERTY(EnableCompositionalDispersion)
59DUMUX_DEFINE_PROPERTY(EnableThermalDispersion)
60
61
62// Properties used by finite volume schemes:
64DUMUX_DEFINE_PROPERTY(ElementBoundaryTypes)
65DUMUX_DEFINE_PROPERTY(GridGeometry)
66DUMUX_DEFINE_PROPERTY(GridVariables)
67DUMUX_DEFINE_PROPERTY(VolumeVariables)
68DUMUX_DEFINE_PROPERTY(GridVolumeVariables)
69DUMUX_DEFINE_PROPERTY(FluxVariables)
70DUMUX_DEFINE_PROPERTY(FluxVariablesCache)
71DUMUX_DEFINE_PROPERTY(FluxVariablesCacheFiller)
72DUMUX_DEFINE_PROPERTY(GridFluxVariablesCache)
73
74DUMUX_DEFINE_PROPERTY(EnableGridGeometryCache)
75DUMUX_DEFINE_PROPERTY(EnableGridVolumeVariablesCache)
76DUMUX_DEFINE_PROPERTY(EnableGridFluxVariablesCache)
77
78
79// Additional properties used by the cell-centered mpfa schemes:
81DUMUX_DEFINE_PROPERTY(PrimaryInteractionVolume)
82DUMUX_DEFINE_PROPERTY(SecondaryInteractionVolume)
83DUMUX_DEFINE_PROPERTY(DualGridNodalIndexSet)
84
85
86// Properties used by models involving flow in porous media:
89DUMUX_DEFINE_PROPERTY(AdvectionType)
90DUMUX_DEFINE_PROPERTY(SolutionDependentAdvection)
91DUMUX_DEFINE_PROPERTY(MolecularDiffusionType)
92DUMUX_DEFINE_PROPERTY(DispersionFluxType)
93DUMUX_DEFINE_PROPERTY(SolutionDependentMolecularDiffusion)
94DUMUX_DEFINE_PROPERTY(HeatConductionType)
95DUMUX_DEFINE_PROPERTY(CompositionalDispersionModel)
96DUMUX_DEFINE_PROPERTY(ThermalDispersionModel)
97DUMUX_DEFINE_PROPERTY(SolutionDependentHeatConduction)
98
99DUMUX_DEFINE_PROPERTY(SpatialParams)
100DUMUX_DEFINE_PROPERTY(FluidSystem)
101DUMUX_DEFINE_PROPERTY(FluidState)
102DUMUX_DEFINE_PROPERTY(SolidSystem)
103DUMUX_DEFINE_PROPERTY(SolidState)
104DUMUX_DEFINE_PROPERTY(EffectiveDiffusivityModel)
105DUMUX_DEFINE_PROPERTY(ThermalConductivityModel)
107DUMUX_DEFINE_PROPERTY(Formulation)
108// TODO: is this useful? -> everything is a constraint solver just a different type
109DUMUX_DEFINE_PROPERTY(UseConstraintSolver)
110
111// When using the box method in a multi-phase context, an interface solver might be necessary
112DUMUX_DEFINE_PROPERTY(EnableBoxInterfaceSolver)
113
114
115// Additional properties used by the 2pnc and 2pncmin models:
117DUMUX_DEFINE_PROPERTY(Chemistry)
118DUMUX_DEFINE_PROPERTY(SetMoleFractionsForFirstPhase)
120// Additional properties used by the 3pwateroil model:
122DUMUX_DEFINE_PROPERTY(OnlyGasPhaseCanDisappear)
123
124
125// Properties used by geomechanical models:
127DUMUX_DEFINE_PROPERTY(StressType)
128
129
130// Properties used by the staggered-grid discretization method
132DUMUX_DEFINE_PROPERTY(NumEqCellCenter)
133DUMUX_DEFINE_PROPERTY(NumEqFace)
134DUMUX_DEFINE_PROPERTY(CellCenterSolutionVector)
135DUMUX_DEFINE_PROPERTY(FaceSolutionVector)
136DUMUX_DEFINE_PROPERTY(GridFaceVariables)
137DUMUX_DEFINE_PROPERTY(CellCenterPrimaryVariables)
138DUMUX_DEFINE_PROPERTY(FacePrimaryVariables)
140DUMUX_DEFINE_PROPERTY(StaggeredPrimaryVariables)
141DUMUX_DEFINE_PROPERTY(BaseEpsilon)
142DUMUX_DEFINE_PROPERTY(FaceVariables)
143DUMUX_DEFINE_PROPERTY(BoundaryValues)
145DUMUX_DEFINE_PROPERTY(EnableGridFaceVariablesCache)
146DUMUX_DEFINE_PROPERTY(UpwindSchemeOrder)
147
148
149// Properties used by the mpnc model
151DUMUX_DEFINE_PROPERTY(PressureFormulation)
152
153
154// Properties used by the nonequilibrium model
156DUMUX_DEFINE_PROPERTY(EquilibriumModelTraits)
157DUMUX_DEFINE_PROPERTY(EquilibriumLocalResidual)
158DUMUX_DEFINE_PROPERTY(EquilibriumIndices)
159DUMUX_DEFINE_PROPERTY(EquilibriumIOFields)
160DUMUX_DEFINE_PROPERTY(NumEqBalance)
161DUMUX_DEFINE_PROPERTY(EnableThermalNonEquilibrium)
162DUMUX_DEFINE_PROPERTY(EnableChemicalNonEquilibrium)
163DUMUX_DEFINE_PROPERTY(NumEnergyEqFluid)
164DUMUX_DEFINE_PROPERTY(NumEnergyEqSolid)
165
168
169
170// Properties used by free flow models
172
173DUMUX_DEFINE_PROPERTY(NormalizePressure)
174DUMUX_DEFINE_PROPERTY(ViscousFluxType)
175
176
177// Properties used by multidomain simulations
180
181
182// Basic properties of by old/deprecated sequential models:
183// Do not use this unless you are dealing with such old code
185DUMUX_DEFINE_PROPERTY(TimeManager)
186
187} // end namespace Dumux::Properties
188
189#endif
The interface of the coupling manager for multi domain problems.
Definition: multidomain/couplingmanager.hh:48
Definition: porousmediumflow/nonisothermal/localresidual.hh:24
defines an intersection mapper for mapping of global DOFs assigned to faces which also works for adap...
Definition: intersectionmapper.hh:200
Base class for linear solvers.
Definition: solver.hh:27
A point source base class.
Definition: pointsource.hh:39
The global face variables class for staggered models.
Definition: facesolution.hh:28
Velocity output for implicit (porous media) models.
Definition: io/velocityoutput.hh:29
#define DUMUX_DEFINE_PROPERTY(Prop)
A preprocessor macro to define properties.
Definition: propertysystem.hh:349
The energy balance equation for a porous solid.
Definition: common/properties.hh:26
NusseltFormulation
A container for possible values of the property for selecting which Nusselt parametrization to choose...
Definition: dimensionlessnumbers.hh:31
SherwoodFormulation
A container for possible values of the property for selecting which Sherwood parametrization to choos...
Definition: dimensionlessnumbers.hh:40
The Dumux property system, traits with inheritance.