17#ifndef DUMUX_ZEROEQ_NC_MODEL_HH 
   18#define DUMUX_ZEROEQ_NC_MODEL_HH 
   53template<
int dimension, 
int nComp, 
bool useM, 
int replaceCompEqIdx>
 
   65template<
class TypeTag>
 
   66struct ModelTraits<TypeTag, 
TTag::ZeroEqNC>
 
   70    static constexpr int dim = GridView::dimension;
 
   72    static constexpr int numComponents = FluidSystem::numComponents;
 
 
   80template<
class TypeTag>
 
   81struct VolumeVariables<TypeTag, 
TTag::ZeroEqNC>
 
   88    static_assert(FSY::numComponents == MT::numFluidComponents(), 
"Number of components mismatch between model and fluid system");
 
   89    static_assert(FST::numComponents == MT::numFluidComponents(), 
"Number of components mismatch between model and fluid state");
 
   90    static_assert(FSY::numPhases == MT::numFluidPhases(), 
"Number of phases mismatch between model and fluid system");
 
   91    static_assert(FST::numPhases == MT::numFluidPhases(), 
"Number of phases mismatch between model and fluid state");
 
   95    template<
class BaseTraits, 
class DT>
 
   96    struct NCTraits : 
public BaseTraits { 
using DiffusionType = DT; };
 
 
  104template<
class TypeTag>
 
  118template<
class TypeTag>
 
  119struct ModelTraits<TypeTag, 
TTag::ZeroEqNCNI>
 
  123    static constexpr int dim = GridView::dimension;
 
  125    static constexpr int numComponents = FluidSystem::numComponents;
 
 
  134template<
class TypeTag>
 
  135struct VolumeVariables<TypeTag, 
TTag::ZeroEqNCNI>
 
  142    static_assert(FSY::numComponents == MT::numFluidComponents(), 
"Number of components mismatch between model and fluid system");
 
  143    static_assert(FST::numComponents == MT::numFluidComponents(), 
"Number of components mismatch between model and fluid state");
 
  144    static_assert(FSY::numPhases == MT::numFluidPhases(), 
"Number of phases mismatch between model and fluid system");
 
  145    static_assert(FST::numPhases == MT::numFluidPhases(), 
"Number of phases mismatch between model and fluid state");
 
  149    template<
class BaseTraits, 
class DT>
 
  150    struct NCNITraits : 
public BaseTraits { 
using DiffusionType = DT; };
 
 
  157template<
class TypeTag>
 
  158struct IOFields<TypeTag, 
TTag::ZeroEqNCNI>
 
 
Volume variables for the single-phase, multi-component free-flow model.
Definition freeflow/compositional/volumevariables.hh:28
Volume variables for the single-phase 0-Eq. model.
Definition freeflow/rans/zeroeq/volumevariables.hh:29
Defines all properties used in Dumux.
Adds I/O fields specific to the FreeflowNC model.
Volume variables for the single-phase, multi-component free-flow model.
Adds I/O fields specific to non-isothermal free-flow models.
A single-phase, isothermal Reynolds-Averaged Navier-Stokes 0-Eq. model.
@ zeroeq
Definition turbulencemodel.hh:27
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
FreeflowNCIOFields< RANSIOFields, true > type
Definition zeroeqncmodel.hh:105
FreeflowNonIsothermalIOFields< IsothermalIOFields, true > type
Definition zeroeqncmodel.hh:163
ZeroEqNCModelTraits< dim, numComponents, useMoles, replaceCompEqIdx > type
Definition zeroeqncmodel.hh:76
FreeflowNIModelTraits< IsothermalModelTraits > type
Definition zeroeqncmodel.hh:130
The type tags for the single-phase, multi-component isothermal ZeroEq model.
Definition zeroeqncmodel.hh:41
std::tuple< NavierStokesNC > InheritsFrom
Definition zeroeqncmodel.hh:41
The type tags for the single-phase, multi-component non-isothermal ZeroEq models.
Definition zeroeqncmodel.hh:114
std::tuple< ZeroEqNC, NavierStokesNCNI > InheritsFrom
Definition zeroeqncmodel.hh:114
ZeroEqVolumeVariables< NCTraits< BaseTraits, DT >, NCVolVars > type
Definition zeroeqncmodel.hh:100
ZeroEqVolumeVariables< NCNITraits< BaseTraits, DT >, NCNIVolVars > type
Definition zeroeqncmodel.hh:153
Traits for the Reynolds-averaged Navier-Stokes 0-Eq. model.
Definition zeroeqncmodel.hh:55
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition zeroeqncmodel.hh:57
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition zeroeqncmodel.hh:60
Adds I/O fields for the Reynolds-Averaged Navier-Stokes model.
Definition freeflow/rans/iofields.hh:24