version 3.9.0
Loading...
Searching...
No Matches
discretization/staggered/freeflow/properties.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//
16#ifndef DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH
17#define DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH
18
22
27
28#include "facevariables.hh"
29#include "velocityoutput.hh"
32
33namespace Dumux {
34namespace Properties {
35
37// Create new type tags
38namespace TTag {
39struct StaggeredFreeFlowModel { using InheritsFrom = std::tuple<StaggeredModel>; };
40} // end namespace TTag
41
46template<class TypeTag>
47struct NumEqFace<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
48
55template<class TypeTag>
56struct NumEqCellCenter<TypeTag, TTag::StaggeredFreeFlowModel>
57{
58private:
61 static constexpr auto dim = GridView::dimension;
62 static constexpr auto numEq = ModelTraits::numEq();
63public:
64 static constexpr int value = numEq - dim;
65};
66
68template<class TypeTag>
69struct GridGeometry<TypeTag, TTag::StaggeredFreeFlowModel>
70{
71private:
72 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
73 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
76public:
78};
79
81template<class TypeTag>
82struct FaceVariables<TypeTag, TTag::StaggeredFreeFlowModel>
83{
84private:
87 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
88public:
90};
91
93template<class TypeTag>
94struct GridVolumeVariables<TypeTag, TTag::StaggeredFreeFlowModel>
95{
96private:
99 static constexpr auto enableCache = getPropValue<TypeTag, Properties::EnableGridVolumeVariablesCache>();
101public:
103};
104
106template<class TypeTag>
112
116template<class TypeTag>
117struct UpwindSchemeOrder<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
118
119} // namespace Properties
120} // namespace Dumux
121
122#endif
Base class for the finite volume geometry vector for staggered models This builds up the sub control ...
Definition discretization/staggered/fvgridgeometry.hh:164
The face variables class for free flow staggered grid models. Contains all relevant velocities for th...
Definition facevariables.hh:51
Velocity output for staggered free-flow models.
Definition discretization/staggered/freeflow/velocityoutput.hh:26
Grid volume variables class for staggered models.
Definition staggered/freeflow/gridvolumevariables.hh:118
Velocity output for implicit (porous media) models.
Definition io/velocityoutput.hh:29
Defines all properties used in Dumux.
Defines the default element and vertex mapper types.
Velocity output for staggered free-flow models.
Base class for the finite volume geometry vector for staggered models This builds up the sub control ...
The face variables class for free flow staggered grid models. Contains all relevant velocities for th...
Class to specify the type of a boundary condition for the Navier-Stokes model.
Defines a type tag and some properties for free flow models.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
defines intersection mappers.
Definition adapt.hh:17
Default traits for the finite volume grid geometry.
Grid volume variables class for staggered models.
Defines a type tag and some properties for models using the staggered scheme. This scheme features de...
Definition discretization/staggered/freeflow/properties.hh:39
std::tuple< StaggeredModel > InheritsFrom
Definition discretization/staggered/freeflow/properties.hh:39
Default traits for the finite volume grid geometry.
Definition staggered/freeflow/fvgridgeometrytraits.hh:84
Definition staggered/freeflow/gridvolumevariables.hh:27