26#ifndef DUMUX_INFILTRATION_THREEP_SPATIAL_PARAMS_HH
27#define DUMUX_INFILTRATION_THREEP_SPATIAL_PARAMS_HH
42template<
class Gr
idGeometry,
class Scalar>
45 InfiltrationThreePSpatialParams<GridGeometry, Scalar>>
47 using GridView =
typename GridGeometry::GridView;
48 using FVElementGeometry =
typename GridGeometry::LocalView;
49 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
50 using Element =
typename GridView::template Codim<0>::Entity;
54 using GlobalPosition =
typename SubControlVolume::GlobalPosition;
70 fineK_ = getParam<Scalar>(
"SpatialParams.permeability");
71 coarseK_ = getParam<Scalar>(
"SpatialParams.permeability");
74 porosity_ = getParam<Scalar>(
"SpatialParams.porosity");
75 vGAlpha_ = getParam<Scalar>(
"SpatialParams.vanGenuchtenAlpha");
76 vGN_ = getParam<Scalar>(
"SpatialParams.vanGenuchtenN");
78 materialParams_.setSwr(0.12);
79 materialParams_.setSnr(0.07);
80 materialParams_.setSgr(0.03);
83 materialParams_.setVgAlpha(vGAlpha_);
84 materialParams_.setVgn(vGN_);
85 materialParams_.setKrRegardsSnr(
false);
88 materialParams_.setKdNAPL(0.);
89 materialParams_.setRhoBulk(1500.);
91 plotFluidMatrixInteractions_ = getParam<bool>(
"Output.PlotFluidMatrixInteractions");
121 template<
class ElementSolution>
123 const SubControlVolume& scv,
124 const ElementSolution& elemSol)
const
126 if (isFineMaterial_(scv.dofPosition()))
148 return materialParams_;
151 bool isFineMaterial_(
const GlobalPosition &globalPos)
const
153 70. - eps_ <= globalPos[0] && globalPos[0] <= 85. + eps_ &&
154 7.0 - eps_ <= globalPos[1] && globalPos[1] <= 7.50 + eps_;
166 bool plotFluidMatrixInteractions_;
168 static constexpr Scalar eps_ = 1e-6;
Interface for passing data sets to a file and plotting them, if gnuplot is installed.
Interface for plotting the three-phase fluid-matrix-interaction laws.
Implementation of a regularized version of van Genuchten's capillary pressure-saturation relation for...
Parameters that are necessary for the regularization of the Parker - Van Genuchten capillary pressure...
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Interface for passing data sets to a file and plotting them, if gnuplot is installed.
Definition: gnuplotinterface.hh:57
void plot(const std::string &filename="")
Plots the files for a specific window number, writes a gnuplot and png file.
Definition: gnuplotinterface.hh:89
void resetAll(const bool persist=true)
Resets all gnuplot parameters.
Definition: gnuplotinterface.hh:164
void setOpenPlotWindow(bool openPlotWindow)
Define whether the gnuplot window should be opened.
Definition: gnuplotinterface.hh:335
Interface for plotting the two-phase fluid-matrix-interaction laws.
Definition: plotmateriallaw.hh:42
This material law takes a material law defined for effective saturations and converts it to a materia...
Definition: 2p/efftoabslaw.hh:60
AbsParamsT Params
Definition: 2p/efftoabslaw.hh:64
Implementation of the regularized van Genuchten's capillary pressure <-> saturation relation....
Definition: regularizedparkervangen3p.hh:62
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
Definition: fv.hh:57
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition: fv1p.hh:334
Definition of the spatial parameters for the infiltration problem.
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:46
void plotMaterialLaw()
This is called from the problem and creates a gnuplot output of e.g the pc-Sw curve.
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:98
InfiltrationThreePSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:66
Scalar porosityAtPos(const GlobalPosition &globalPos) const
Returns the porosity .
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:136
typename MaterialLaw::Params MaterialLawParams
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:64
PermeabilityType permeability(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Function for defining the (intrinsic) permeability .
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:122
Scalar PermeabilityType
Export permeability type.
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:60
const MaterialLawParams & materialLawParamsAtPos(const GlobalPosition &globalPos) const
Returns the parameter object for the Brooks-Corey material law.
Definition: porousmediumflow/3p/implicit/infiltration/spatialparams.hh:146
Defines a type tag and some properties for models using the box scheme.
This material law takes a material law defined for effective saturations and converts it to a materia...