3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
27
28#ifndef DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH
29#define DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH
30
31#include <dune/common/deprecated.hh>
32
36
40
41#include "facevariables.hh"
42#include "boundarytypes.hh"
43#include "velocityoutput.hh"
46
47namespace Dumux {
48namespace Properties {
49
51// Create new type tags
52namespace TTag {
53struct StaggeredFreeFlowModel { using InheritsFrom = std::tuple<StaggeredModel>; };
54} // end namespace TTag
55
60template<class TypeTag>
61struct NumEqFace<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
62
69template<class TypeTag>
70struct NumEqCellCenter<TypeTag, TTag::StaggeredFreeFlowModel>
71{
72private:
75 static constexpr auto dim = GridView::dimension;
76 static constexpr auto numEq = ModelTraits::numEq();
77public:
78 static constexpr int value = numEq - dim;
79};
80
82template<class TypeTag>
83struct GridGeometry<TypeTag, TTag::StaggeredFreeFlowModel>
84{
85private:
86 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
87 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
88 DUNE_NO_DEPRECATED_BEGIN
90 DUNE_NO_DEPRECATED_END
92public:
94};
95
97template<class TypeTag>
98struct FaceVariables<TypeTag, TTag::StaggeredFreeFlowModel>
99{
100private:
103 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
104public:
106};
107
109template<class TypeTag>
120
121
123template<class TypeTag>
128
130template<class TypeTag>
136
140template<class TypeTag>
141struct UpwindSchemeOrder<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
142
143} // namespace Properties
144} // namespace Dumux
145
146#endif
Defines the default element and vertex mapper types.
defines intersection mappers.
The face variables class for free flow staggered grid models. Contains all relevant velocities for th...
Defines a type tag and some properties for models using the staggered scheme. This scheme features de...
Definition adapt.hh:29
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:153
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:149
Definition common/properties.hh:48
Type tag for numeric models.
Definition grid.hh:36
Stores the boundary types of a single degree of freedom.
Definition common/properties.hh:84
Definition common/properties.hh:113
The type for a global container for the volume variables.
Definition common/properties.hh:120
specifies the velocity calculation module to be used
Definition common/properties.hh:179
The number of equations for cell-centered dofs.
Definition common/properties.hh:221
The number of equations for face dofs.
Definition common/properties.hh:223
Class containing local face-related data.
Definition common/properties.hh:241
Specifies the order of the upwinding scheme (1 == first order, 2 == second order(tvd methods)).
Definition common/properties.hh:249
Class to specify the type of a boundary condition for the staggered Navier-Stokes model.
Definition discretization/staggered/freeflow/boundarytypes.hh:38
The face variables class for free flow staggered grid models. Contains all relevant velocities for th...
Definition facevariables.hh:63
Default traits for the finite volume grid geometry.
Definition staggered/freeflow/fvgridgeometrytraits.hh:45
Definition staggered/freeflow/gridvolumevariables.hh:39
Grid volume variables class for staggered models.
Definition staggered/freeflow/gridvolumevariables.hh:130
Definition discretization/staggered/freeflow/properties.hh:53
std::tuple< StaggeredModel > InheritsFrom
Definition discretization/staggered/freeflow/properties.hh:53
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:61
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:78
StaggeredFVGridGeometry< GridView, enableCache, Traits > type
Definition discretization/staggered/freeflow/properties.hh:93
StaggeredFaceVariables< FacePrimaryVariables, GridView::dimension, upwindSchemeOrder > type
Definition discretization/staggered/freeflow/properties.hh:105
StaggeredGridVolumeVariables< Traits, enableCache > type
Definition discretization/staggered/freeflow/properties.hh:118
StaggeredFreeFlowBoundaryTypes< GetPropType< TypeTag, Properties::ModelTraits >::numEq()> type
Definition discretization/staggered/freeflow/properties.hh:126
StaggeredFreeFlowVelocityOutput< GetPropType< TypeTag, Properties::GridVariables >, GetPropType< TypeTag, Properties::SolutionVector > > type
Definition discretization/staggered/freeflow/properties.hh:133
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:141
Velocity output for staggered free-flow models.
Definition discretization/staggered/freeflow/velocityoutput.hh:38
Base class for the finite volume geometry vector for staggered models This builds up the sub control ...
Definition discretization/staggered/fvgridgeometry.hh:169
Class to specify the type of a boundary condition for the staggered Navier-Stokes model.
Declares all properties used in Dumux.
Defines a type tag and some properties for free flow models.
Base class for the finite volume geometry vector for staggered models This builds up the sub control ...
Grid volume variables class for staggered models.
Default traits for the finite volume grid geometry.
Velocity output for staggered free-flow models.