version 3.9.0
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// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
58#ifndef DUMUX_FREEFLOW_SHALLOW_WATER_MODEL_HH
59#define DUMUX_FREEFLOW_SHALLOW_WATER_MODEL_HH
60
64
69
70#include "localresidual.hh"
71#include "volumevariables.hh"
72#include "fluxvariables.hh"
73#include "indices.hh"
74#include "iofields.hh"
75
76namespace Dumux {
77
83{
85
86 static constexpr int numEq() { return 3; }
87 static constexpr int numPhases() { return 1; }
88
90 static constexpr bool enableAdvection() { return true; }
91};
92
101template<class PV,
102 class FSY,
103 class MT>
105{
107 using FluidSystem = FSY;
108 using ModelTraits = MT;
109};
110
111
112namespace Properties {
113
115namespace TTag {
116struct ShallowWater { using InheritsFrom = std::tuple<ModelProperties>; };
117}// end namespace TTag
118
120// Define properties
122
123template<class TypeTag>
124struct ModelTraits<TypeTag, TTag::ShallowWater>
126
127template<class TypeTag>
128struct LocalResidual<TypeTag, TTag::ShallowWater>
130
131template<class TypeTag>
132struct FluxVariables<TypeTag, TTag::ShallowWater>
134
135template<class TypeTag>
136struct VolumeVariables<TypeTag, TTag::ShallowWater>
137{
138private:
143public:
145};
146
147template<class TypeTag>
148struct IOFields<TypeTag, TTag::ShallowWater>
150
151template<class TypeTag>
152struct AdvectionType<TypeTag, TTag::ShallowWater>
154
155template<class TypeTag>
158
159template<class TypeTag>
160struct FluidSystem<TypeTag, TTag::ShallowWater>
161{
162private:
164public:
166};
167
168} // end properties
169} // end namespace Dumux
170
171#endif
A liquid phase consisting of a single component.
A liquid phase consisting of a single component.
Definition 1pliquid.hh:34
Prepare and compute the shallow water advective flux.
Definition shallowwaterflux.hh:37
The flux variables class for the shallow water model.
Definition freeflow/shallowwater/fluxvariables.hh:32
Adds vtk output fields for the shallow water model.
Definition freeflow/shallowwater/iofields.hh:25
Element-wise calculation of the residual for the shallow water equations.
Definition freeflow/shallowwater/localresidual.hh:28
Compute the shallow water viscous momentum flux due to viscosity.
Definition shallowwaterviscousflux.hh:65
Volume variables for the shallow water equations model.
Definition freeflow/shallowwater/volumevariables.hh:23
Defines a type tags and some fundamental properties for all models.
Defines all properties used in Dumux.
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.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
Definition adapt.hh:17
A helper to deduce a vector with the same size as numbers of equations.
Prepare and compute the shallow water advective flux.
Compute the shallow water viscous momentum flux due to viscosity.
A simple implementation of pure water.
Definition freeflow/shallowwater/model.hh:116
std::tuple< ModelProperties > InheritsFrom
Definition freeflow/shallowwater/model.hh:116
The common indices for the shallow water equations model.
Definition freeflow/shallowwater/indices.hh:23
Specifies a number properties of shallow water models.
Definition freeflow/shallowwater/model.hh:83
static constexpr bool enableAdvection()
Enable advection.
Definition freeflow/shallowwater/model.hh:90
static constexpr int numPhases()
Definition freeflow/shallowwater/model.hh:87
static constexpr int numEq()
Definition freeflow/shallowwater/model.hh:86
Traits class for the volume variables of the shallow water model.
Definition freeflow/shallowwater/model.hh:105
MT ModelTraits
Definition freeflow/shallowwater/model.hh:108
PV PrimaryVariables
Definition freeflow/shallowwater/model.hh:106
FSY FluidSystem
Definition freeflow/shallowwater/model.hh:107