28#ifndef DUMUX_ZEROEQ_NC_MODEL_HH
29#define DUMUX_ZEROEQ_NC_MODEL_HH
64template<
int dimension,
int nComp,
bool useM,
int replaceCompEqIdx>
76template<
class TypeTag>
81 static constexpr int dim = GridView::dimension;
83 static constexpr int numComponents = FluidSystem::numComponents;
84 static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
85 static constexpr int replaceCompEqIdx = getPropValue<TypeTag, Properties::ReplaceCompEqIdx>();
91template<
class TypeTag>
99 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
100 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
101 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
102 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
106 template<
class BaseTraits,
class DT>
107 struct NCTraits :
public BaseTraits {
using DiffusionType = DT; };
115template<
class TypeTag>
129template<
class TypeTag>
134 static constexpr int dim = GridView::dimension;
136 static constexpr int numComponents = FluidSystem::numComponents;
137 static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
138 static constexpr int replaceCompEqIdx = getPropValue<TypeTag, Properties::ReplaceCompEqIdx>();
145template<
class TypeTag>
153 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
154 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
155 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
156 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
160 template<
class BaseTraits,
class DT>
161 struct NCNITraits :
public BaseTraits {
using DiffusionType = DT; };
168template<
class TypeTag>
A single-phase, multi-component free-flow model.
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
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
The secondary variables within a sub-control volume.
Definition: common/properties.hh:118
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
Volume variables for the single-phase, multi-component free-flow model.
Definition: freeflow/compositional/volumevariables.hh:40
The type tags for the single-phase, multi-component isothermal ZeroEq model.
Definition: zeroeqncmodel.hh:52
std::tuple< NavierStokesNC > InheritsFrom
Definition: zeroeqncmodel.hh:52
Traits for the Reynolds-averaged Navier-Stokes 0-Eq. model.
Definition: zeroeqncmodel.hh:66
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition: zeroeqncmodel.hh:68
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: zeroeqncmodel.hh:71
The type tags for the single-phase, multi-component non-isothermal ZeroEq models.
Definition: zeroeqncmodel.hh:125
std::tuple< ZeroEqNC, NavierStokesNCNI > InheritsFrom
Definition: zeroeqncmodel.hh:125
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
Adds I/O fields for the Reynolds-Averaged Navier-Stokes model.
Definition: freeflow/rans/iofields.hh:36
Volume variables for the single-phase 0-Eq. model.
Definition: freeflow/rans/zeroeq/volumevariables.hh:41
Declares all properties used in Dumux.
A single-phase, isothermal Reynolds-Averaged Navier-Stokes 0-Eq. model.
Adds I/O fields specific to the tracer model.
Base class for the model specific class which provides access to all volume averaged quantities.