25#ifndef DUMUX_MPNC_COMPARISON_SPATIAL_PARAMS_HH
26#define DUMUX_MPNC_COMPARISON_SPATIAL_PARAMS_HH
47template<
class Gr
idGeometry,
class Scalar>
50 TwoPTwoCChemicalNonequilibriumSpatialParams<GridGeometry, Scalar>>
52 using GridView =
typename GridGeometry::GridView;
53 using FVElementGeometry =
typename GridGeometry::LocalView;
54 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
56 using Element =
typename GridView::template Codim<0>::Entity;
60 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
62 enum {dimWorld=GridView::dimensionworld};
86 coarseMaterialParams_.setSwr(0.2);
87 coarseMaterialParams_.setSnr(0.1);
90 coarseMaterialParams_.setPe(1e4);
91 coarseMaterialParams_.setLambda(2.0);
93 aWettingNonWettingA1_ = getParam<Scalar>(
"SpatialParams.WettingNonWettingAreaA1");
94 aWettingNonWettingA2_ = getParam<Scalar>(
"SpatialParams.WettingNonWettingAreaA2");
95 aWettingNonWettingA3_ = getParam<Scalar>(
"SpatialParams.WettingNonWettingAreaA3");
98 aWettingNonWettingSurfaceParams_.setA1(aWettingNonWettingA1_);
99 aWettingNonWettingSurfaceParams_.setA2(aWettingNonWettingA2_);
100 aWettingNonWettingSurfaceParams_.setA3(aWettingNonWettingA3_);
103 pcMax_ = TwoPLaw::pc(coarseMaterialParams_, 0.0);
104 aWettingNonWettingSurfaceParams_.setPcMax(pcMax_);
105 characteristicLength_ =getParam<Scalar>(
"SpatialParams.MeanPoreSize");
106 factorMassTransfer_ = getParam<Scalar>(
"SpatialParams.MassTransferFactor");
109 template<
class ElementSolution>
111 const SubControlVolume& scv,
112 const ElementSolution& elemSol)
const
136 return coarseMaterialParams_;
149 template<
class ElementSolution>
151 const SubControlVolume &scv,
152 const ElementSolution &elemSol)
const
154 return aWettingNonWettingSurfaceParams_ ;
170 template<
class ElementSolution>
171 const Scalar
pcMax(
const Element &element,
172 const SubControlVolume &scv,
173 const ElementSolution &elemSol)
const
174 {
return aWettingNonWettingSurfaceParams_.pcMax() ; }
182 {
return characteristicLength_ ; }
190 {
return factorMassTransfer_; }
198 template<
class Flu
idSystem>
200 {
return FluidSystem::H2OIdx; }
207 static constexpr Scalar eps_ = 1e-6;
213 Scalar aWettingNonWettingA1_ ;
214 Scalar aWettingNonWettingA2_ ;
215 Scalar aWettingNonWettingA3_ ;
217 Scalar factorMassTransfer_ ;
218 Scalar characteristicLength_ ;
Implementation of a regularized version of the Brooks-Corey capillary pressure / relative permeabilit...
Regularized linear capillary pressure and relative permeability <-> saturation relations.
Specification of a function relating volume specific interfacial area to capillary pressure and satur...
Specification of a function relating volume specific interfacial area to capillary pressure and satur...
Specification of a function relating volume specific interfacial area to capillary pressure and satur...
This material law takes a material law (interfacial area surface) defined for effective saturations a...
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
Base class for spatial parameters dealing with thermal and chemical non-equilibrium.
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 Brooks-Corey capillary pressure / relative permeability <-> saturat...
Definition: regularizedbrookscorey.hh:62
Implementation of an interfacial area surface.
Definition: awnsurfacepcmaxfct.hh:44
This material law takes a material law (interfacial area surface) defined for effective saturations a...
Definition: efftoabslawia.hh:63
InterfacialAreaAbsParamsT Params
Definition: efftoabslawia.hh:68
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition: fv1p.hh:334
Definition of the spatial parameters for non-equilibrium.
Definition: fvnonequilibrium.hh:39
The spatial parameters for the 2p2c chemical nonequilibrium problem.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:51
int wettingPhaseAtPos(const GlobalPosition &globalPos) const
Function for defining which phase is to be considered as the wetting phase.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:199
Scalar porosityAtPos(const GlobalPosition &globalPos) const
Defines the porosity of the soil.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:123
const Scalar factorMassTransferAtPos(const GlobalPosition &globalPos) const
Return the pre factor the the energy transfer.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:189
const AwnSurfaceParams & aWettingNonWettingSurfaceParams(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Returns a reference to the container object for the parametrization of the surface between wetting an...
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:150
Scalar PermeabilityType
Export permeability type.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:68
PermeabilityType permeability(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:110
const Scalar characteristicLengthAtPos(const GlobalPosition &globalPos) const
Returns the characteristic length for the mass transfer.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:181
TwoPTwoCChemicalNonequilibriumSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:76
const Scalar pcMax(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Returns the maximum capillary pressure for the given pc-Sw curve.
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:171
const MaterialLawParams & materialLawParamsAtPos(const GlobalPosition &globalPos) const
Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw,...
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:134
typename MaterialLaw::Params MaterialLawParams
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:71
typename AwnSurface::Params AwnSurfaceParams
Definition: porousmediumflow/2p2c/implicit/chemicalnonequilibrium/spatialparams.hh:74
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...