version 3.11-dev
Loading...
Searching...
No Matches
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-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
15
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:
33DUMUX_DEFINE_PROPERTY(PrimaryVariables)
34DUMUX_DEFINE_PROPERTY(ModelTraits)
35DUMUX_DEFINE_PROPERTY(BaseModelTraits)
38DUMUX_DEFINE_PROPERTY(PointSourceHelper)
39DUMUX_DEFINE_PROPERTY(IOFields)
40DUMUX_DEFINE_PROPERTY(BaseLocalResidual)
41DUMUX_DEFINE_PROPERTY(JacobianMatrix)
42DUMUX_DEFINE_PROPERTY(SolutionVector)
43
44
45DUMUX_DEFINE_PROPERTY(LocalResidual)
46
47
48DUMUX_DEFINE_PROPERTY(Variables)
49
50
51// Basic properties regarding balance equations
53DUMUX_DEFINE_PROPERTY(UseMoles)
54DUMUX_DEFINE_PROPERTY(ReplaceCompEqIdx)
55DUMUX_DEFINE_PROPERTY(BalanceEqOpts)
56DUMUX_DEFINE_PROPERTY(EnableCompositionalDispersion)
57DUMUX_DEFINE_PROPERTY(EnableThermalDispersion)
58
59
60// Properties used by finite volume schemes:
62DUMUX_DEFINE_PROPERTY(ElementBoundaryTypes)
63DUMUX_DEFINE_PROPERTY(GridGeometry)
64DUMUX_DEFINE_PROPERTY(GridVariables)
65DUMUX_DEFINE_PROPERTY(VolumeVariables)
66DUMUX_DEFINE_PROPERTY(GridVolumeVariables)
67DUMUX_DEFINE_PROPERTY(FluxVariables)
68DUMUX_DEFINE_PROPERTY(FluxVariablesCache)
69DUMUX_DEFINE_PROPERTY(FluxVariablesCacheFiller)
70DUMUX_DEFINE_PROPERTY(GridFluxVariablesCache)
71
72DUMUX_DEFINE_PROPERTY(EnableGridGeometryCache)
73DUMUX_DEFINE_PROPERTY(EnableGridVolumeVariablesCache)
74DUMUX_DEFINE_PROPERTY(EnableGridFluxVariablesCache)
75
76
77// Additional properties used by the cell-centered mpfa schemes:
79DUMUX_DEFINE_PROPERTY(PrimaryInteractionVolume)
80DUMUX_DEFINE_PROPERTY(SecondaryInteractionVolume)
81DUMUX_DEFINE_PROPERTY(DualGridNodalIndexSet)
82
83
84// Properties used by models involving flow in porous media:
87DUMUX_DEFINE_PROPERTY(AdvectionType)
88DUMUX_DEFINE_PROPERTY(SolutionDependentAdvection)
89DUMUX_DEFINE_PROPERTY(MolecularDiffusionType)
90DUMUX_DEFINE_PROPERTY(DispersionFluxType)
91DUMUX_DEFINE_PROPERTY(SolutionDependentMolecularDiffusion)
92DUMUX_DEFINE_PROPERTY(HeatConductionType)
93DUMUX_DEFINE_PROPERTY(CompositionalDispersionModel)
94DUMUX_DEFINE_PROPERTY(ThermalDispersionModel)
95DUMUX_DEFINE_PROPERTY(SolutionDependentHeatConduction)
96
97DUMUX_DEFINE_PROPERTY(SpatialParams)
98DUMUX_DEFINE_PROPERTY(FluidSystem)
99DUMUX_DEFINE_PROPERTY(FluidState)
100DUMUX_DEFINE_PROPERTY(SolidSystem)
101DUMUX_DEFINE_PROPERTY(SolidState)
102DUMUX_DEFINE_PROPERTY(EffectiveDiffusivityModel)
103DUMUX_DEFINE_PROPERTY(ThermalConductivityModel)
105DUMUX_DEFINE_PROPERTY(Formulation)
106// TODO: is this useful? -> everything is a constraint solver just a different type
107DUMUX_DEFINE_PROPERTY(UseConstraintSolver)
108
109// When using the box method in a multi-phase context, an interface solver might be necessary
110DUMUX_DEFINE_PROPERTY(EnableBoxInterfaceSolver)
111
112
113// Additional properties used by the 2pnc and 2pncmin models:
115DUMUX_DEFINE_PROPERTY(Chemistry)
116DUMUX_DEFINE_PROPERTY(SetMoleFractionsForFirstPhase)
118// Additional properties used by the 3pwateroil model:
120DUMUX_DEFINE_PROPERTY(OnlyGasPhaseCanDisappear)
121
122
123// Properties used by geomechanical models:
125DUMUX_DEFINE_PROPERTY(StressType)
126
127
128// Properties used by the staggered-grid discretization method
130DUMUX_DEFINE_PROPERTY(NumEqCellCenter)
131DUMUX_DEFINE_PROPERTY(NumEqFace)
132DUMUX_DEFINE_PROPERTY(CellCenterSolutionVector)
133DUMUX_DEFINE_PROPERTY(FaceSolutionVector)
134DUMUX_DEFINE_PROPERTY(GridFaceVariables)
135DUMUX_DEFINE_PROPERTY(CellCenterPrimaryVariables)
136DUMUX_DEFINE_PROPERTY(FacePrimaryVariables)
138DUMUX_DEFINE_PROPERTY(StaggeredPrimaryVariables)
139DUMUX_DEFINE_PROPERTY(BaseEpsilon)
140DUMUX_DEFINE_PROPERTY(FaceVariables)
141DUMUX_DEFINE_PROPERTY(BoundaryValues)
142DUMUX_DEFINE_PROPERTY(StaggeredFaceSolution)
143DUMUX_DEFINE_PROPERTY(EnableGridFaceVariablesCache)
144DUMUX_DEFINE_PROPERTY(UpwindSchemeOrder)
145
146
147// Properties used by the mpnc model
149DUMUX_DEFINE_PROPERTY(PressureFormulation)
150
151
152// Properties used by the nonequilibrium model
154DUMUX_DEFINE_PROPERTY(EquilibriumModelTraits)
155DUMUX_DEFINE_PROPERTY(EquilibriumLocalResidual)
156DUMUX_DEFINE_PROPERTY(EquilibriumIndices)
157DUMUX_DEFINE_PROPERTY(EquilibriumIOFields)
158DUMUX_DEFINE_PROPERTY(NumEqBalance)
159DUMUX_DEFINE_PROPERTY(EnableThermalNonEquilibrium)
160DUMUX_DEFINE_PROPERTY(EnableChemicalNonEquilibrium)
161DUMUX_DEFINE_PROPERTY(NumEnergyEqFluid)
162DUMUX_DEFINE_PROPERTY(NumEnergyEqSolid)
163
166
167
168// Properties used by free flow models
170
171DUMUX_DEFINE_PROPERTY(NormalizePressure)
172DUMUX_DEFINE_PROPERTY(ViscousFluxType)
173
174
175// Properties used by multidomain simulations
178
179
180// Basic properties of by old/deprecated sequential models:
181// Do not use this unless you are dealing with such old code
183DUMUX_DEFINE_PROPERTY(TimeManager)
184
185} // end namespace Dumux::Properties
186
188
196template<class TypeTag, class MyTypeTag>
198
199} // end namespace Dumux::Properties::Transition
200
201namespace Dumux::Properties {
202
203#ifndef DOXYGEN
204template<class ...Args>
205struct PropertyAlias<Transition::UseVariables<Args...>>
206{
207 template <class MyTypeTag> using Alias = typename MyTypeTag::UseVariables;
208 template <class MyTypeTag, class TypeTag> using TemplateAlias = typename MyTypeTag::template UseVariables<TypeTag>;
209};
210#endif // DOXYGEN
211
212} // end namespace Dumux::Properties
213
214#endif
The interface of the coupling manager for multi domain problems.
Definition multidomain/couplingmanager.hh:37
defines an intersection mapper for mapping of global DOFs assigned to faces which also works for adap...
Definition intersectionmapper.hh:200
A point source base class.
Definition pointsource.hh:40
Velocity output for implicit (porous media) models.
Definition io/velocityoutput.hh:27
#define DUMUX_DEFINE_PROPERTY(Prop)
A preprocessor macro to define properties.
Definition propertysystem.hh:349
Definition gridcapabilities.hh:19
Definition common/properties.hh:187
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
EnergyLocalResidualImplementation< TypeTag, GetPropType< TypeTag, Properties::ModelTraits >::enableEnergyBalance()> EnergyLocalResidual
Definition porousmediumflow/nonisothermal/localresidual.hh:28
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.
a tag to specify a direct alias for property extraction
Definition propertysystem.hh:33
Whether the box, PQ1-bubble and face-centered diamond schemes assemble with the variables per local d...
Definition common/properties.hh:197
UndefinedProperty type
Definition common/properties.hh:197
a tag to mark properties as undefined
Definition propertysystem.hh:27