16#ifndef DUMUX_SST_NC_MODEL_HH
17#define DUMUX_SST_NC_MODEL_HH
51template<
int dimension,
int nComp,
bool useMoles,
int replaceCompEqIdx>
56 static constexpr int numEq() {
return dimension+nComp+2; }
70template<
class TypeTag>
71struct ModelTraits<TypeTag,
TTag::SSTNC>
75 static constexpr int dimension = GridView::dimension;
77 static constexpr int numComponents = FluidSystem::numComponents;
85template<
class TypeTag>
86struct VolumeVariables<TypeTag,
TTag::SSTNC>
93 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
94 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
95 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
96 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
100 template<
class BaseTraits,
class DT>
101 struct NCTraits :
public BaseTraits {
using DiffusionType = DT; };
108template<
class TypeTag>
109struct LocalResidual<TypeTag,
TTag::SSTNC>
118template<
class TypeTag>
119struct FluxVariables<TypeTag,
TTag::SSTNC>
128template<
class TypeTag>
142template<
class TypeTag>
143struct ModelTraits<TypeTag,
TTag::SSTNCNI>
147 static constexpr int dim = GridView::dimension;
149 static constexpr int numComponents = FluidSystem::numComponents;
159template<
class TypeTag>
160struct VolumeVariables<TypeTag,
TTag::SSTNCNI>
167 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
168 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
169 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
170 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
174 template<
class BaseTraits,
class DT>
175 struct NCNITraits :
public BaseTraits {
using DiffusionType = DT; };
182template<
class TypeTag>
183struct LocalResidual<TypeTag,
TTag::SSTNCNI>
192template<
class TypeTag>
193struct FluxVariables<TypeTag,
TTag::SSTNCNI>
202template<
class TypeTag>
203struct IOFields<TypeTag,
TTag::SSTNCNI>
Volume variables for the single-phase, multi-component free-flow model.
Definition freeflow/compositional/volumevariables.hh:28
Volume variables for the isothermal single-phase SST 2-Eq model.
Definition freeflow/rans/twoeq/sst/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 SST (Shear Stress Transport) -Eq. model.
@ sst
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
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
SSTResidualImpl< TypeTag, BaseLocalResidual, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > SSTResidual
The local residual class for the SST model. This is a convenience alias for the actual,...
Definition freeflow/rans/twoeq/sst/localresidual.hh:34
SSTFluxVariablesImpl< TypeTag, BaseFluxVariables, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > SSTFluxVariables
The flux variables class for the SST model. This is a convenience alias for that actual,...
Definition freeflow/rans/twoeq/sst/fluxvariables.hh:32
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
SSTFluxVariables< TypeTag, BaseFluxVariables > type
Definition sstncmodel.hh:124
SSTFluxVariables< TypeTag, BaseFluxVariables > type
Definition sstncmodel.hh:198
FreeflowNCIOFields< SSTIOFields, true > type
Definition sstncmodel.hh:129
FreeflowNonIsothermalIOFields< IsothermalIOFields, true > type
Definition sstncmodel.hh:208
SSTResidual< TypeTag, BaseLocalResidual > type
Definition sstncmodel.hh:114
SSTResidual< TypeTag, BaseLocalResidual > type
Definition sstncmodel.hh:188
SSTNCModelTraits< dimension, numComponents, useMoles, replaceCompEqIdx > type
Definition sstncmodel.hh:81
FreeflowNIModelTraits< IsothermalModelTraits > type
Definition sstncmodel.hh:155
Traits for the SST multi-component modelstates some specifics of the isothermal multi-component sst m...
Definition sstncmodel.hh:53
RANSTwoEqIndices< dimension, nComp > Indices
the indices
Definition sstncmodel.hh:66
static constexpr int numEq()
Definition sstncmodel.hh:56
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition sstncmodel.hh:62
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition sstncmodel.hh:59
The type tags for the single-phase, multi-component isothermal SST model.
Definition sstncmodel.hh:35
std::tuple< NavierStokesNC > InheritsFrom
Definition sstncmodel.hh:35
The type tags for the single-phase, multi-component non-isothermal SST models.
Definition sstncmodel.hh:138
std::tuple< SSTNC, NavierStokesNCNI > InheritsFrom
Definition sstncmodel.hh:138
SSTVolumeVariables< NCTraits< BaseTraits, DT >, NCVolVars > type
Definition sstncmodel.hh:104
SSTVolumeVariables< NCNITraits< BaseTraits, DT >, NCNIVolVars > type
Definition sstncmodel.hh:178
The common indices for isothermal two-equation RANS models.
Definition freeflow/rans/twoeq/indices.hh:29
Adds I/O fields for the Reynolds-Averaged Navier-Stokes model.
Definition freeflow/rans/twoeq/sst/iofields.hh:24