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()); }
 
 
 
FVPorousMediumFlowSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition porousmediumflow/fvspatialparams.hh:61
const FVGridGeometry & gridGeometry() const
Definition common/fvspatialparams.hh:130
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.