25#ifndef DUMUX_PNM_THRESHOLD_CAPILLARY_PRESSURES_HH
26#define DUMUX_PNM_THRESHOLD_CAPILLARY_PRESSURES_HH
35 template<
class Scalar>
36 static constexpr Scalar
pcSnapoff(
const Scalar surfaceTension,
37 const Scalar contactAngle,
38 const Scalar inscribedRadius)
noexcept
42 const Scalar theta = contactAngle;
43 const Scalar cosTheta = std::cos(theta);
44 const Scalar sinTheta = std::sin(theta);
45 return surfaceTension / inscribedRadius * (cosTheta - sinTheta);
53 template<
class Scalar>
54 static constexpr Scalar
pcEntry(
const Scalar surfaceTension,
55 const Scalar contactAngle,
56 const Scalar inscribedRadius,
62 const Scalar theta = contactAngle;
63 const Scalar cosTheta = cos(theta);
64 const Scalar sinTheta = sin(theta);
66 const Scalar D = M_PI - 3*theta + 3*sinTheta*cosTheta - (cosTheta*cosTheta) / (4*
shapeFactor);
68 return surfaceTension / inscribedRadius * cosTheta * (1 + 2*sqrt(M_PI*
shapeFactor)) * F;
Definition: discretization/porenetwork/fvelementgeometry.hh:33
Scalar shapeFactor(Shape shape, const Scalar inscribedRadius)
Returns the value of the shape factor for a given shape.
Definition: throatproperties.hh:161
Definition: thresholdcapillarypressures.hh:33
static constexpr Scalar pcSnapoff(const Scalar surfaceTension, const Scalar contactAngle, const Scalar inscribedRadius) noexcept
The snap-off capillary pressure of a pore throat.
Definition: thresholdcapillarypressures.hh:36
static constexpr Scalar pcEntry(const Scalar surfaceTension, const Scalar contactAngle, const Scalar inscribedRadius, const Scalar shapeFactor) noexcept
The entry capillary pressure of a pore throat.
Definition: thresholdcapillarypressures.hh:54