46#ifndef DUMUX_FREEFLOW_NAVIERSTOKES_1P_MODEL_HH
47#define DUMUX_FREEFLOW_NAVIERSTOKES_1P_MODEL_HH
77 static constexpr int numEq() {
return 1; }
130namespace Properties {
144template<
class TypeTag>
154template<
class TypeTag>
165template<
class TypeTag>
170template<
class TypeTag>
179 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
180 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
181 static_assert(!FSY::isMiscible(),
"The Navier-Stokes model only works with immiscible fluid systems.");
189template<
class TypeTag>
195 struct DiffusiveFluxTypes {};
200 Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache
204template<
class TypeTag>
208template<
class TypeTag>
213template<
class TypeTag>
216template<
class TypeTag>
220 using type =
struct EmptyCouplingManager {};
224template<
class TypeTag>
236template<
class TypeTag>
237struct IOFields<TypeTag, TTag::NavierStokesMassOnePNI>
241template<
class TypeTag>
246template<
class TypeTag>
255 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
256 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
257 static_assert(!FSY::isMiscible(),
"The Navier-Stokes model only works with immiscible fluid systems.");
264 using EffectiveThermalConductivityModel = ETCM;
272template<
class TypeTag>
277 template<
class VolVars>
280 return volVars.fluidThermalConductivity();
285template<
class TypeTag>
290template<
class TypeTag>
297 struct DiffusiveFluxTypes
307 Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache
311template<
class TypeTag>
318template<
class TypeTag>
323 static constexpr bool diffusionIsSolDependent =
false;
324 static constexpr bool heatConductionIsSolDependent
325 = getPropValue<TypeTag, Properties::SolutionDependentHeatConduction>();
332template<
class TypeTag>
334{
static constexpr bool value =
true; };
A helper class to fill the flux variables cache.
The available free flow turbulence models in Dumux.
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
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
The secondary variables within a sub-control volume.
Definition: common/properties.hh:107
Container storing the different types of flux variables.
Definition: common/properties.hh:113
Stores data associated with flux vars.
Definition: common/properties.hh:115
UndefinedProperty type
Definition: common/properties.hh:115
The engine behind the global flux cache (how to fill caches for the stencil)
Definition: common/properties.hh:117
The type for the calculation of the heat conduction fluxes.
Definition: common/properties.hh:151
specifies if the parameters for the heat conduction fluxes depend on the solution
Definition: common/properties.hh:157
The type of the spatial parameters object.
Definition: common/properties.hh:160
The type of the fluid state to use.
Definition: common/properties.hh:164
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:172
UndefinedProperty type
Definition: common/properties.hh:172
Definition: common/properties.hh:293
forward declaration of the method-specific implementation
Definition: flux/box/fourierslaw.hh:38
The empty filler class corresponding to EmptyCache.
Definition: fluxvariablescaching.hh:32
An empty flux variables cache.
Definition: fluxvariablescaching.hh:47
Adds I/O fields specific to non-isothermal free-flow models.
Definition: freeflow/navierstokes/energy/iofields.hh:37
Specifies a number properties of non-isothermal free-flow flow models based on the specifics of a giv...
Definition: freeflow/navierstokes/energy/model.hh:59
Adds I/O fields for the Navier-Stokes model.
Definition: freeflow/navierstokes/iofields.hh:79
The flux variables class for the single-phase flow Navier-Stokes model.
Definition: freeflow/navierstokes/mass/1p/fluxvariables.hh:51
The common indices for the isothermal Navier-Stokes mass conservation model.
Definition: freeflow/navierstokes/mass/1p/indices.hh:34
Element-wise calculation of the Navier-Stokes residual for single-phase flow.
Definition: freeflow/navierstokes/mass/1p/localresidual.hh:38
Traits for the single-phase flow Navier-Stokes mass model.
Definition: freeflow/navierstokes/mass/1p/model.hh:74
static constexpr bool enableMolecularDiffusion()
The one-phase model has no molecular diffusion.
Definition: freeflow/navierstokes/mass/1p/model.hh:89
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: freeflow/navierstokes/mass/1p/model.hh:98
static constexpr bool enableAdvection()
Enable advection.
Definition: freeflow/navierstokes/mass/1p/model.hh:86
static constexpr bool usesTurbulenceModel()
The model does not include a turbulence model.
Definition: freeflow/navierstokes/mass/1p/model.hh:95
static constexpr int numFluidComponents()
The number of components is 1.
Definition: freeflow/navierstokes/mass/1p/model.hh:83
static constexpr bool enableEnergyBalance()
The model is isothermal.
Definition: freeflow/navierstokes/mass/1p/model.hh:92
static constexpr int numEq()
Definition: freeflow/navierstokes/mass/1p/model.hh:77
static constexpr int numFluidPhases()
The number of phases is 1.
Definition: freeflow/navierstokes/mass/1p/model.hh:80
Traits class for the volume variables of the Navier-Stokes model.
Definition: freeflow/navierstokes/mass/1p/model.hh:119
FST FluidState
Definition: freeflow/navierstokes/mass/1p/model.hh:122
PV PrimaryVariables
Definition: freeflow/navierstokes/mass/1p/model.hh:120
FSY FluidSystem
Definition: freeflow/navierstokes/mass/1p/model.hh:121
MT ModelTraits
Definition: freeflow/navierstokes/mass/1p/model.hh:123
The type tag for the single-phase, isothermal Navier-Stokes model.
Definition: freeflow/navierstokes/mass/1p/model.hh:139
std::tuple< ModelProperties > InheritsFrom
Definition: freeflow/navierstokes/mass/1p/model.hh:139
Definition: freeflow/navierstokes/mass/1p/model.hh:140
std::tuple< NavierStokesMassOneP > InheritsFrom
Definition: freeflow/navierstokes/mass/1p/model.hh:140
EmptyCouplingManager {} type
Definition: freeflow/navierstokes/mass/1p/model.hh:220
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: freeflow/navierstokes/mass/1p/model.hh:227
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: freeflow/navierstokes/mass/1p/model.hh:228
static auto effectiveThermalConductivity(const VolVars &volVars)
Definition: freeflow/navierstokes/mass/1p/model.hh:278
GetPropType< TypeTag, Properties::Problem > Problem
Definition: freeflow/navierstokes/mass/1p/model.hh:321
GetPropType< TypeTag, Properties::ModelTraits > ModelTraits
Definition: freeflow/navierstokes/mass/1p/model.hh:322
Volume variables for the single-phase Navier-Stokes model.
Definition: freeflow/navierstokes/mass/1p/volumevariables.hh:41
Definition: scalarfluxvariablescachefiller.hh:39
Definition of the spatial parameters for the freeflow problems.
Definition: freeflow/spatialparams.hh:54
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Definition: immiscible.hh:42
Declares all properties used in Dumux.
Defines a type tags and some fundamental properties for all models.
A single-phase, non-isothermal free-flow model.
Fourier's law specialized for different discretization schemes This file contains the data which is r...
Base class for the flux variables in porous medium models.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Defines the primary variable and equation indices used by the isothermal tracer model.
Definition of the spatial parameters for the freeflow problems.