16#ifndef DUMUX_ONEEQ_NC_MODEL_HH
17#define DUMUX_ONEEQ_NC_MODEL_HH
56template<
int dimension,
int nComp,
bool useMoles,
int replaceCompEqIdx>
61 static constexpr int numEq() {
return dimension+nComp+1; }
75template<
class TypeTag>
76struct ModelTraits<TypeTag,
TTag::OneEqNC>
80 static constexpr int dimension = GridView::dimension;
82 static constexpr int numComponents = FluidSystem::numComponents;
90template<
class TypeTag>
91struct VolumeVariables<TypeTag,
TTag::OneEqNC>
98 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
99 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
100 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
101 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
105 template<
class BaseTraits,
class DT>
106 struct NCTraits :
public BaseTraits {
using DiffusionType = DT; };
114template<
class TypeTag>
115struct LocalResidual<TypeTag,
TTag::OneEqNC>
124template<
class TypeTag>
125struct FluxVariables<TypeTag,
TTag::OneEqNC>
134template<
class TypeTag>
148template<
class TypeTag>
149struct ModelTraits<TypeTag,
TTag::OneEqNCNI>
153 static constexpr int dim = GridView::dimension;
155 static constexpr int numComponents = FluidSystem::numComponents;
164template<
class TypeTag>
165struct VolumeVariables<TypeTag,
TTag::OneEqNCNI>
172 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
173 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
174 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
175 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
179 template<
class BaseTraits,
class DT>
180 struct NCNITraits :
public BaseTraits {
using DiffusionType = DT; };
187template<
class TypeTag>
188struct LocalResidual<TypeTag,
TTag::OneEqNCNI>
197template<
class TypeTag>
198struct FluxVariables<TypeTag,
TTag::OneEqNCNI>
207template<
class TypeTag>
208struct IOFields<TypeTag,
TTag::OneEqNCNI>
Volume variables for the single-phase, multi-component free-flow model.
Definition freeflow/compositional/volumevariables.hh:28
Volume variables for the isothermal single-phase one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/volumevariables.hh:30
Defines all properties used in Dumux.
Adds I/O fields specific to the FreeflowNC model.
Adds I/O fields specific to non-isothermal free-flow models.
A single-phase, isothermal one-equation turbulence model by Spalart-Allmaras.
@ oneeq
Definition turbulencemodel.hh:27
FreeflowNCFluxVariablesImpl< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > FreeflowNCFluxVariables
The flux variables class for the multi-component free-flow model. This is a convenience alias for tha...
Definition freeflow/compositional/fluxvariables.hh:32
FreeflowNCResidualImpl< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > FreeflowNCResidual
The local residual class for the multi-component free-flow model (balance equations)....
Definition freeflow/compositional/localresidual.hh:34
OneEqResidualImpl< TypeTag, BaseLocalResidual, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > OneEqResidual
The local residual class for the one-equation turbulence model by Spalart-Allmaras This is a convenie...
Definition freeflow/rans/oneeq/localresidual.hh:34
OneEqFluxVariablesImpl< TypeTag, BaseFluxVariables, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > OneEqFluxVariables
The flux variables class for the one-equation turbulence model by Spalart-Allmaras....
Definition freeflow/rans/oneeq/fluxvariables.hh:33
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:310
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
A single-phase, multi-component free-flow model.
Adds I/O fields specific to the FreeflowNC model.
Definition freeflow/compositional/iofields.hh:26
Specifies a number properties of non-isothermal free-flow flow models based on the specifics of a giv...
Definition freeflow/nonisothermal/model.hh:47
Adds I/O fields specific to non-isothermal free-flow models.
Definition freeflow/nonisothermal/iofields.hh:26
Traits for the multi-component free-flow model.
Definition navierstokesncmodel.hh:76
Traits class for the volume variables of the Navier-Stokes model.
Definition freeflow/navierstokes/model.hh:111
Adds I/O fields for the one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/iofields.hh:24
The common indices for the isothermal one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/indices.hh:29
OneEqFluxVariables< TypeTag, BaseFluxVariables > type
Definition oneeqncmodel.hh:130
OneEqFluxVariables< TypeTag, BaseFluxVariables > type
Definition oneeqncmodel.hh:203
FreeflowNCIOFields< OneEqIOFields, true > type
Definition oneeqncmodel.hh:135
FreeflowNonIsothermalIOFields< IsothermalIOFields, true > type
Definition oneeqncmodel.hh:213
OneEqResidual< TypeTag, BaseLocalResidual > type
Definition oneeqncmodel.hh:120
OneEqResidual< TypeTag, BaseLocalResidual > type
Definition oneeqncmodel.hh:193
OneEqNCModelTraits< dimension, numComponents, useMoles, replaceCompEqIdx > type
Definition oneeqncmodel.hh:86
FreeflowNIModelTraits< IsothermalModelTraits > type
Definition oneeqncmodel.hh:160
Traits for the one-equation multi-component modelstates some specifics of the isothermal multi-compon...
Definition oneeqncmodel.hh:58
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition oneeqncmodel.hh:67
static constexpr int numEq()
Definition oneeqncmodel.hh:61
OneEqIndices< dimension, nComp > Indices
the indices
Definition oneeqncmodel.hh:71
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition oneeqncmodel.hh:64
The type tags for the single-phase, multi-component isothermal one-equation model.
Definition oneeqncmodel.hh:40
std::tuple< NavierStokesNC > InheritsFrom
Definition oneeqncmodel.hh:40
The type tags for the single-phase, multi-component non-isothermal one-equation models.
Definition oneeqncmodel.hh:144
std::tuple< OneEqNC, NavierStokesNCNI > InheritsFrom
Definition oneeqncmodel.hh:144
OneEqVolumeVariables< NCTraits< BaseTraits, DT >, NCVolVars > type
Definition oneeqncmodel.hh:110
OneEqVolumeVariables< NCNITraits< BaseTraits, DT >, NCNIVolVars > type
Definition oneeqncmodel.hh:183