Definition of the spatial parameters for the evaporation atmosphere Problem (using a "poor man's coupling") More...
#include <test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh>
Definition of the spatial parameters for the evaporation atmosphere Problem (using a "poor man's coupling")
Public Types | |
using | PermeabilityType = Scalar |
Export the type used for the permeability. More... | |
using | MaterialLaw = EffToAbsLaw< RegularizedBrooksCorey< Scalar > > |
Export the material law type used. More... | |
using | MaterialLawParams = typename MaterialLaw::Params |
Convenience aliases of the law parameters. More... | |
using | EffectiveIALawAws = AwnSurfacePolynomial2ndOrder< Scalar > |
Export the types used for interfacial area calculations. More... | |
using | EffectiveIALawAwn = AwnSurfacePcMaxFct< Scalar > |
using | EffectiveIALawAns = AwnSurfaceExpSwPcTo3< Scalar > |
using | AwnSurface = EffToAbsLawIA< EffectiveIALawAwn, MaterialLawParams > |
using | AwsSurface = EffToAbsLawIA< EffectiveIALawAws, MaterialLawParams > |
using | AnsSurface = EffToAbsLawIA< EffectiveIALawAns, MaterialLawParams > |
using | AwnSurfaceParams = typename AwnSurface::Params |
using | AwsSurfaceParams = typename AwsSurface::Params |
using | AnsSurfaceParams = typename AnsSurface::Params |
Public Member Functions | |
EvaporationAtmosphereSpatialParams (std::shared_ptr< const GridGeometry > gridGeometry) | |
template<class ElementSolution > | |
PermeabilityType | permeability (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
template<class ElementSolution > | |
Scalar | porosity (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining the porosity. That is possibly solution dependent. More... | |
template<class ElementSolution > | |
const MaterialLawParams & | materialLawParams (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
const MaterialLawParams & | materialLawParamsAtPos (const GlobalPosition &globalPos) const |
template<class ElementSolution > | |
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 and non-Wetting phase. More... | |
template<class ElementSolution > | |
const AnsSurfaceParams & | aNonWettingSolidSurfaceParams (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Returns a reference to the container object for the parametrization of the surface between non-Wetting and solid phase. More... | |
template<class ElementSolution > | |
const AwsSurfaceParams & | aWettingSolidSurfaceParams (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 and solid phase. More... | |
const Scalar | characteristicLengthAtPos (const GlobalPosition &globalPos) const |
Returns the characteristic length for the mass transfer. More... | |
const Scalar | factorEnergyTransferAtPos (const GlobalPosition &globalPos) const |
Return the pre factor the the energy transfer. More... | |
const Scalar | factorMassTransferAtPos (const GlobalPosition &globalPos) const |
Return the pre factor the the mass transfer. More... | |
template<class FluidSystem > | |
int | wettingPhaseAtPos (const GlobalPosition &globalPos) const |
Function for defining which phase is to be considered as the wetting phase. More... | |
bool | inPM_ (const GlobalPosition &globalPos) const |
Returns whether the tested position is in the porous medium part of the domain. More... | |
bool | inFF_ (const GlobalPosition &globalPos) const |
Returns whether the tested position is above PM / "free flow" in the domain. More... | |
const Scalar | heightPM () const |
access function for the depth / height of the porous medium More... | |
const Scalar | characteristicLength (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Return the characteristic length for the mass transfer. More... | |
const Scalar | factorEnergyTransfer (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Return the pre-factor the the energy transfer. More... | |
const Scalar | factorMassTransfer (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Return the pre-factor the the mass transfer. More... | |
decltype(auto) | materialLawParams (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw, etc.). More... | |
int | wettingPhase (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining which phase is to be considered as the wetting phase. More... | |
const GlobalPosition & | gravity (const GlobalPosition &pos) const |
Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\). More... | |
Scalar | harmonicMean (const Scalar T1, const Scalar T2, const GlobalPosition &normal) const |
Harmonic average of a discontinuous scalar field at discontinuity interface (for compatibility reasons with the function below) More... | |
DimWorldMatrix | harmonicMean (const DimWorldMatrix &T1, const DimWorldMatrix &T2, const GlobalPosition &normal) const |
Harmonic average of a discontinuous tensorial field at discontinuity interface. More... | |
decltype(auto) | permeability (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining the (intrinsic) permeability \([m^2]\). More... | |
Scalar | porosity (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining the porosity. That is possibly solution dependent. More... | |
Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
Function for defining the solid volume fraction. That is possibly solution dependent. More... | |
Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
Scalar | beaversJosephCoeffAtPos (const GlobalPosition &globalPos) const |
Function for defining the Beavers-Joseph coefficient for multidomain problems \(\mathrm{[-]}\). More... | |
Scalar | forchCoeff (const SubControlVolumeFace &scvf) const |
Apply the Forchheimer coefficient for inertial forces calculation. More... | |
const GridGeometry & | fvGridGeometry () const |
The finite volume grid geometry. More... | |
const GridGeometry & | gridGeometry () const |
The finite volume grid geometry. More... | |
Static Public Member Functions | |
static constexpr bool | evaluatePermeabilityAtScvfIP () |
If the permeability should be evaluated directly at the scvf integration point (for convergence tests with analytical and continuous perm functions) or is evaluated at the scvs (for permeability fields with discontinuities) -> default. More... | |
Protected Member Functions | |
EvaporationAtmosphereSpatialParams< GridGeometry, Scalar > & | asImp_ () |
const EvaporationAtmosphereSpatialParams< GridGeometry, Scalar > & | asImp_ () const |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AnsSurface = EffToAbsLawIA<EffectiveIALawAns, MaterialLawParams> |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AnsSurfaceParams = typename AnsSurface::Params |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AwnSurface = EffToAbsLawIA<EffectiveIALawAwn, MaterialLawParams> |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AwnSurfaceParams = typename AwnSurface::Params |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AwsSurface = EffToAbsLawIA<EffectiveIALawAws, MaterialLawParams> |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::AwsSurfaceParams = typename AwsSurface::Params |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::EffectiveIALawAns = AwnSurfaceExpSwPcTo3<Scalar> |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::EffectiveIALawAwn = AwnSurfacePcMaxFct<Scalar> |
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::EffectiveIALawAws = AwnSurfacePolynomial2ndOrder<Scalar> |
Export the types used for interfacial area calculations.
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::MaterialLaw = EffToAbsLaw<RegularizedBrooksCorey<Scalar> > |
Export the material law type used.
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::MaterialLawParams = typename MaterialLaw::Params |
Convenience aliases of the law parameters.
using Dumux::EvaporationAtmosphereSpatialParams< GridGeometry, Scalar >::PermeabilityType = Scalar |
Export the type used for the permeability.
|
inline |
|
inline |
Returns a reference to the container object for the parametrization of the surface between non-Wetting and solid phase.
The position is determined based on the coordinate of the vertex belonging to the considered sub-control volume.
element | The finite element |
scv | The sub-control volume |
elemSol | The element solution |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
Returns a reference to the container object for the parametrization of the surface between wetting and non-Wetting phase.
The position is determined based on the coordinate of the vertex belonging to the considered sub-control volume.
element | The finite element |
scv | The sub-control volume |
elemSol | The element solution |
|
inline |
Returns a reference to the container object for the parametrization of the surface between wetting and solid phase.
The position is determined based on the coordinate of the vertex belonging to the considered sub-control volume.
element | The finite element |
scv | The sub-control volume |
elemSol | The element solution |
|
inlineinherited |
Function for defining the Beavers-Joseph coefficient for multidomain problems \(\mathrm{[-]}\).
globalPos | The global position |
|
inlineinherited |
Return the characteristic length for the mass transfer.
The position is determined based on the coordinate of the vertex belonging to the considered sub control volume.
|
inline |
Returns the characteristic length for the mass transfer.
globalPos | The position in global coordinates. |
|
inlinestaticconstexprinherited |
If the permeability should be evaluated directly at the scvf integration point (for convergence tests with analytical and continuous perm functions) or is evaluated at the scvs (for permeability fields with discontinuities) -> default.
|
inlineinherited |
Return the pre-factor the the energy transfer.
The position is determined based on the coordinate of the vertex belonging to the considered sub control volume.
|
inline |
Return the pre factor the the energy transfer.
globalPos | The position in global coordinates. |
|
inlineinherited |
Return the pre-factor the the mass transfer.
The position is determined based on the coordinate of the vertex belonging to the considered sub control volume.
|
inline |
Return the pre factor the the mass transfer.
globalPos | The position in global coordinates. |
|
inlineinherited |
Apply the Forchheimer coefficient for inertial forces calculation.
scvf | The sub-control volume face where the intrinsic velocity ought to be calculated. |
|
inlineinherited |
The finite volume grid geometry.
|
inlineinherited |
Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\).
The default behaviour is a constant gravity vector; if the Problem.EnableGravity
parameter is true, \(\boldsymbol{g} = ( 0,\dots,\ -9.81)^T \), else \(\boldsymbol{g} = ( 0,\dots, 0)^T \).
pos | the spatial position at which to evaulate the gravity vector |
|
inlineinherited |
The finite volume grid geometry.
|
inlineinherited |
Harmonic average of a discontinuous tensorial field at discontinuity interface.
T1 | first tensor |
T2 | second tensor |
normal | The unit normal vector of the interface |
|
inlineinherited |
Harmonic average of a discontinuous scalar field at discontinuity interface (for compatibility reasons with the function below)
T1 | first scalar parameter |
T2 | second scalar parameter |
normal | The unit normal vector of the interface |
|
inline |
access function for the depth / height of the porous medium
|
inlineinherited |
Function for defining the solid volume fraction. That is possibly solution dependent.
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
compIdx | The solid component index |
|
inlineinherited |
|
inlineinherited |
|
inline |
Returns whether the tested position is above PM / "free flow" in the domain.
This setting ensures that the boundary between the two domains has porous medium properties. This is desirable, because I want to observe the boundary of the porous domain. However, the position has to be the coordinate of the vertex and not the integration point of the boundary flux. If the position is the ip of the Neumann flux this leads to a situation where the vertex belongs to porous medium and there is nonetheless injection over the boundary. That does not work. -> be careful with neumannAtPos
|
inline |
Returns whether the tested position is in the porous medium part of the domain.
This setting ensures that the boundary between the two domains has porous medium properties. This is desirable, because I want to observe the boundary of the porous domain. However, the position has to be the coordinate of the vertex and not the integration point of the boundary flux. If the position is the ip of the Neumann flux this leads to a situation where the vertex belongs to porous medium and there is nonetheless injection over the boundary. That does not work. -> be careful with neumannAtPos
|
inlineinherited |
Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw, etc.).
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
|
inline |
|
inline |
|
inlineinherited |
Function for defining the (intrinsic) permeability \([m^2]\).
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
|
inline |
|
inlineinherited |
Function for defining the porosity. That is possibly solution dependent.
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
|
inline |
Function for defining the porosity. That is possibly solution dependent.
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
|
inlineinherited |
Function for defining which phase is to be considered as the wetting phase.
element | The current element |
scv | The sub-control volume inside the element. |
elemSol | The solution at the dofs connected to the element. |
|
inline |
Function for defining which phase is to be considered as the wetting phase.
globalPos | The global position |