34#ifndef DUMUX_NAVIERSTOKES_MODEL_HH
35#define DUMUX_NAVIERSTOKES_MODEL_HH
61template<
int dimension>
65 static constexpr int dim() {
return dimension; }
69 static constexpr int numEq() {
return dimension+1; }
122namespace Properties {
140template<
class TypeTag>
141struct NormalizePressure<TypeTag, TTag::NavierStokes> {
static constexpr bool value =
true; };
144template<
class TypeTag>
145struct ModelTraits<TypeTag, TTag::NavierStokes>
149 static constexpr auto dim = GridView::dimension;
160template<
class TypeTag>
161struct FluidState<TypeTag, TTag::NavierStokes>{
170template<
class TypeTag>
174template<
class TypeTag>
175struct VolumeVariables<TypeTag, TTag::NavierStokes>
183 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
184 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
185 static_assert(!FSY::isMiscible(),
"The Navier-Stokes model only works with immiscible fluid systems.");
193template<
class TypeTag>
197template<
class TypeTag>
205template<
class TypeTag>
206struct ModelTraits<TypeTag, TTag::NavierStokesNI>
210 static constexpr auto dim = GridView::dimension;
217template<
class TypeTag>
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Definition: immiscible.hh:30
The flux variables class for the Navier-Stokes model using the staggered grid discretization.
Definition: freeflow/navierstokes/fluxvariables.hh:23
Adds I/O fields for the Navier-Stokes model.
Definition: freeflow/navierstokes/iofields.hh:67
Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization.
Definition: freeflow/navierstokes/localresidual.hh:23
Volume variables for the single-phase Navier-Stokes model.
Definition: freeflow/navierstokes/volumevariables.hh:26
Defines all properties used in Dumux.
Diffusive heat flux according to Fourier's law.
A single-phase, non-isothermal free-flow model.
Defines a type tag and some properties for free flow models.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
The available discretization methods in Dumux.
Base class for the flux variables in porous medium models.
Adds I/O fields specific to the tracer model.
Defines the indices for the elastic model.
Local residual for the hyperelastic model.
Volume variables for the hyperelasticity model.
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
The common indices for the isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/indices.hh:25
Traits for the Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:63
static constexpr int numFluidComponents()
The number of components is 1.
Definition: freeflow/navierstokes/model.hh:75
static constexpr bool enableAdvection()
Enable advection.
Definition: freeflow/navierstokes/model.hh:78
static constexpr int dim()
The dimension of the model.
Definition: freeflow/navierstokes/model.hh:65
static constexpr bool enableMolecularDiffusion()
The one-phase one-component model has no molecular diffusion.
Definition: freeflow/navierstokes/model.hh:81
static constexpr int numEq()
Definition: freeflow/navierstokes/model.hh:69
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: freeflow/navierstokes/model.hh:90
static constexpr bool usesTurbulenceModel()
The model does not include a turbulence model.
Definition: freeflow/navierstokes/model.hh:87
static constexpr bool enableEnergyBalance()
The model is isothermal.
Definition: freeflow/navierstokes/model.hh:84
static constexpr int numFluidPhases()
The number of phases is 1.
Definition: freeflow/navierstokes/model.hh:72
Traits class for the volume variables of the Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:111
PV PrimaryVariables
Definition: freeflow/navierstokes/model.hh:112
MT ModelTraits
Definition: freeflow/navierstokes/model.hh:115
FST FluidState
Definition: freeflow/navierstokes/model.hh:114
FSY FluidSystem
Definition: freeflow/navierstokes/model.hh:113
The type tag for the single-phase, isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:131
std::tuple< FreeFlow > InheritsFrom
Definition: freeflow/navierstokes/model.hh:131
The type tag for the corresponding non-isothermal model.
Definition: freeflow/navierstokes/model.hh:134
std::tuple< NavierStokes > InheritsFrom
Definition: freeflow/navierstokes/model.hh:134