3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
24
25#ifndef DUMUX_POROUSMEDIUM_FLOW_PROPERTIES_HH
26#define DUMUX_POROUSMEDIUM_FLOW_PROPERTIES_HH
27
31
37
41
45
46namespace Dumux {
47namespace Properties {
48
50// Create new type tags
51namespace TTag {
52struct PorousMediumFlow { using InheritsFrom = std::tuple<ModelProperties>; };
53} // end namespace TTag
54
56template<class TypeTag>
57struct FluxVariables<TypeTag, TTag::PorousMediumFlow> { using type = PorousMediumFluxVariables<TypeTag>; };
58
60template<class TypeTag>
61struct FluxVariablesCache<TypeTag, TTag::PorousMediumFlow> { using type = PorousMediumFluxVariablesCache<TypeTag>; };
62
65template<class TypeTag>
67
69template<class TypeTag>
70struct AdvectionType<TypeTag, TTag::PorousMediumFlow> { using type = DarcysLaw<TypeTag>; };
71
73template<class TypeTag>
74struct MolecularDiffusionType<TypeTag, TTag::PorousMediumFlow> { using type = FicksLaw<TypeTag>; };
75
77template<class TypeTag>
78struct HeatConductionType<TypeTag, TTag::PorousMediumFlow> { using type = FouriersLaw<TypeTag>; };
79
81template<class TypeTag>
82struct SolutionDependentAdvection<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
83template<class TypeTag>
84struct SolutionDependentMolecularDiffusion<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
85template<class TypeTag>
86struct SolutionDependentHeatConduction<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = true; };
87
89template<class TypeTag>
90struct EnergyLocalResidual<TypeTag, TTag::PorousMediumFlow> { using type = Dumux::EnergyLocalResidual<TypeTag> ; };
91
93template<class TypeTag>
99
100template<class TypeTag>
101struct EnableThermalNonEquilibrium<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
102
104template<class TypeTag>
105struct EnableBoxInterfaceSolver<TypeTag, TTag::PorousMediumFlow> { static constexpr bool value = false; };
106
108template<class TypeTag>
109struct SolidState<TypeTag, TTag::PorousMediumFlow>
110{
111private:
114public:
116};
117
118// per default the solid system is inert with one constant component
119template<class TypeTag>
126
127} // namespace Properties
128} // namespace Dumux
129
130 #endif
Setting constant fluid properties via the input file.
Represents all relevant thermodynamic quantities of a inert solid system.
The simplest solid phase consisting of a single solid component.
A helper class to fill the flux variables cache.
PorousMediumFluxVariablesCacheFillerImplementation< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > PorousMediumFluxVariablesCacheFiller
The flux variables cache filler class for porous media.
Definition fluxvariablescachefiller.hh:48
PorousMediumFluxVariablesCacheImplementation< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > PorousMediumFluxVariablesCache
The flux variables cache classes for porous media.
Definition porousmediumflow/fluxvariablescache.hh:53
FouriersLawImplementation< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > FouriersLaw
Evaluates the heat conduction flux according to Fouriers's law.
Definition flux/fourierslaw.hh:44
DarcysLawImplementation< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > DarcysLaw
Evaluates the normal component of the Darcy velocity on a (sub)control volume face.
Definition flux/darcyslaw.hh:47
FicksLawImplementation< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod, referenceSystem > FicksLaw
Evaluates the diffusive mass flux according to Fick's law.
Definition flux/fickslaw.hh:44
OneCSolid< Scalar, ComponentT, true > InertSolidPhase
A solid phase consisting of a single inert solid component.
Definition 1csolid.hh:137
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
EnergyLocalResidualImplementation< TypeTag, GetPropType< TypeTag, Properties::ModelTraits >::enableEnergyBalance()> EnergyLocalResidual
Definition porousmediumflow/nonisothermal/localresidual.hh:38
Definition common/properties.hh:48
Type tag for numeric models.
Definition grid.hh:36
Container storing the different types of flux variables.
Definition common/properties.hh:124
Stores data associated with flux vars.
Definition common/properties.hh:126
The engine behind the global flux cache (how to fill caches for the stencil).
Definition common/properties.hh:128
The local residual of the energy equation.
Definition common/properties.hh:150
The type for the calculation the advective fluxes.
Definition common/properties.hh:152
specifies if the parameters for the advective fluxes depend on the solution
Definition common/properties.hh:154
The type for the calculation of the molecular diffusion fluxes.
Definition common/properties.hh:156
specifies if the parameters for the diffusive fluxes depend on the solution
Definition common/properties.hh:158
The type for the calculation of the heat conduction fluxes.
Definition common/properties.hh:160
specifies if the parameters for the heat conduction fluxes depend on the solution
Definition common/properties.hh:162
The type of the solid system to use.
Definition common/properties.hh:171
The type of the solid state to use.
Definition common/properties.hh:173
specifies the velocity calculation module to be used
Definition common/properties.hh:179
Definition common/properties.hh:188
Definition common/properties.hh:272
A component which returns run time specified values for all fluid properties.
Definition constant.hh:58
Represents all relevant thermodynamic quantities of a inert solid system.
Definition inertsolidstate.hh:35
The porous medium flux variables class that computes advective / convective, molecular diffusive and ...
Definition porousmediumflow/fluxvariables.hh:53
Definition porousmediumflow/properties.hh:52
std::tuple< ModelProperties > InheritsFrom
Definition porousmediumflow/properties.hh:52
PorousMediumFluxVariables< TypeTag > type
Definition porousmediumflow/properties.hh:57
PorousMediumFluxVariablesCache< TypeTag > type
Definition porousmediumflow/properties.hh:61
PorousMediumFluxVariablesCacheFiller< TypeTag > type
Definition porousmediumflow/properties.hh:66
DarcysLaw< TypeTag > type
Definition porousmediumflow/properties.hh:70
FicksLaw< TypeTag > type
Definition porousmediumflow/properties.hh:74
FouriersLaw< TypeTag > type
Definition porousmediumflow/properties.hh:78
static constexpr bool value
Definition porousmediumflow/properties.hh:82
static constexpr bool value
Definition porousmediumflow/properties.hh:84
static constexpr bool value
Definition porousmediumflow/properties.hh:86
Dumux::EnergyLocalResidual< TypeTag > type
Definition porousmediumflow/properties.hh:90
PorousMediumFlowVelocityOutput< GetPropType< TypeTag, Properties::GridVariables >, GetPropType< TypeTag, Properties::FluxVariables > > type
Definition porousmediumflow/properties.hh:96
static constexpr bool value
Definition porousmediumflow/properties.hh:101
static constexpr bool value
Definition porousmediumflow/properties.hh:105
InertSolidState< Scalar, SolidSystem > type
Definition porousmediumflow/properties.hh:115
SolidSystems::InertSolidPhase< Scalar, InertComponent > type
Definition porousmediumflow/properties.hh:124
Components::Constant< 1, Scalar > InertComponent
Definition porousmediumflow/properties.hh:123
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition porousmediumflow/properties.hh:122
Velocity output policy for implicit (porous media) models.
Definition porousmediumflow/velocityoutput.hh:46
Declares all properties used in Dumux.
Defines a type tags and some fundamental properties for all models.
Base class for the flux variables.
Velocity output for porous media models.
Darcy's law specialized for different discretization schemes This file contains the data which is req...
Fick's law specilized for different discretization schemes. This file contains the data which is requ...
Fourier's law specialized for different discretization schemes This file contains the data which is r...
Base class for the flux variables in porous medium models.
Element-wise calculation of the local residual for non-isothermal fully implicit models.
A VTK output module to simplify writing dumux simulation data to VTK format.