3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
freeflow/shallowwater/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 * 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 2 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 *****************************************************************************/
62#ifndef DUMUX_FREEFLOW_SHALLOW_WATER_MODEL_HH
63#define DUMUX_FREEFLOW_SHALLOW_WATER_MODEL_HH
64
67
70
71#include "localresidual.hh"
72#include "volumevariables.hh"
73#include "fluxvariables.hh"
74#include "indices.hh"
75#include "iofields.hh"
76
77namespace Dumux {
78
84{
86
87 static constexpr int numEq() { return 3; }
88 static constexpr int numPhases() { return 1; }
89
91 static constexpr bool enableAdvection() { return true; }
92
94 static constexpr bool enableDiffusion() { return false; }
95};
96
104template<class PV,
105 class MT>
111
112
113namespace Properties {
114
116namespace TTag {
117struct ShallowWater { using InheritsFrom = std::tuple<ModelProperties>; };
118}// end namespace TTag
119
121// Define properties
123
124template<class TypeTag>
127
128template<class TypeTag>
131
132template<class TypeTag>
135
136template<class TypeTag>
146
147template<class TypeTag>
150
151template<class TypeTag>
154
155template<class TypeTag>
158
159template<class TypeTag>
162
163//template<class TypeTag> struct DiffusionType<TypeTag, TTag::ShallowWater> {using type = ShallowWaterExactRiemannSolver<TypeTag>;};
164
165} // end properties
166} // end namespace Dumux
167
168#endif // DUMUX_FREEFLOW_SHALLOW_WATER_MODEL_HH
Computes the shallow water flux by solving a riemann problem.
Classes related to flux variables caching.
Definition adapt.hh:29
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
Definition exactriemann.hh:31
Traits class encapsulating model specifications.
Definition common/properties.hh:66
A class helping models to define input and output fields.
Definition common/properties.hh:76
Definition common/properties.hh:89
The secondary variables within a sub-control volume.
Definition common/properties.hh:118
Container storing the different types of flux variables.
Definition common/properties.hh:124
Stores data associated with flux vars.
Definition common/properties.hh:126
The engine behind the global flux cache (how to fill caches for the stencil).
Definition common/properties.hh:128
The type for the calculation the advective fluxes.
Definition common/properties.hh:152
The empty filler class corresponding to EmptyCache.
Definition fluxvariablescaching.hh:32
An empty flux variables cache.
Definition fluxvariablescaching.hh:47
Computes the shallow water flux by solving a riemann problem.
Definition shallowwaterflux.hh:38
The flux variables class for the shallow water model.
Definition freeflow/shallowwater/fluxvariables.hh:43
The common indices for the shallow water equations model.
Definition freeflow/shallowwater/indices.hh:35
Adds vtk output fields for the shallow water model.
Definition freeflow/shallowwater/iofields.hh:37
Element-wise calculation of the residual for the shallow water equations.
Definition freeflow/shallowwater/localresidual.hh:38
Specifies a number properties of shallow water models.
Definition freeflow/shallowwater/model.hh:84
static constexpr bool enableDiffusion()
Enable diffusion.
Definition freeflow/shallowwater/model.hh:94
static constexpr bool enableAdvection()
Enable advection.
Definition freeflow/shallowwater/model.hh:91
ShallowWaterIndices Indices
Definition freeflow/shallowwater/model.hh:85
static constexpr int numPhases()
Definition freeflow/shallowwater/model.hh:88
static constexpr int numEq()
Definition freeflow/shallowwater/model.hh:87
Traits class for the volume variables of the shallow water model.
Definition freeflow/shallowwater/model.hh:107
PV PrimaryVariables
Definition freeflow/shallowwater/model.hh:108
MT ModelTraits
Definition freeflow/shallowwater/model.hh:109
Definition freeflow/shallowwater/model.hh:117
std::tuple< ModelProperties > InheritsFrom
Definition freeflow/shallowwater/model.hh:117
ShallowWaterModelTraits type
Definition freeflow/shallowwater/model.hh:126
ShallowWaterResidual< TypeTag > type
Definition freeflow/shallowwater/model.hh:130
ShallowWaterFluxVariables< TypeTag > type
Definition freeflow/shallowwater/model.hh:134
ShallowWaterVolumeVariables< Traits > type
Definition freeflow/shallowwater/model.hh:144
FluxVariablesCaching::EmptyCache< GetPropType< TypeTag, Properties::Scalar > > type
Definition freeflow/shallowwater/model.hh:149
FluxVariablesCaching::EmptyCacheFiller type
Definition freeflow/shallowwater/model.hh:153
ShallowWaterIOFields type
Definition freeflow/shallowwater/model.hh:157
ShallowWaterFlux< GetPropType< TypeTag, Properties::NumEqVector > > type
Definition freeflow/shallowwater/model.hh:161
Volume variables for the shallow water equations model.
Definition freeflow/shallowwater/volumevariables.hh:35
Declares all properties used in Dumux.
Defines a type tags and some fundamental properties for all models.
The flux variables class for the shallow water model.
The common indices for the shallow water equations model.
Add I/O fields specific to shallow water.
Element-wise calculation of the residual for the shallow water equations.
Volume variables for the shallow water equations model.