28#ifndef DUMUX_ONEEQ_NC_MODEL_HH
29#define DUMUX_ONEEQ_NC_MODEL_HH
68template<
int dimension,
int nComp,
bool useMoles,
int replaceCompEqIdx>
73 static constexpr int numEq() {
return dimension+nComp+1; }
87template<
class TypeTag>
92 static constexpr int dimension = GridView::dimension;
94 static constexpr int numComponents = FluidSystem::numComponents;
102template<
class TypeTag>
110 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
111 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
112 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
113 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
117 template<
class BaseTraits,
class DT>
118 struct NCTraits :
public BaseTraits {
using DiffusionType = DT; };
126template<
class TypeTag>
136template<
class TypeTag>
146template<
class TypeTag>
160template<
class TypeTag>
165 static constexpr int dim = GridView::dimension;
167 static constexpr int numComponents = FluidSystem::numComponents;
176template<
class TypeTag>
184 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
185 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
186 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
187 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
191 template<
class BaseTraits,
class DT>
192 struct NCNITraits :
public BaseTraits {
using DiffusionType = DT; };
199template<
class TypeTag>
209template<
class TypeTag>
219template<
class TypeTag>
A single-phase, multi-component free-flow model.
@ oneeq
Definition turbulencemodel.hh:38
OneEqFluxVariablesImpl< TypeTag, BaseFluxVariables, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > OneEqFluxVariables
The flux variables class for the one-equation turbulence model by Spalart-Allmaras....
Definition freeflow/rans/oneeq/fluxvariables.hh:45
OneEqResidualImpl< TypeTag, BaseLocalResidual, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > OneEqResidual
The local residual class for the one-equation turbulence model by Spalart-Allmaras This is a convenie...
Definition freeflow/rans/oneeq/localresidual.hh:46
FreeflowNCResidualImpl< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > FreeflowNCResidual
The local residual class for the multi-component free-flow model (balance equations)....
Definition freeflow/compositional/localresidual.hh:46
FreeflowNCFluxVariablesImpl< TypeTag, GetPropType< TypeTag, Properties::GridGeometry >::discMethod > FreeflowNCFluxVariables
The flux variables class for the multi-component free-flow model. This is a convenience alias for tha...
Definition freeflow/compositional/fluxvariables.hh:44
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:153
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
Definition common/properties.hh:48
Type tag for numeric models.
Definition grid.hh:36
Traits class encapsulating model specifications.
Definition common/properties.hh:66
A class helping models to define input and output fields.
Definition common/properties.hh:76
Definition common/properties.hh:89
The secondary variables within a sub-control volume.
Definition common/properties.hh:118
Container storing the different types of flux variables.
Definition common/properties.hh:124
Adds I/O fields specific to the FreeflowNC model.
Definition freeflow/compositional/iofields.hh:39
Traits for the multi-component free-flow model.
Definition navierstokesncmodel.hh:88
The type tags for the single-phase, multi-component isothermal one-equation model.
Definition oneeqncmodel.hh:52
std::tuple< NavierStokesNC > InheritsFrom
Definition oneeqncmodel.hh:52
Traits for the one-equation multi-component modelstates some specifics of the isothermal multi-compon...
Definition oneeqncmodel.hh:70
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition oneeqncmodel.hh:79
static constexpr int numEq()
Definition oneeqncmodel.hh:73
OneEqIndices< dimension, nComp > Indices
the indices
Definition oneeqncmodel.hh:83
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition oneeqncmodel.hh:76
OneEqNCModelTraits< dimension, numComponents, useMoles, replaceCompEqIdx > type
Definition oneeqncmodel.hh:98
OneEqVolumeVariables< NCTraits< BaseTraits, DT >, NCVolVars > type
Definition oneeqncmodel.hh:122
OneEqResidual< TypeTag, BaseLocalResidual > type
Definition oneeqncmodel.hh:132
OneEqFluxVariables< TypeTag, BaseFluxVariables > type
Definition oneeqncmodel.hh:142
FreeflowNCIOFields< OneEqIOFields, true > type
Definition oneeqncmodel.hh:147
The type tags for the single-phase, multi-component non-isothermal one-equation models.
Definition oneeqncmodel.hh:156
std::tuple< OneEqNC, NavierStokesNCNI > InheritsFrom
Definition oneeqncmodel.hh:156
FreeflowNIModelTraits< IsothermalModelTraits > type
Definition oneeqncmodel.hh:172
OneEqVolumeVariables< NCNITraits< BaseTraits, DT >, NCNIVolVars > type
Definition oneeqncmodel.hh:195
OneEqResidual< TypeTag, BaseLocalResidual > type
Definition oneeqncmodel.hh:205
OneEqFluxVariables< TypeTag, BaseFluxVariables > type
Definition oneeqncmodel.hh:215
FreeflowNonIsothermalIOFields< IsothermalIOFields, true > type
Definition oneeqncmodel.hh:225
Volume variables for the single-phase, multi-component free-flow model.
Definition freeflow/compositional/volumevariables.hh:40
Traits class for the volume variables of the Navier-Stokes model.
Definition freeflow/navierstokes/model.hh:125
Adds I/O fields specific to non-isothermal free-flow models.
Definition freeflow/nonisothermal/iofields.hh:38
Specifies a number properties of non-isothermal free-flow flow models based on the specifics of a giv...
Definition freeflow/nonisothermal/model.hh:59
The common indices for the isothermal one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/indices.hh:41
Adds I/O fields for the one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/iofields.hh:36
Volume variables for the isothermal single-phase one-equation turbulence model by Spalart-Allmaras.
Definition freeflow/rans/oneeq/volumevariables.hh:41
Declares all properties used in Dumux.
A single-phase, isothermal one-equation turbulence model by Spalart-Allmaras.
Adds I/O fields specific to the FreeflowNC model.
Adds I/O fields specific to non-isothermal free-flow models.