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
205template<
class TypeTag>
208template<
class TypeTag>
212 using type =
struct EmptyCouplingManager {};
216template<
class TypeTag>
228template<
class TypeTag>
229struct IOFields<TypeTag, TTag::NavierStokesMassOnePNI>
233template<
class TypeTag>
238template<
class TypeTag>
247 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
248 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
249 static_assert(!FSY::isMiscible(),
"The Navier-Stokes model only works with immiscible fluid systems.");
256 using EffectiveThermalConductivityModel = ETCM;
264template<
class TypeTag>
269 template<
class VolVars>
272 return volVars.fluidThermalConductivity();
277template<
class TypeTag>
282template<
class TypeTag>
289 struct DiffusiveFluxTypes
299 Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache
303template<
class TypeTag>
310template<
class TypeTag>
315 static constexpr bool diffusionIsSolDependent =
false;
316 static constexpr bool heatConductionIsSolDependent
317 = getPropValue<TypeTag, Properties::SolutionDependentHeatConduction>();
324template<
class TypeTag>
326{
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...
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:180
Traits class encapsulating model specifications.
Definition: common/properties.hh:51
A class helping models to define input and output fields.
Definition: common/properties.hh:61
Definition: common/properties.hh:72
The secondary variables within a sub-control volume.
Definition: common/properties.hh:105
Container storing the different types of flux variables.
Definition: common/properties.hh:111
Stores data associated with flux vars.
Definition: common/properties.hh:113
UndefinedProperty type
Definition: common/properties.hh:113
The engine behind the global flux cache (how to fill caches for the stencil)
Definition: common/properties.hh:115
The type for the calculation of the heat conduction fluxes.
Definition: common/properties.hh:149
specifies if the parameters for the heat conduction fluxes depend on the solution
Definition: common/properties.hh:155
The type of the spatial parameters object.
Definition: common/properties.hh:158
The type of the fluid state to use.
Definition: common/properties.hh:162
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:170
UndefinedProperty type
Definition: common/properties.hh:170
Definition: common/properties.hh:291
forward declaration of the method-specific implementation
Definition: flux/box/fourierslaw.hh:38
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:212
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: freeflow/navierstokes/mass/1p/model.hh:219
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: freeflow/navierstokes/mass/1p/model.hh:220
static auto effectiveThermalConductivity(const VolVars &volVars)
Definition: freeflow/navierstokes/mass/1p/model.hh:270
GetPropType< TypeTag, Properties::Problem > Problem
Definition: freeflow/navierstokes/mass/1p/model.hh:313
GetPropType< TypeTag, Properties::ModelTraits > ModelTraits
Definition: freeflow/navierstokes/mass/1p/model.hh:314
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.
Diffusive heat flux according to Fourier's law.
Base class for the flux variables in porous medium models.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
Defines the primary variable and equation indices used by the isothermal tracer model.
Definition of the spatial parameters for the freeflow problems.