24#ifndef DUMUX_COLUMNXYLOL_SPATIAL_PARAMS_HH
25#define DUMUX_COLUMNXYLOL_SPATIAL_PARAMS_HH
39template<
class Gr
idGeometry,
class Scalar>
42 ColumnSpatialParams<GridGeometry, Scalar>>
44 using GridView =
typename GridGeometry::GridView;
45 using FVElementGeometry =
typename GridGeometry::LocalView;
46 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
48 using Element =
typename GridView::template Codim<0>::Entity;
52 using GlobalPosition =
typename SubControlVolume::GlobalPosition;
71 fineHeatCap_ = getParam<Scalar>(
"Component.SolidHeatCapacityFine", 850.0);
72 coarseHeatCap_ = getParam<Scalar>(
"Component.SolidHeatCapacityCoarse", 84000.0);
75 fineMaterialParams_.setSwr(0.12);
76 fineMaterialParams_.setSnr(0.10);
77 fineMaterialParams_.setSgr(0.01);
78 coarseMaterialParams_.setSwr(0.12);
79 coarseMaterialParams_.setSnr(0.10);
80 coarseMaterialParams_.setSgr(0.01);
83 fineMaterialParams_.setVgAlpha(0.0005);
84 coarseMaterialParams_.setVgAlpha(0.5);
85 fineMaterialParams_.setVgn(4.0);
86 coarseMaterialParams_.setVgn(4.0);
88 coarseMaterialParams_.setKrRegardsSnr(
true);
89 fineMaterialParams_.setKrRegardsSnr(
true);
92 coarseMaterialParams_.setKdNAPL(0.);
93 coarseMaterialParams_.setRhoBulk(1500.);
94 fineMaterialParams_.setKdNAPL(0.);
95 fineMaterialParams_.setRhoBulk(1500.);
107 template<
class ElementSolution>
109 const SubControlVolume& scv,
110 const ElementSolution& elemSol)
const
112 const auto& globalPos = scv.dofPosition();
113 if (isFineMaterial_(globalPos))
135 template<
class ElementSolution>
137 const SubControlVolume& scv,
138 const ElementSolution& elemSol)
const
140 const auto& globalPos = scv.dofPosition();
141 if (isFineMaterial_(globalPos))
142 return fineMaterialParams_;
144 return coarseMaterialParams_;
156 template <
class ElementSolution,
class Sol
idState>
158 const SubControlVolume& scv,
159 const ElementSolution& elemSol,
160 const SolidState& solidState)
const
162 const auto& globalPos = scv.dofPosition();
163 if (isFineMaterial_(globalPos))
166 return coarseHeatCap_;
170 bool isFineMaterial_(
const GlobalPosition &globalPos)
const
172 return (0.90 - eps_ <= globalPos[1]);
181 Scalar coarseHeatCap_;
186 static constexpr Scalar eps_ = 1e-6;
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
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 column problem.
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:43
PermeabilityType permeability(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Function for defining the (intrinsic) permeability .
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:108
ColumnSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:60
const MaterialLawParams & materialLawParams(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw,...
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:136
Scalar solidHeatCapacity(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, const SolidState &solidState) const
Returns the user-defined solid heat capacity.
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:157
Scalar porosityAtPos(const GlobalPosition &globalPos) const
Defines the porosity in [-].
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:122
Scalar PermeabilityType
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:58
typename MaterialLaw::Params MaterialLawParams
Definition: porousmediumflow/3p3c/implicit/columnxylol/spatialparams.hh:57
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...