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
205template<
class TypeTag>
208template<
class TypeTag>
212 using type =
struct EmptyCouplingManager {};
216template<
class TypeTag>
228template<
class TypeTag>
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.");
254 struct NITraits :
public BaseTraits
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>
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...
@ 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
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition adapt.hh:29
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:188
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:180
Definition common/properties.hh:37
Type tag for numeric models.
Definition grid.hh:36
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
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
Definition common/properties.hh:291
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
NavierStokesIOFields type
Definition freeflow/navierstokes/mass/1p/model.hh:206
struct EmptyCouplingManager {} type
Definition freeflow/navierstokes/mass/1p/model.hh:212
FreeFlowDefaultSpatialParams< GridGeometry, Scalar > type
Definition freeflow/navierstokes/mass/1p/model.hh:221
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
NavierStokesEnergyIOFields< NavierStokesIOFields > type
Definition freeflow/navierstokes/mass/1p/model.hh:230
NavierStokesEnergyModelTraits< NavierStokesMassOnePModelTraits > type
Definition freeflow/navierstokes/mass/1p/model.hh:235
NavierStokesMassOnePVolumeVariables< NITraits > type
Definition freeflow/navierstokes/mass/1p/model.hh:260
Definition freeflow/navierstokes/mass/1p/model.hh:268
static auto effectiveThermalConductivity(const VolVars &volVars)
Definition freeflow/navierstokes/mass/1p/model.hh:270
FouriersLaw< TypeTag > type
Definition freeflow/navierstokes/mass/1p/model.hh:279
NavierStokesMassOnePFluxVariables< Problem, ModelTraits, DiffusiveFluxTypes, ElementVolumeVariables, ElementFluxVariablesCache > type
Definition freeflow/navierstokes/mass/1p/model.hh:298
Definition freeflow/navierstokes/mass/1p/model.hh:307
FreeFlowScalarFluxVariablesCacheFiller< Problem, ModelTraits, diffusionIsSolDependent, heatConductionIsSolDependent > type
Definition freeflow/navierstokes/mass/1p/model.hh:319
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
static constexpr bool diffusionIsSolDependent
Definition freeflow/navierstokes/mass/1p/model.hh:315
static constexpr bool heatConductionIsSolDependent
Definition freeflow/navierstokes/mass/1p/model.hh:317
static constexpr bool value
Definition freeflow/navierstokes/mass/1p/model.hh:326
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
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.
Adds I/O fields for the Navier-Stokes model.
The common indices for the isothermal Navier-Stokes model.
The flux variables class for the single-phase flow Navier-Stokes model.
Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization.
Volume variables for the single-phase Navier-Stokes model.
Definition of the spatial parameters for the freeflow problems.