version 3.10-dev
freeflow/rans/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//
24#ifndef DUMUX_RANS_MODEL_HH
25#define DUMUX_RANS_MODEL_HH
26
29
30#include "iofields.hh"
31
32namespace Dumux {
33
34// \{
36// properties for the single-phase Reynolds-Averaged Navier-Stokes model
38namespace Properties {
39
41// Type tags
43
44// Create new type tags
45namespace TTag {
47struct RANS { using InheritsFrom = std::tuple<NavierStokes>; };
48} // end namespace TTag
49
51// default property values for the isothermal single phase model
53
59template<int dimension>
61{
63 static constexpr bool usesTurbulenceModel() { return true; }
64};
65
67template<class TypeTag>
68struct ModelTraits<TypeTag, TTag::RANS>
69{
70private:
72 static constexpr int dim = GridView::dimension;
73public:
75};
76
78template<class TypeTag>
79struct IOFields<TypeTag, TTag::RANS> { using type = RANSIOFields; };
80
82// Property values for non-isothermal Reynolds-averaged Navier-Stokes model
84
85// Create new type tags
86namespace TTag {
88struct RANSNI { using InheritsFrom = std::tuple<RANS>; };
89} // end namespace TTag
90
92template<class TypeTag>
93struct ModelTraits<TypeTag, TTag::RANSNI>
94{
95private:
97 static constexpr int dim = GridView::dimension;
98
100public:
102};
103
105template<class TypeTag>
106struct IOFields<TypeTag, TTag::RANSNI> { using type = FreeflowNonIsothermalIOFields<RANSIOFields, true/*turbulenceModel*/>; };
107
109template<class TypeTag>
110struct HeatConductionType<TypeTag, TTag::RANSNI> { using type = FouriersLaw<TypeTag>; };
111
112// \}
113} // end namespace Properties
114} // end namespace Dumux
115
116#endif
forward declaration of the method-specific implementation
Definition: flux/box/fourierslaw.hh:26
Defines all properties used in Dumux.
A single-phase, isothermal Navier-Stokes model.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Definition: adapt.hh:17
Adds I/O fields specific to the tracer model.
Specifies a number properties of non-isothermal free-flow flow models based on the specifics of a giv...
Definition: freeflow/nonisothermal/model.hh:47
Adds I/O fields specific to non-isothermal free-flow models.
Definition: freeflow/nonisothermal/iofields.hh:26
Traits for the Navier-Stokes model.
Definition: freeflow/navierstokes/model.hh:63
Traits for the Reynolds-averaged Navier-Stokes model.
Definition: freeflow/rans/model.hh:61
static constexpr bool usesTurbulenceModel()
The model does include a turbulence model.
Definition: freeflow/rans/model.hh:63
The type tag for the single-phase, isothermal Reynolds-Averaged Navier-Stokes model.
Definition: freeflow/rans/model.hh:47
std::tuple< NavierStokes > InheritsFrom
Definition: freeflow/rans/model.hh:47
The type tag for the single-phase, isothermal Reynolds-Averaged Navier-Stokes model.
Definition: freeflow/rans/model.hh:88
std::tuple< RANS > InheritsFrom
Definition: freeflow/rans/model.hh:88
Adds I/O fields for the Reynolds-Averaged Navier-Stokes model.
Definition: freeflow/rans/iofields.hh:24