https://mooseframework.inl.gov
porous_flow
unit
src
PorousFlowRogersStallybrassClementsTest.C
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://mooseframework.inl.gov
3
//*
4
//* All rights reserved, see COPYRIGHT for full restrictions
5
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6
//*
7
//* Licensed under LGPL 2.1, please see LICENSE for details
8
//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10
#include "gtest/gtest.h"
11
12
#include "
PorousFlowRogersStallybrassClements.h
"
13
14
const
double
eps
= 1.0E-8;
15
16
TEST
(
PorousFlowRogersStallybrassClements
, sat)
17
{
18
EXPECT_NEAR(0.0,
PorousFlowRogersStallybrassClements::effectiveSaturation
(50, 0.7, 0.5), 1.0E-5);
19
EXPECT_NEAR(
std::pow
(2.0, -0.5),
20
PorousFlowRogersStallybrassClements::effectiveSaturation
(1.1, 1.1, 4.4),
21
1.0E-5);
22
EXPECT_NEAR(
std::pow
(1.0 + std::exp(1.0), -0.5),
23
PorousFlowRogersStallybrassClements::effectiveSaturation
(5.5, 1.1, 4.4),
24
1.0E-5);
25
EXPECT_NEAR(1.0,
PorousFlowRogersStallybrassClements::effectiveSaturation
(-50, 0.7, 0.5), 1.0E-5);
26
}
27
28
TEST
(
PorousFlowRogersStallybrassClements
, dsat)
29
{
30
Real
fd;
31
EXPECT_NEAR(0.0,
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(50, 0.7, 0.5), 1.0E-5);
32
fd = (
PorousFlowRogersStallybrassClements::effectiveSaturation
(1.1 +
eps
, 1.1, 4.4) -
33
PorousFlowRogersStallybrassClements::effectiveSaturation
(1.1, 1.1, 4.4)) /
34
eps
;
35
EXPECT_NEAR(fd,
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(1.1, 1.1, 4.4), 1.0E-5);
36
fd = (
PorousFlowRogersStallybrassClements::effectiveSaturation
(5.5 +
eps
, 1.1, 4.4) -
37
PorousFlowRogersStallybrassClements::effectiveSaturation
(5.5, 1.1, 4.4)) /
38
eps
;
39
EXPECT_NEAR(fd,
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(5.5, 1.1, 4.4), 1.0E-5);
40
EXPECT_NEAR(
41
0.0,
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(-50, 0.7, 0.5), 1.0E-5);
42
}
43
44
TEST
(
PorousFlowRogersStallybrassClements
, d2sat)
45
{
46
Real
fd;
47
EXPECT_NEAR(
48
0.0,
PorousFlowRogersStallybrassClements::d2EffectiveSaturation
(50, 0.7, 0.5), 1.0E-5);
49
fd = (
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(1.1 +
eps
, 1.1, 4.4) -
50
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(1.1, 1.1, 4.4)) /
51
eps
;
52
EXPECT_NEAR(
53
fd,
PorousFlowRogersStallybrassClements::d2EffectiveSaturation
(1.1, 1.1, 4.4), 1.0E-5);
54
fd = (
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(5.5 +
eps
, 1.1, 4.4) -
55
PorousFlowRogersStallybrassClements::dEffectiveSaturation
(5.5, 1.1, 4.4)) /
56
eps
;
57
EXPECT_NEAR(
58
fd,
PorousFlowRogersStallybrassClements::d2EffectiveSaturation
(5.5, 1.1, 4.4), 1.0E-5);
59
EXPECT_NEAR(
60
0.0,
PorousFlowRogersStallybrassClements::d2EffectiveSaturation
(-50, 0.7, 0.5), 1.0E-5);
61
}
PorousFlowRogersStallybrassClements::dEffectiveSaturation
Real dEffectiveSaturation(Real pc, Real shift, Real scale)
Derivative of effective saturation wrt capillary pressure.
Definition:
PorousFlowRogersStallybrassClements.C:23
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
eps
const double eps
Definition:
PorousFlowRogersStallybrassClementsTest.C:14
PorousFlowRogersStallybrassClements
Rogers-Stallybrass-Clements version of effective saturation as a function of capillary pressure...
Definition:
PorousFlowRogersStallybrassClements.h:22
PorousFlowRogersStallybrassClements::d2EffectiveSaturation
Real d2EffectiveSaturation(Real pc, Real shift, Real scale)
Second derivative of effective saturation wrt capillary pressure.
Definition:
PorousFlowRogersStallybrassClements.C:31
PorousFlowRogersStallybrassClements::effectiveSaturation
Real effectiveSaturation(Real pc, Real shift, Real scale)
Effective saturation as a function of capillary pressure.
Definition:
PorousFlowRogersStallybrassClements.C:15
std::pow
MooseUnits pow(const MooseUnits &, int)
PorousFlowRogersStallybrassClements.h
TEST
TEST(PorousFlowRogersStallybrassClements, sat)
Definition:
PorousFlowRogersStallybrassClementsTest.C:16
Generated on Wed Jul 16 2025 14:09:40 for https://mooseframework.inl.gov by
1.8.14