The base class for spatial parameters for pore-network models. More...
#include <dumux/porenetwork/common/spatialparams.hh>
The base class for spatial parameters for pore-network models.
Public Types | |
using | PermeabilityType = Scalar |
Public Member Functions | |
SpatialParams (std::shared_ptr< const GridGeometry > gridGeometry) | |
template<class ElementVolumeVariables > | |
Scalar | throatLength (const Element &element, const ElementVolumeVariables &elemVolVars) const |
Length of the throat \([m]\). Can be solution-dependent. More... | |
template<class ElementVolumeVariables > | |
Scalar | throatInscribedRadius (const Element &element, const ElementVolumeVariables &elemVolVars) const |
Inscribed radius of the throat \([m]\). Can be solution-dependent. More... | |
template<class ElementVolumeVariables > | |
Scalar | throatCrossSectionalArea (const Element &element, const ElementVolumeVariables &elemVolVars) const |
Cross-sectional area of the throat \([m]\). Can be solution-dependent. More... | |
template<class ElementSolutionVector > | |
Scalar | poreInscribedRadius (const Element &element, const SubControlVolume &scv, const ElementSolutionVector &elemSol) const |
Inscribed radius of the pore body \([m]\). Can be solution-dependent. More... | |
const GridView & | gridView () const |
Returns a reference to the gridview. More... | |
Scalar | permeabilityAtPos (const GlobalPosition &globalPos) const |
Required for compatibility reasons with porous medium-flow models. More... | |
Scalar | porosityAtPos (const GlobalPosition &globalPos) const |
Required for compatibility reasons with porous medium-flow models. More... | |
template<class ElementSolution > | |
decltype(auto) | permeability (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Function for defining the (intrinsic) permeability \([m^2]\). More... | |
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... | |
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 SolidSystem , class ElementSolution , typename std::enable_if_t< SolidSystem::isInert() &&SolidSystem::numInertComponents==1 &&!decltype(isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value, int > = 0> | |
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... | |
template<class SolidSystem , class ElementSolution , typename std::enable_if_t< SolidSystem::numInertComponents==0, int > = 0> | |
Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
template<class SolidSystem , class ElementSolution , typename std::enable_if_t<(SolidSystem::numInertComponents > 1)||((SolidSystem::numInertComponents > 0) &&(!SolidSystem::isInert()||decltype(isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value)), int > = 0> | |
Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
template<class ElementSolution > | |
Scalar | extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Return how much the domain is extruded at a given sub-control volume. More... | |
Scalar | extrusionFactorAtPos (const GlobalPosition &globalPos) const |
Return how much the domain is extruded at a given position. More... | |
template<class ElementSolution > | |
Scalar | temperature (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
Return the temperature in the given sub-control volume. More... | |
Scalar | temperatureAtPos (const GlobalPosition &globalPos) const |
Return the temperature in the domain at the given position. More... | |
const GravityVector & | gravity (const GlobalPosition &pos) const |
Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\). 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 | |
Implementation & | asImp_ () |
Returns the implementation of the spatial parameters (static polymorphism) More... | |
const Implementation & | asImp_ () const |
Returns the implementation of the spatial parameters (static polymorphism) More... | |
using Dumux::PoreNetwork::SpatialParams< GridGeometry, Scalar, Implementation >::PermeabilityType = Scalar |
|
inline |
|
inlineprotectedinherited |
Returns the implementation of the spatial parameters (static polymorphism)
|
inlineprotectedinherited |
Returns the implementation of the spatial parameters (static polymorphism)
|
inlineinherited |
Function for defining the Beavers-Joseph coefficient for multidomain problems \(\mathrm{[-]}\).
globalPos | The global position |
|
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 how much the domain is extruded at a given sub-control volume.
This means the factor by which a lower-dimensional (1D or 2D) entity needs to be expanded to get a full dimensional cell. The default is 1.0 which means that 1D problems are actually thought as pipes with a cross section of 1 m^2 and 2D problems are assumed to extend 1 m to the back.
|
inlineinherited |
Return how much the domain is extruded at a given position.
|
inlineinherited |
Apply the Forchheimer coefficient for inertial forces calculation.
scvf | The sub-control volume face where the intrinsic velocity ought to be calculated. |
|
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 evaluate the gravity vector |
|
inlineinherited |
The finite volume grid geometry.
|
inline |
Returns a reference to the gridview.
|
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 |
|
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 |
Required for compatibility reasons with porous medium-flow models.
|
inline |
Inscribed radius of the pore body \([m]\). Can be solution-dependent.
element | The finite volume element |
scv | The sub-control volume |
elemSol | The element solution |
|
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 |
Required for compatibility reasons with porous medium-flow models.
|
inlineinherited |
Return the temperature in the given sub-control volume.
|
inlineinherited |
Return the temperature in the domain at the given position.
globalPos | The position in global coordinates where the temperature should be specified. |
|
inline |
Cross-sectional area of the throat \([m]\). Can be solution-dependent.
element | The finite volume element |
elemVolVars | The element volume variables. |
|
inline |
Inscribed radius of the throat \([m]\). Can be solution-dependent.
element | The finite volume element |
elemVolVars | The element volume variables. |
|
inline |
Length of the throat \([m]\). Can be solution-dependent.
element | The finite volume element |
elemVolVars | The element volume variables. |