52#ifndef DUMUX_FREEFLOW_NC_MODEL_HH
53#define DUMUX_FREEFLOW_NC_MODEL_HH
86template<
int dimension,
int nComp,
bool useM,
int repCompEqIdx = nComp>
91 static constexpr int numEq() {
return dimension+nComp; }
97 static constexpr bool useMoles() {
return useM; }
119namespace Properties {
139template<
class TypeTag>
144 static constexpr int dim = GridView::dimension;
146 static constexpr int numComponents = FluidSystem::numComponents;
147 static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
148 static constexpr int replaceCompEqIdx = getPropValue<TypeTag, Properties::ReplaceCompEqIdx>();
154template<
class TypeTag>
155struct UseMoles<TypeTag, TTag::NavierStokesNC> {
static constexpr bool value =
false; };
156template<
class TypeTag>
158template<
class TypeTag>
162template<
class TypeTag>
166template<
class TypeTag>
170template<
class TypeTag>
178 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
179 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
180 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
181 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
185 template<
class BaseTraits,
class DT>
186 struct NCTraits :
public BaseTraits {
using DiffusionType = DT; };
192template<
class TypeTag>
196template<
class TypeTag>
205template<
class TypeTag>
220template<
class TypeTag>
225 static constexpr int dim = GridView::dimension;
227 static constexpr int numComponents = FluidSystem::numComponents;
228 static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
229 static constexpr int replaceCompEqIdx = getPropValue<TypeTag, Properties::ReplaceCompEqIdx>();
236template<
class TypeTag>
246template<
class TypeTag>
Calculates the element-wise residual for the staggered FV scheme.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
A gaseous phase consisting of a single component.
A liquid phase consisting of a single component.
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:150
Traits class encapsulating model specifications.
Definition: common/properties.hh:53
A class helping models to define input and output fields.
Definition: common/properties.hh:63
Definition: common/properties.hh:74
Property whether to use moles or kg as amount unit for balance equations.
Definition: common/properties.hh:85
The component balance index that should be replaced by the total mass/mole balance.
Definition: common/properties.hh:87
The secondary variables within a sub-control volume.
Definition: common/properties.hh:103
Container storing the different types of flux variables.
Definition: common/properties.hh:109
The type for the calculation of the molecular diffusion fluxes.
Definition: common/properties.hh:141
The type for the calculation of the heat conduction fluxes.
Definition: common/properties.hh:145
The type of the fluid state to use.
Definition: common/properties.hh:154
Returns whether to normalize the pressure term in the momentum balance or not.
Definition: common/properties.hh:275
forward declaration of the method-specific implemetation
Definition: flux/box/fickslaw.hh:43
forward declaration of the method-specific implementation
Definition: flux/fourierslaw.hh:37
The flux variables class for the multi-component free-flow model using the staggered grid discretizat...
Definition: freeflow/compositional/fluxvariables.hh:34
Adds I/O fields specific to the FreeflowNC model.
Definition: freeflow/compositional/iofields.hh:38
Element-wise calculation of the multi-component free-flow residual for models using the staggered dis...
Definition: freeflow/compositional/localresidual.hh:36
Traits for the multi-component free-flow model.
Definition: navierstokesncmodel.hh:88
static constexpr int replaceCompEqIdx()
Index of of a component balance eq. to be replaced by a total mass/mole balance.
Definition: navierstokesncmodel.hh:103
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: navierstokesncmodel.hh:109
static constexpr bool useMoles()
Use moles or not.
Definition: navierstokesncmodel.hh:97
static constexpr bool enableMolecularDiffusion()
The one-phase model has no molecular diffusion.
Definition: navierstokesncmodel.hh:100
static constexpr int numFluidComponents()
The number of components.
Definition: navierstokesncmodel.hh:94
static constexpr bool usesTurbulenceModel()
The model does not include a turbulence model.
Definition: navierstokesncmodel.hh:106
static constexpr int numEq()
Definition: navierstokesncmodel.hh:91
The type tag for the single-phase, multi-component isothermal free-flow model.
Definition: navierstokesncmodel.hh:128
std::tuple< FreeFlow > InheritsFrom
Definition: navierstokesncmodel.hh:128
The type tag for the single-phase, multi-component non-isothermal free-flow model.
Definition: navierstokesncmodel.hh:131
std::tuple< NavierStokesNC > InheritsFrom
Definition: navierstokesncmodel.hh:131
Volume variables for the single-phase, multi-component free-flow model.
Definition: freeflow/compositional/volumevariables.hh:40
The common indices for the isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/indices.hh:37
Traits for the Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:77
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
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Definition: compositional.hh:47
Declares all properties used in Dumux.
A single-phase, isothermal Navier-Stokes model.
A single-phase, non-isothermal free-flow model.
Fick's law specilized for different discretization schemes. This file contains the data which is requ...
Fourier's law specialized for different discretization schemes This file contains the data which is r...
Adds I/O fields specific to the tracer model.
Base class for the flux variables in porous medium models.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Base class for the model specific class which provides access to all volume averaged quantities.