3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
test_transportspatialparams.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 *****************************************************************************/
24#ifndef TEST_TRANSPORT_SPATIALPARAMS_HH
25#define TEST_TRANSPORT_SPATIALPARAMS_HH
26
31
32namespace Dumux
33{
38//forward declaration
39template<class TypeTag>
41
42namespace Properties
43{
44// The spatial parameters TypeTag
46
47// Set the spatial parameters
49
50// Set the material law
51template<class TypeTag>
53{
54private:
55 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
57public:
59};
60}
61
66template<class TypeTag>
68{
70 using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
71 using Grid = typename GET_PROP_TYPE(TypeTag, Grid);
72 using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
73 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
74
75 using Element = typename Grid::Traits::template Codim<0>::Entity;
76
77public:
78 using MaterialLaw = typename GET_PROP_TYPE(TypeTag, MaterialLaw);
79 using MaterialLawParams = typename MaterialLaw::Params;
80
81 Scalar intrinsicPermeability (const Element& element) const
82 {
83 return 1e-5;
84 }
85
86 double porosity(const Element& element) const
87 {
88 return 0.2;
89 }
90
91
92 // return the parameter object for the Brooks-Corey material law which depends on the position
93 const MaterialLawParams& materialLawParams(const Element &element) const
94 {
95 return materialLawParams_;
96 }
97
98
99 TestTransportSpatialParams(const Problem& problem)
100 : ParentType(problem)
101 {
102 // residual saturations
103 materialLawParams_.setSwr(0.0);
104 materialLawParams_.setSnr(0.0);
105
106 // parameters for the linear entry pressures function
107 materialLawParams_.setEntryPc(0);
108 materialLawParams_.setMaxPc(0);
109 }
110
111private:
112 MaterialLawParams materialLawParams_;
113};
114
115} // end namespace
116#endif
#define GET_PROP_TYPE(TypeTag, PropTagName)
Definition: propertysystemmacros.hh:283
#define NEW_TYPE_TAG(...)
Definition: propertysystemmacros.hh:130
Linear capillary pressure and relative permeability <-> saturation relations.
Implementation of a regularized version of the Brooks-Corey capillary pressure / relative permeabilit...
The base class for spatial parameters of problems using the fv method.
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Type tag TestTransportSpatialParams
Definition: test_transportspatialparams.hh:45
SET_TYPE_PROP(FVPressureOneP, Velocity, FVVelocity1P< TypeTag >)
Set velocity reconstruction implementation standard cell centered finite volume schemes as default.
The type of the spatial parameters object.
Definition: common/properties.hh:221
This material law takes a material law defined for effective saturations and converts it to a materia...
Definition: 2p/efftoabslaw.hh:60
Linear capillary pressure and relative permeability <-> saturation relations.
Definition: linearmaterial.hh:48
Definition: sequentialfv.hh:34
The base class for spatial parameters of a multi-phase problem using the fv method.
Definition: sequentialfv.hh:43
spatial parameters for the explicit transport test
Definition: test_transportspatialparams.hh:68
typename MaterialLaw::Params MaterialLawParams
Definition: test_transportspatialparams.hh:79
const MaterialLawParams & materialLawParams(const Element &element) const
Definition: test_transportspatialparams.hh:93
typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw
Definition: test_transportspatialparams.hh:78
double porosity(const Element &element) const
Definition: test_transportspatialparams.hh:86
Scalar intrinsicPermeability(const Element &element) const
Definition: test_transportspatialparams.hh:81
TestTransportSpatialParams(const Problem &problem)
Definition: test_transportspatialparams.hh:99
This material law takes a material law defined for effective saturations and converts it to a materia...