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.
Indices for the non-isothermal Navier-Stokes model.
Adds I/O fields specific to non-isothermal free-flow models.
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.
Defines the primary variable and equation indices used by the isothermal tracer model.
Adds I/O fields specific to the tracer model.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
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 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