version 3.10-dev
freeflow/rans/zeroeq/model.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
23#ifndef DUMUX_ZEROEQ_MODEL_HH
24#define DUMUX_ZEROEQ_MODEL_HH
25
30
31#include "problem.hh"
32#include "volumevariables.hh"
33
34namespace Dumux::Properties {
35
37// default property values for the isothermal RANS 0-Eq. model
39
40// Create new type tags
41namespace TTag {
43struct ZeroEq { using InheritsFrom = std::tuple<RANS>; };
44} // end namespace TTag
45
52template<int dimension>
54{
56 static constexpr int dim() { return dimension; }
57
59 static constexpr auto turbulenceModel()
60 { return TurbulenceModel::zeroeq; }
61};
62
63template<class TypeTag>
64struct ModelTraits<TypeTag, TTag::ZeroEq>
65{
66private:
68 static constexpr int dim = GridView::dimension;
69public:
71};
72
74template<class TypeTag>
75struct VolumeVariables<TypeTag, TTag::ZeroEq>
76{
77private:
82
83 static_assert(FSY::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid system");
84 static_assert(FST::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid state");
85 static_assert(!FSY::isMiscible(), "The Navier-Stokes model only works with immiscible fluid systems.");
86
89public:
91};
92
94// default property values for the non-isothermal RANS 0-Eq. model
96
97// Create new type tags
98namespace TTag {
100struct ZeroEqNI { using InheritsFrom = std::tuple<RANSNI>; };
101} // end namespace TTag
102
104template<class TypeTag>
105struct ModelTraits<TypeTag, TTag::ZeroEqNI>
106{
107private:
109 static constexpr int dim = GridView::dimension;
111public:
113};
114
116template<class TypeTag>
117struct VolumeVariables<TypeTag, TTag::ZeroEqNI>
118{
119private:
124
125 static_assert(FSY::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid system");
126 static_assert(FST::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid state");
127 static_assert(!FSY::isMiscible(), "The Navier-Stokes model only works with immiscible fluid systems.");
128
131public:
133};
134
135} // end namespace Dumux::Properties
136
137#endif
Volume variables for the single-phase Navier-Stokes model.
Definition: freeflow/navierstokes/volumevariables.hh:26
Volume variables for the single-phase 0-Eq. model.
Definition: freeflow/rans/zeroeq/volumevariables.hh:29
Defines all properties used in Dumux.
Defines a type tag and some properties for free flow models.
A single-phase, isothermal Reynolds-Averaged Navier-Stokes model.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
The energy balance equation for a porous solid.
Definition: common/properties.hh:26
Python wrapper for volume variables (finite volume schemes)
TODO: docme!
Specifies a number properties of non-isothermal free-flow flow models based on the specifics of a giv...
Definition: freeflow/nonisothermal/model.hh:47
Traits class for the volume variables of the Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:111
Traits for the Reynolds-averaged Navier-Stokes model.
Definition: freeflow/rans/model.hh:61
The type tag for the single-phase, isothermal Reynolds-Averaged Navier-Stokes 0-Eq....
Definition: freeflow/rans/zeroeq/model.hh:43
std::tuple< RANS > InheritsFrom
Definition: freeflow/rans/zeroeq/model.hh:43
The type tag for the single-phase, non-isothermal Reynolds-Averaged Navier-Stokes model.
Definition: freeflow/rans/zeroeq/model.hh:100
std::tuple< RANSNI > InheritsFrom
Definition: freeflow/rans/zeroeq/model.hh:100
Traits for the ZeroEq model.
Definition: freeflow/rans/zeroeq/model.hh:54
static constexpr int dim()
The dimension of the model.
Definition: freeflow/rans/zeroeq/model.hh:56
static constexpr auto turbulenceModel()
return the type of turbulence model used
Definition: freeflow/rans/zeroeq/model.hh:59