13#ifndef DUMUX_PNM_SPATIAL_PARAMS_HH
14#define DUMUX_PNM_SPATIAL_PARAMS_HH
19#include <dune/common/fvector.hh>
30template<
class Gr
idGeometry,
class Scalar,
class Implementation>
35 using GridView =
typename GridGeometry::GridView;
36 using SubControlVolume =
typename GridGeometry::SubControlVolume;
37 using Element =
typename GridView::template Codim<0>::Entity;
39 using GlobalPosition =
typename Element::Geometry::GlobalCoordinate;
40 static constexpr auto dimWorld = GridView::dimensionworld;
56 template<
class ElementVolumeVariables>
58 const ElementVolumeVariables& elemVolVars)
const
60 const auto eIdx = this->
gridGeometry().elementMapper().index(element);
71 template<
class ElementVolumeVariables>
73 const ElementVolumeVariables& elemVolVars)
const
75 const auto eIdx = this->
gridGeometry().elementMapper().index(element);
86 template<
class ElementVolumeVariables>
88 const ElementVolumeVariables& elemVolVars)
const
90 const auto eIdx = this->
gridGeometry().elementMapper().index(element);
91 return this->
gridGeometry().throatCrossSectionalArea(eIdx);
102 template<
class ElementSolutionVector>
104 const SubControlVolume& scv,
105 const ElementSolutionVector& elemSol)
const
106 {
return this->
gridGeometry().poreInscribedRadius(scv.dofIndex()); }
The base class for spatial parameters of porous-medium-flow problems.
Definition: porousmediumflow/fvspatialparams.hh:46
The base class for spatial parameters used with finite-volume schemes.
Definition: common/fvspatialparams.hh:34
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition: common/fvspatialparams.hh:130
The base class for spatial parameters for pore-network models.
Definition: porenetwork/common/spatialparams.hh:33
Scalar throatInscribedRadius(const Element &element, const ElementVolumeVariables &elemVolVars) const
Inscribed radius of the throat . Can be solution-dependent.
Definition: porenetwork/common/spatialparams.hh:72
Scalar throatLength(const Element &element, const ElementVolumeVariables &elemVolVars) const
Length of the throat . Can be solution-dependent.
Definition: porenetwork/common/spatialparams.hh:57
Scalar poreInscribedRadius(const Element &element, const SubControlVolume &scv, const ElementSolutionVector &elemSol) const
Inscribed radius of the pore body . Can be solution-dependent.
Definition: porenetwork/common/spatialparams.hh:103
Scalar permeabilityAtPos(const GlobalPosition &globalPos) const
Required for compatibility reasons with porous medium-flow models.
Definition: porenetwork/common/spatialparams.hh:115
const GridView & gridView() const
Returns a reference to the gridview.
Definition: porenetwork/common/spatialparams.hh:111
Scalar throatCrossSectionalArea(const Element &element, const ElementVolumeVariables &elemVolVars) const
Cross-sectional area of the throat . Can be solution-dependent.
Definition: porenetwork/common/spatialparams.hh:87
SpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: porenetwork/common/spatialparams.hh:45
Scalar porosityAtPos(const GlobalPosition &globalPos) const
Required for compatibility reasons with porous medium-flow models.
Definition: porenetwork/common/spatialparams.hh:119
Scalar PermeabilityType
Definition: porenetwork/common/spatialparams.hh:43
Definition: discretization/porenetwork/fvelementgeometry.hh:24
The infrastructure to retrieve run-time parameters from Dune::ParameterTrees.
The base class for spatial parameters in porous-medium-flow problems.