3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
test_impesspatialparams.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_IMPES_SPATIALPARAMS_HH
25#define TEST_IMPES_SPATIALPARAMS_HH
26
31
32namespace Dumux
33{
34
35//forward declaration
36template<class TypeTag>
38
39namespace Properties
40{
41// The spatial parameters TypeTag
43
44// Set the spatial parameters
46
47// Set the material law
48template<class TypeTag>
49struct MaterialLaw<TypeTag, TTag::TestIMPESSpatialParams>
50{
51private:
52 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
54public:
56};
57}
58
63template<class TypeTag>
65{
66 using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
67 using Grid = typename GET_PROP_TYPE(TypeTag, Grid);
68 using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
69 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
71 using CoordScalar = typename Grid::ctype;
72
73 enum
74 {dimWorld=Grid::dimensionworld};
75 using Element = typename Grid::Traits::template Codim<0>::Entity;
76
77 using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
78
79public:
80 using MaterialLaw = typename GET_PROP_TYPE(TypeTag, MaterialLaw);
81 using MaterialLawParams = typename MaterialLaw::Params;
82
83
84 Scalar intrinsicPermeability (const Element& element) const
85 {
86 return 1.0e-7;
87 }
88
89 double porosity(const Element& element) const
90 {
91 return 0.2;
92 }
93
94
95 // return the parameter object for the Brooks-Corey material law which depends on the position
96// const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
97 const MaterialLawParams& materialLawParams(const Element& element) const
98 {
99 return materialLawParams_;
100 }
101
102
103 TestIMPESSpatialParams(const Problem& problem)
104 : ParentType(problem)
105 {
106 // residual saturations
107 materialLawParams_.setSwr(0.2);
108 materialLawParams_.setSnr(0.2);
109
110// // parameters for the Brooks-Corey Law
111// // entry pressures
112 materialLawParams_.setPe(0);
113// // Brooks-Corey shape parameters
114 materialLawParams_.setLambda(2);
115
116 // parameters for the linear
117 // entry pressures function
118// materialLawParams_.setEntryPc(0);
119// materialLawParams_.setMaxPc(0);
120 }
121
122private:
123 MaterialLawParams materialLawParams_;
124};
125
126} // end namespace
127#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
SET_TYPE_PROP(FVPressureOneP, Velocity, FVVelocity1P< TypeTag >)
Set velocity reconstruction implementation standard cell centered finite volume schemes as default.
Type tag TestIMPESSpatialParams
Definition: test_impesspatialparams.hh:42
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
Implementation of the regularized Brooks-Corey capillary pressure / relative permeability <-> saturat...
Definition: regularizedbrookscorey.hh:62
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 sequential 2p test
Definition: test_impesspatialparams.hh:65
const MaterialLawParams & materialLawParams(const Element &element) const
Definition: test_impesspatialparams.hh:97
Scalar intrinsicPermeability(const Element &element) const
Definition: test_impesspatialparams.hh:84
TestIMPESSpatialParams(const Problem &problem)
Definition: test_impesspatialparams.hh:103
double porosity(const Element &element) const
Definition: test_impesspatialparams.hh:89
typename MaterialLaw::Params MaterialLawParams
Definition: test_impesspatialparams.hh:81
typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw
Definition: test_impesspatialparams.hh:80
This material law takes a material law defined for effective saturations and converts it to a materia...