version 3.10.0
Loading...
Searching...
No Matches
porousmediumflow/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//
12
13#ifndef DUMUX_POROUSMEDIUM_FLOW_PROPERTIES_HH
14#define DUMUX_POROUSMEDIUM_FLOW_PROPERTIES_HH
15
19
25
30
35
36namespace Dumux {
37namespace Properties {
38
40// Create new type tags
41namespace TTag {
42struct PorousMediumFlow { using InheritsFrom = std::tuple<ModelProperties>; };
43} // end namespace TTag
44
46template<class TypeTag>
47struct FluxVariables<TypeTag, TTag::PorousMediumFlow> { using type = PorousMediumFluxVariables<TypeTag>; };
48
50template<class TypeTag>
51struct FluxVariablesCache<TypeTag, TTag::PorousMediumFlow> { using type = PorousMediumFluxVariablesCache<TypeTag>; };
52
55template<class TypeTag>
56struct FluxVariablesCacheFiller<TypeTag, TTag::PorousMediumFlow> { using type = PorousMediumFluxVariablesCacheFiller<TypeTag>; };
57
59template<class TypeTag>
60struct AdvectionType<TypeTag, TTag::PorousMediumFlow> { using type = DarcysLaw<TypeTag>; };
61
63template<class TypeTag>
64struct MolecularDiffusionType<TypeTag, TTag::PorousMediumFlow> { using type = FicksLaw<TypeTag>; };
65
67template<class TypeTag>
68struct EnableCompositionalDispersion<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
69
71template<class TypeTag>
72struct EnableThermalDispersion<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
73
75template<class TypeTag>
76struct DispersionFluxType<TypeTag, TTag::PorousMediumFlow> { using type = DiffusiveDispersionFlux<TypeTag>; };
77
79template<class TypeTag>
80struct CompositionalDispersionModel<TypeTag, TTag::PorousMediumFlow> { using type = ScheideggersDispersionTensor<TypeTag>; };
81
83template<class TypeTag>
84struct ThermalDispersionModel<TypeTag, TTag::PorousMediumFlow>
86
88template<class TypeTag>
89struct HeatConductionType<TypeTag, TTag::PorousMediumFlow> { using type = FouriersLaw<TypeTag>; };
90
92template<class TypeTag>
93struct SolutionDependentAdvection<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
94template<class TypeTag>
95struct SolutionDependentMolecularDiffusion<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
96template<class TypeTag>
97struct SolutionDependentHeatConduction<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
98
100template<class TypeTag>
101struct EnergyLocalResidual<TypeTag, TTag::PorousMediumFlow> { using type = Dumux::EnergyLocalResidual<TypeTag> ; };
102
104template<class TypeTag>
110
111template<class TypeTag>
112struct EnableThermalNonEquilibrium<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
113
115template<class TypeTag>
116struct EnableBoxInterfaceSolver<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
117
119template<class TypeTag>
120struct SolidState<TypeTag, TTag::PorousMediumFlow>
121{
122private:
125public:
127};
128
129// per default the solid system is inert with one constant component
130template<class TypeTag>
137
138} // namespace Properties
139} // namespace Dumux
140
141 #endif
The simplest solid phase consisting of a single solid component.
A component which returns run time specified values for all fluid properties.
Definition constant.hh:48
Represents all relevant thermodynamic quantities of a inert solid system.
Definition inertsolidstate.hh:23
Velocity output policy for implicit (porous media) models.
Definition porousmediumflow/velocityoutput.hh:33
The porous medium flux variables class that computes advective / convective, molecular diffusive and ...
Definition porousmediumflow/fluxvariables.hh:41
Scheidegger's dispersion tensor.
Definition scheidegger.hh:59
Velocity output for implicit (porous media) models.
Definition io/velocityoutput.hh:29
Defines a type tags and some fundamental properties for all models.
Defines all properties used in Dumux.
Setting constant fluid properties via the input file.
Dispersion flux for different discretization schemes.
Advective fluxes according to Darcy's law.
Diffusive mass flux according to Fick's law.
Diffusive heat flux according to Fourier's law.
A helper class to fill the flux variables cache.
FicksLawImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod, referenceSystem > FicksLaw
Evaluates the diffusive mass flux according to Fick's law.
Definition fickslaw_fwd.hh:33
DispersionFluxImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod, referenceSystem > DiffusiveDispersionFlux
Evaluates the dispersive flux.
Definition dispersionflux_fwd.hh:30
FouriersLawImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > FouriersLaw
Evaluates the heat conduction flux according to Fouriers's law.
Definition fourierslaw_fwd.hh:31
DarcysLawImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > DarcysLaw
Evaluates the normal component of the Darcy velocity on a (sub)control volume face.
Definition darcyslaw_fwd.hh:34
PorousMediumFluxVariablesCacheImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > PorousMediumFluxVariablesCache
The flux variables cache classes for porous media.
Definition porousmediumflow/fluxvariablescache.hh:41
PorousMediumFluxVariablesCacheFillerImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > PorousMediumFluxVariablesCacheFiller
The flux variables cache filler class for porous media.
Definition fluxvariablescachefiller.hh:36
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
OneCSolid< Scalar, ComponentT, true > InertSolidPhase
A solid phase consisting of a single inert solid component.
Definition 1csolid.hh:125
Represents all relevant thermodynamic quantities of a inert solid system.
A VTK output module to simplify writing dumux simulation data to VTK format.
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
Definition adapt.hh:17
EnergyLocalResidualImplementation< TypeTag, GetPropType< TypeTag, Properties::ModelTraits >::enableEnergyBalance()> EnergyLocalResidual
Definition porousmediumflow/nonisothermal/localresidual.hh:28
Base class for the flux variables in porous medium models.
Base class for the flux variables.
Element-wise calculation of the local residual for non-isothermal fully implicit models....
Velocity output for porous media models.
Scheidegger's dispersion tensor.
DarcysLaw< TypeTag > type
Definition porousmediumflow/properties.hh:60
ScheideggersDispersionTensor< TypeTag > type
Definition porousmediumflow/properties.hh:80
DiffusiveDispersionFlux< TypeTag > type
Definition porousmediumflow/properties.hh:76
static constexpr bool value
Definition porousmediumflow/properties.hh:116
static constexpr bool value
Definition porousmediumflow/properties.hh:68
static constexpr bool value
Definition porousmediumflow/properties.hh:72
static constexpr bool value
Definition porousmediumflow/properties.hh:112
Dumux::EnergyLocalResidual< TypeTag > type
Definition porousmediumflow/properties.hh:101
PorousMediumFluxVariables< TypeTag > type
Definition porousmediumflow/properties.hh:47
PorousMediumFluxVariablesCache< TypeTag > type
Definition porousmediumflow/properties.hh:51
PorousMediumFluxVariablesCacheFiller< TypeTag > type
Definition porousmediumflow/properties.hh:56
FouriersLaw< TypeTag > type
Definition porousmediumflow/properties.hh:89
FicksLaw< TypeTag > type
Definition porousmediumflow/properties.hh:64
InertSolidState< Scalar, SolidSystem > type
Definition porousmediumflow/properties.hh:126
SolidSystems::InertSolidPhase< Scalar, InertComponent > type
Definition porousmediumflow/properties.hh:135
Components::Constant< 1, Scalar > InertComponent
Definition porousmediumflow/properties.hh:134
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition porousmediumflow/properties.hh:133
static constexpr bool value
Definition porousmediumflow/properties.hh:93
static constexpr bool value
Definition porousmediumflow/properties.hh:97
static constexpr bool value
Definition porousmediumflow/properties.hh:95
Definition porousmediumflow/properties.hh:42
std::tuple< ModelProperties > InheritsFrom
Definition porousmediumflow/properties.hh:42
GetPropType< TypeTag, Properties::CompositionalDispersionModel > type
Definition porousmediumflow/properties.hh:85
PorousMediumFlowVelocityOutput< GetPropType< TypeTag, Properties::GridVariables >, GetPropType< TypeTag, Properties::FluxVariables > > type
Definition porousmediumflow/properties.hh:107