3.4
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
34
39
40#include "facevariables.hh"
41#include "velocityoutput.hh"
44
45namespace Dumux {
46namespace Properties {
47
49// Create new type tags
50namespace TTag {
51struct StaggeredFreeFlowModel { using InheritsFrom = std::tuple<StaggeredModel>; };
52} // end namespace TTag
53
58template<class TypeTag>
59struct NumEqFace<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
60
67template<class TypeTag>
68struct NumEqCellCenter<TypeTag, TTag::StaggeredFreeFlowModel>
69{
70private:
73 static constexpr auto dim = GridView::dimension;
74 static constexpr auto numEq = ModelTraits::numEq();
75public:
76 static constexpr int value = numEq - dim;
77};
78
80template<class TypeTag>
81struct GridGeometry<TypeTag, TTag::StaggeredFreeFlowModel>
82{
83private:
84 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
85 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
88public:
90};
91
93template<class TypeTag>
94struct FaceVariables<TypeTag, TTag::StaggeredFreeFlowModel>
95{
96private:
99 static constexpr auto upwindSchemeOrder = getPropValue<TypeTag, Properties::UpwindSchemeOrder>();
100public:
102};
103
105template<class TypeTag>
116
118template<class TypeTag>
124
128template<class TypeTag>
129struct UpwindSchemeOrder<TypeTag, TTag::StaggeredFreeFlowModel> { static constexpr int value = 1; };
130
131} // namespace Properties
132} // namespace Dumux
133
134#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:154
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:150
Definition common/properties.hh:37
Type tag for numeric models.
Definition grid.hh:36
Definition common/properties.hh:98
The type for a global container for the volume variables.
Definition common/properties.hh:105
specifies the velocity calculation module to be used
Definition common/properties.hh:164
The number of equations for cell-centered dofs.
Definition common/properties.hh:206
The number of equations for face dofs.
Definition common/properties.hh:208
Class containing local face-related data.
Definition common/properties.hh:226
Specifies the order of the upwinding scheme (1 == first order, 2 == second order(tvd methods)).
Definition common/properties.hh:234
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:96
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:51
std::tuple< StaggeredModel > InheritsFrom
Definition discretization/staggered/freeflow/properties.hh:51
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:59
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:76
StaggeredFVGridGeometry< GridView, enableCache, Traits > type
Definition discretization/staggered/freeflow/properties.hh:89
StaggeredFaceVariables< FacePrimaryVariables, GridView::dimension, upwindSchemeOrder > type
Definition discretization/staggered/freeflow/properties.hh:101
StaggeredGridVolumeVariables< Traits, enableCache > type
Definition discretization/staggered/freeflow/properties.hh:114
StaggeredFreeFlowVelocityOutput< GetPropType< TypeTag, Properties::GridVariables >, GetPropType< TypeTag, Properties::SolutionVector > > type
Definition discretization/staggered/freeflow/properties.hh:121
static constexpr int value
Definition discretization/staggered/freeflow/properties.hh:129
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:171
Class to specify the type of a boundary condition for the 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.