46#ifndef DUMUX_FREEFLOW_NAVIERSTOKES_1P_MODEL_HH
47#define DUMUX_FREEFLOW_NAVIERSTOKES_1P_MODEL_HH
77 static constexpr int numEq() {
return 1; }
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>
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.");
262 struct NITraits :
public BaseTraits
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>
332template<
class TypeTag>
334{
static constexpr bool value =
true; };
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
The available free flow turbulence models in Dumux.
A helper class to fill the flux variables cache.
@ none
Definition turbulencemodel.hh:39
FreeFlowScalarFluxVariablesCacheFillerImplementation< Problem, ModelTraits, diffusionIsSolDependent, heatConductionIsSolDependent, typename ProblemTraits< Problem >::GridGeometry::DiscretizationMethod > FreeFlowScalarFluxVariablesCacheFiller
The flux variables cache filler class for free flow.
Definition scalarfluxvariablescachefiller.hh:48
FouriersLawImplementation< TypeTag, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod > FouriersLaw
Evaluates the heat conduction flux according to Fouriers's law.
Definition fourierslaw_fwd.hh:43
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:154
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:150
Definition common/properties.hh:37
Type tag for numeric models.
Definition grid.hh:36
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
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
Definition common/properties.hh:293
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
NavierStokesMassOnePIndices Indices
the indices
Definition freeflow/navierstokes/mass/1p/model.hh:102
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
NavierStokesMassOnePModelTraits type
Definition freeflow/navierstokes/mass/1p/model.hh:146
Dumux::ImmiscibleFluidState< Scalar, FluidSystem > type
Definition freeflow/navierstokes/mass/1p/model.hh:161
NavierStokesMassOnePLocalResidual< TypeTag > type
Definition freeflow/navierstokes/mass/1p/model.hh:167
NavierStokesMassOnePVolumeVariables< Traits > type
Definition freeflow/navierstokes/mass/1p/model.hh:185
NavierStokesMassOnePFluxVariables< Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache > type
Definition freeflow/navierstokes/mass/1p/model.hh:199
FluxVariablesCaching::EmptyCache< GetPropType< TypeTag, Properties::Scalar > > type
Definition freeflow/navierstokes/mass/1p/model.hh:206
FluxVariablesCaching::EmptyCacheFiller type
Definition freeflow/navierstokes/mass/1p/model.hh:210
NavierStokesIOFields type
Definition freeflow/navierstokes/mass/1p/model.hh:214
struct EmptyCouplingManager {} type
Definition freeflow/navierstokes/mass/1p/model.hh:220
FreeFlowDefaultSpatialParams< GridGeometry, Scalar > type
Definition freeflow/navierstokes/mass/1p/model.hh:229
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
NavierStokesEnergyIOFields< NavierStokesIOFields > type
Definition freeflow/navierstokes/mass/1p/model.hh:238
NavierStokesEnergyModelTraits< NavierStokesMassOnePModelTraits > type
Definition freeflow/navierstokes/mass/1p/model.hh:243
NavierStokesMassOnePVolumeVariables< NITraits > type
Definition freeflow/navierstokes/mass/1p/model.hh:268
Definition freeflow/navierstokes/mass/1p/model.hh:276
static auto effectiveThermalConductivity(const VolVars &volVars)
Definition freeflow/navierstokes/mass/1p/model.hh:278
FouriersLaw< TypeTag > type
Definition freeflow/navierstokes/mass/1p/model.hh:287
NavierStokesMassOnePFluxVariables< Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache > type
Definition freeflow/navierstokes/mass/1p/model.hh:306
Definition freeflow/navierstokes/mass/1p/model.hh:315
FreeFlowScalarFluxVariablesCacheFiller< Problem, ModelTraits, diffusionIsSolDependent, heatConductionIsSolDependent > type
Definition freeflow/navierstokes/mass/1p/model.hh:327
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
static constexpr bool diffusionIsSolDependent
Definition freeflow/navierstokes/mass/1p/model.hh:323
static constexpr bool heatConductionIsSolDependent
Definition freeflow/navierstokes/mass/1p/model.hh:325
static constexpr bool value
Definition freeflow/navierstokes/mass/1p/model.hh:334
Volume variables for the single-phase Navier-Stokes model.
Definition freeflow/navierstokes/mass/1p/volumevariables.hh:41
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
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...
Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization.
Declares all properties used in Dumux.
The common indices for the isothermal Navier-Stokes model.
Adds I/O fields for the Navier-Stokes model.
The flux variables class for the single-phase flow Navier-Stokes model.
Volume variables for the single-phase Navier-Stokes model.
Definition of the spatial parameters for the freeflow problems.