25#ifndef DUMUX_INCOMPRESSIBLE_ONEP_TEST_SPATIAL_PARAMS_HH
26#define DUMUX_INCOMPRESSIBLE_ONEP_TEST_SPATIAL_PARAMS_HH
38template<
class Gr
idGeometry,
class Scalar>
39class OnePTestSpatialParams
40:
public FVSpatialParamsOneP<GridGeometry, Scalar,
41 OnePTestSpatialParams<GridGeometry, Scalar>>
43 using GridView =
typename GridGeometry::GridView;
44 using Element =
typename GridView::template Codim<0>::Entity;
45 using FVElementGeometry =
typename GridGeometry::LocalView;
46 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
48 OnePTestSpatialParams<GridGeometry, Scalar>>;
50 static constexpr int dimWorld = GridView::dimensionworld;
51 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
58 permeability_ = getParam<Scalar>(
"SpatialParams.Permeability");
59 permeabilityLens_ = getParam<Scalar>(
"SpatialParams.PermeabilityLens");
61 lensLowerLeft_ = getParam<GlobalPosition>(
"SpatialParams.LensLowerLeft");
62 lensUpperRight_ = getParam<GlobalPosition>(
"SpatialParams.LensUpperRight");
64 checkIsConstantVelocity_ = getParam<bool>(
"Problem.CheckIsConstantVelocity",
false);
75 template<
class ElementSolution>
77 const SubControlVolume& scv,
78 const ElementSolution& elemSol)
const
80 if (isInLens_(scv.dofPosition()) && !checkIsConstantVelocity_)
81 return permeabilityLens_;
95 bool isInLens_(
const GlobalPosition &globalPos)
const
97 for (
int i = 0; i < dimWorld; ++i) {
98 if (globalPos[i] < lensLowerLeft_[i] + eps_ || globalPos[i] > lensUpperRight_[i] - eps_)
104 GlobalPosition lensLowerLeft_;
105 GlobalPosition lensUpperRight_;
107 Scalar permeability_, permeabilityLens_;
109 static constexpr Scalar eps_ = 1.5e-7;
111 bool checkIsConstantVelocity_;
The base class for spatial parameters of one-phase problems using a fully implicit discretization met...
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
The base class for spatial parameters of one-phase problems using a fully implicit discretization met...
Definition: fv1p.hh:77
FVSpatialParamsOneP(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: fv1p.hh:91
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition: fv1p.hh:334
Scalar PermeabilityType
Definition: multidomain/boundary/darcydarcy/1p_1p/spatialparams.hh:74
PermeabilityType permeability(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Function for defining the (intrinsic) permeability .
Definition: porousmediumflow/1p/implicit/incompressible/spatialparams.hh:76
Scalar porosityAtPos(const GlobalPosition &globalPos) const
Defines the porosity .
Definition: porousmediumflow/1p/implicit/incompressible/spatialparams.hh:91
OnePTestSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: porousmediumflow/1p/implicit/incompressible/spatialparams.hh:55
Defines a type tag and some properties for models using the box scheme.