34#ifndef DUMUX_NAVIERSTOKES_MOMENTUM_MODEL_HH
35#define DUMUX_NAVIERSTOKES_MOMENTUM_MODEL_HH
37#include <dune/common/fvector.hh>
64template<
int dimension>
68 static constexpr int dim() {
return dimension; }
72 static constexpr int numEq() {
return 1; }
125namespace Properties {
141template<
class TypeTag>
142struct NormalizePressure<TypeTag, TTag::NavierStokesMomentum> {
static constexpr bool value =
true; };
145template<
class TypeTag>
146struct ModelTraits<TypeTag, TTag::NavierStokesMomentum>
150 static constexpr auto dim = GridView::dimension;
161template<
class TypeTag>
162struct FluidState<TypeTag, TTag::NavierStokesMomentum>{
171template<
class TypeTag>
175template<
class TypeTag>
176struct VolumeVariables<TypeTag, TTag::NavierStokesMomentum>
184 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
185 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
186 static_assert(!FSY::isMiscible(),
"The Navier-Stokes model only works with immiscible fluid systems.");
194template<
class TypeTag>
198template<
class TypeTag>
204 using SourceValues = Dune::FieldVector<Scalar, GridView::dimensionworld>;
205 using GlobalPosition =
typename Dune::FieldVector<typename GridView::ctype, GridView::dimensionworld>;
210template<
class TypeTag>
214 struct EmptyCouplingManager {};
216 using type = EmptyCouplingManager;
The interface of the coupling manager for multi domain problems.
Definition: multidomain/couplingmanager.hh:37
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/momentum/fluxvariables.hh:37
Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization.
Definition: freeflow/navierstokes/momentum/localresidual.hh:31
Volume variables for the single-phase Navier-Stokes model.
Definition: freeflow/navierstokes/momentum/volumevariables.hh:25
A point source base class.
Definition: pointsource.hh:40
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.
A point source class, i.e. sources located at a single point in space.
Base class for the flux variables in porous medium models.
Defines the indices for the elastic model.
Local residual for the hyperelastic model.
Volume variables for the hyperelasticity model.
The common indices for the isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/momentum/indices.hh:25
Traits for the Navier-Stokes model.
Definition: freeflow/navierstokes/momentum/model.hh:66
static constexpr int numFluidPhases()
The number of phases is 1.
Definition: freeflow/navierstokes/momentum/model.hh:75
static constexpr bool enableEnergyBalance()
The model is isothermal.
Definition: freeflow/navierstokes/momentum/model.hh:87
static constexpr int numEq()
Definition: freeflow/navierstokes/momentum/model.hh:72
static constexpr bool enableMolecularDiffusion()
The one-phase model has no molecular diffusion.
Definition: freeflow/navierstokes/momentum/model.hh:84
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: freeflow/navierstokes/momentum/model.hh:93
static constexpr bool enableAdvection()
Enable advection.
Definition: freeflow/navierstokes/momentum/model.hh:81
static constexpr int dim()
The dimension of the model.
Definition: freeflow/navierstokes/momentum/model.hh:68
static constexpr int numFluidComponents()
The number of components is 1.
Definition: freeflow/navierstokes/momentum/model.hh:78
static constexpr bool usesTurbulenceModel()
The model does not include a turbulence model.
Definition: freeflow/navierstokes/momentum/model.hh:90
Traits class for the volume variables of the Navier-Stokes model.
Definition: freeflow/navierstokes/momentum/model.hh:114
FST FluidState
Definition: freeflow/navierstokes/momentum/model.hh:117
MT ModelTraits
Definition: freeflow/navierstokes/momentum/model.hh:118
PV PrimaryVariables
Definition: freeflow/navierstokes/momentum/model.hh:115
FSY FluidSystem
Definition: freeflow/navierstokes/momentum/model.hh:116
EmptyCouplingManager type
Definition: freeflow/navierstokes/momentum/model.hh:216
The type tag for the single-phase, isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/momentum/model.hh:134
std::tuple< FreeFlow > InheritsFrom
Definition: freeflow/navierstokes/momentum/model.hh:134