diff --git a/src/coreComponents/constitutive/capillaryPressure/InverseCapillaryPressure.hpp b/src/coreComponents/constitutive/capillaryPressure/InverseCapillaryPressure.hpp index e1b91433042..c38f2a9858f 100644 --- a/src/coreComponents/constitutive/capillaryPressure/InverseCapillaryPressure.hpp +++ b/src/coreComponents/constitutive/capillaryPressure/InverseCapillaryPressure.hpp @@ -290,7 +290,11 @@ class InverseCapillaryPressureUpdate real64 stepSize = 1.0; if( epsilon < LvArray::math::abs( dS )) { - real64 const phaseStepSize = LvArray::math::max((minSaturation[phase0] - saturation[phase0])/dS, (maxSaturation[phase0] - saturation[phase0])/dS ); + real64 phaseStepSize = LvArray::math::max((minSaturation[phase0] - saturation[phase0])/dS, (maxSaturation[phase0] - saturation[phase0])/dS ); + if( phaseStepSize < 1.0 ) + { + phaseStepSize *= (1.0 - STEP_TOLERANCE); + } stepSize = LvArray::math::min( stepSize, phaseStepSize ); } diff --git a/src/coreComponents/constitutive/unitTests/testInverseCapillaryPressure.cpp b/src/coreComponents/constitutive/unitTests/testInverseCapillaryPressure.cpp index f4a71a4b33e..391708394d6 100644 --- a/src/coreComponents/constitutive/unitTests/testInverseCapillaryPressure.cpp +++ b/src/coreComponents/constitutive/unitTests/testInverseCapillaryPressure.cpp @@ -249,24 +249,24 @@ INSTANTIATE_TEST_SUITE_P( {{ 0.00e+00, 2.07e+05, -0.00e+00}, { 0.79807692, 0.20192308, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 2.07e+05, -1.00e+03}, { 0.78292541, 0.20192308, 0.01515152}, 1.00e+00}, {{ 0.00e+00, 2.07e+05, -1.00e+05}, { 0.23307692, 0.20192308, 0.56500000}, 1.00e+00}, - {{ 0.00e+00, 2.07e+05, -2.37e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, + {{ 0.00e+00, 2.07e+05, -2.37e+05}, { 0.00000000, 0.20076923, 0.79923077}, 1.00e+00}, {{ 0.00e+00, 2.07e+05, -3.00e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, {{ 0.00e+00, 1.72e+05, 5.00e+04}, { 0.72058824, 0.27941176, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 1.72e+05, -0.00e+00}, { 0.72058824, 0.27941176, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 1.72e+05, -1.00e+03}, { 0.70543672, 0.27941176, 0.01515152}, 1.00e+00}, {{ 0.00e+00, 1.72e+05, -1.00e+05}, { 0.15558824, 0.27941176, 0.56500000}, 1.00e+00}, - {{ 0.00e+00, 1.72e+05, -2.37e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, + {{ 0.00e+00, 1.72e+05, -2.37e+05}, { 0.00000000, 0.22769231, 0.77230769}, 1.00e+00}, {{ 0.00e+00, 1.72e+05, -3.00e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, {{ 0.00e+00, 1.04e+05, 5.00e+04}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 1.04e+05, -0.00e+00}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 1.04e+05, -1.00e+03}, { 0.08484848, 0.90000000, 0.01515152}, 1.00e+00}, {{ 0.00e+00, 1.04e+05, -1.00e+05}, { 0.00000000, 0.51025641, 0.48974359}, 1.00e+00}, - {{ 0.00e+00, 1.04e+05, -3.00e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, + {{ 0.00e+00, 1.04e+05, -3.00e+05}, { 0.00000000, 0.23153846, 0.76846154}, 1.00e+00}, {{ 0.00e+00, 8.60e+04, 5.00e+04}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 8.60e+04, -0.00e+00}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, 8.60e+04, -1.00e+03}, { 0.08484848, 0.90000000, 0.01515152}, 1.00e+00}, {{ 0.00e+00, 8.60e+04, -1.00e+05}, { 0.00000000, 0.55771605, 0.44228395}, 1.00e+00}, - {{ 0.00e+00, 8.60e+04, -3.00e+05}, { 0.00000000, 0.20000000, 0.80000000}, 1.00e+00}, + {{ 0.00e+00, 8.60e+04, -3.00e+05}, { 0.00000000, 0.24538462, 0.75461538}, 1.00e+00}, {{ 0.00e+00, -1.20e+05, 5.00e+04}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, -1.20e+05, -0.00e+00}, { 0.00000000, 1.00000000, 0.00000000}, 1.00e+00}, {{ 0.00e+00, -1.20e+05, -1.00e+03}, { 0.08484848, 0.90000000, 0.01515152}, 1.00e+00}, @@ -374,21 +374,21 @@ INSTANTIATE_TEST_SUITE_P( {{-8.47e+00, 0.00e+00, 1.08e+03}, { 0.15047219, 0.64763992, 0.20188790}, 3.14e+01}, {{-8.47e+01, 0.00e+00, 1.08e+03}, { 0.60939575, 0.18871635, 0.20188790}, 3.14e+01}, {{-1.61e+02, 0.00e+00, 1.08e+03}, { 0.78495752, 0.01315458, 0.20188790}, 3.14e+01}, - {{-1.69e+02, 0.00e+00, 1.08e+03}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, + {{-1.69e+02, 0.00e+00, 1.08e+03}, { 0.79831597, 0.00000000, 0.20168403}, 3.14e+01}, {{-1.86e+02, 0.00e+00, 1.08e+03}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, {{ 8.47e+00, 0.00e+00, 1.06e+03}, { 0.00000000, 0.79073966, 0.20926034}, 3.14e+01}, {{-0.00e+00, 0.00e+00, 1.06e+03}, { 0.00000000, 0.79073966, 0.20926034}, 3.14e+01}, {{-8.47e+00, 0.00e+00, 1.06e+03}, { 0.15047219, 0.64026747, 0.20926034}, 3.14e+01}, {{-8.47e+01, 0.00e+00, 1.06e+03}, { 0.60939575, 0.18134391, 0.20926034}, 3.14e+01}, {{-1.61e+02, 0.00e+00, 1.06e+03}, { 0.78495752, 0.00578214, 0.20926034}, 3.14e+01}, - {{-1.69e+02, 0.00e+00, 1.06e+03}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, - {{-1.86e+02, 0.00e+00, 1.06e+03}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, + {{-1.69e+02, 0.00e+00, 1.06e+03}, { 0.79220027, 0.00000000, 0.20779973}, 3.14e+01}, + {{-1.86e+02, 0.00e+00, 1.06e+03}, { 0.79739861, 0.00000000, 0.20260139}, 3.14e+01}, {{ 8.47e+00, 0.00e+00, 8.14e+02}, { 0.00000000, 0.66262690, 0.33737310}, 3.14e+01}, {{-0.00e+00, 0.00e+00, 8.14e+02}, { 0.00000000, 0.66262690, 0.33737310}, 3.14e+01}, {{-8.47e+00, 0.00e+00, 8.14e+02}, { 0.15047219, 0.51215471, 0.33737310}, 3.14e+01}, {{-8.47e+01, 0.00e+00, 8.14e+02}, { 0.60939575, 0.05323115, 0.33737310}, 3.14e+01}, - {{-1.61e+02, 0.00e+00, 8.14e+02}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, - {{-1.86e+02, 0.00e+00, 8.14e+02}, { 0.80000000, 0.00000000, 0.20000000}, 3.14e+01}, + {{-1.61e+02, 0.00e+00, 8.14e+02}, { 0.69772877, 0.00000000, 0.30227123}, 3.14e+01}, + {{-1.86e+02, 0.00e+00, 8.14e+02}, { 0.70947676, 0.00000000, 0.29052324}, 3.14e+01}, {{ 8.47e+00, 0.00e+00, 5.70e+02}, { 0.00000000, 0.20649138, 0.79350862}, 3.14e+01}, {{-0.00e+00, 0.00e+00, 5.70e+02}, { 0.00000000, 0.20649138, 0.79350862}, 3.14e+01}, {{-8.47e+00, 0.00e+00, 5.70e+02}, { 0.15047219, 0.05601920, 0.79350862}, 3.14e+01}, @@ -429,14 +429,14 @@ INSTANTIATE_TEST_SUITE_P( {{-5.88e+02, 0.00e+00, 7.35e+04}, { 0.15034233, 0.63947471, 0.21018296}, 6.50e-03}, {{-5.88e+03, 0.00e+00, 7.35e+04}, { 0.60910358, 0.18071346, 0.21018296}, 6.50e-03}, {{-1.12e+04, 0.00e+00, 7.35e+04}, { 0.78521299, 0.00460405, 0.21018296}, 6.50e-03}, - {{-1.18e+04, 0.00e+00, 7.35e+04}, { 0.80000000, 0.00000000, 0.20000000}, 6.50e-03}, - {{-1.30e+04, 0.00e+00, 7.35e+04}, { 0.80000000, 0.00000000, 0.20000000}, 6.50e-03}, + {{-1.18e+04, 0.00e+00, 7.35e+04}, { 0.79167193, 0.00000000, 0.20832807}, 6.50e-03}, + {{-1.30e+04, 0.00e+00, 7.35e+04}, { 0.79695138, 0.00000000, 0.20304862}, 6.50e-03}, {{ 5.88e+02, 0.00e+00, 5.66e+04}, { 0.00000000, 0.66290222, 0.33709778}, 6.50e-03}, {{-0.00e+00, 0.00e+00, 5.66e+04}, { 0.00000000, 0.66290222, 0.33709778}, 6.50e-03}, {{-5.88e+02, 0.00e+00, 5.66e+04}, { 0.15034233, 0.51255988, 0.33709778}, 6.50e-03}, {{-5.88e+03, 0.00e+00, 5.66e+04}, { 0.60910358, 0.05379863, 0.33709778}, 6.50e-03}, - {{-1.18e+04, 0.00e+00, 5.66e+04}, { 0.80000000, 0.00000000, 0.20000000}, 6.50e-03}, - {{-1.30e+04, 0.00e+00, 5.66e+04}, { 0.80000000, 0.00000000, 0.20000000}, 6.50e-03}, + {{-1.18e+04, 0.00e+00, 5.66e+04}, { 0.70240462, 0.00000000, 0.29759538}, 6.50e-03}, + {{-1.30e+04, 0.00e+00, 5.66e+04}, { 0.71009357, 0.00000000, 0.28990643}, 6.50e-03}, {{ 5.88e+02, 0.00e+00, 3.96e+04}, { 0.00000000, 0.20531037, 0.79468963}, 6.50e-03}, {{-0.00e+00, 0.00e+00, 3.96e+04}, { 0.00000000, 0.20531037, 0.79468963}, 6.50e-03}, {{-5.88e+02, 0.00e+00, 3.96e+04}, { 0.15034233, 0.05496804, 0.79468963}, 6.50e-03}, @@ -477,7 +477,7 @@ INSTANTIATE_TEST_SUITE_P( {{-4.75e+01, 0.00e+00, 5.93e+03}, { 0.15055948, 0.63953651, 0.20990400}, 1.00e+00}, {{-4.75e+02, 0.00e+00, 5.93e+03}, { 0.60959217, 0.18050382, 0.20990400}, 1.00e+00}, {{-9.02e+02, 0.00e+00, 5.93e+03}, { 0.78490156, 0.00519444, 0.20990400}, 1.00e+00}, - {{-9.49e+02, 0.00e+00, 5.93e+03}, { 0.80000000, 0.00000000, 0.20000000}, 1.00e+00}, + {{-9.49e+02, 0.00e+00, 5.93e+03}, { 0.79177529, 0.00000000, 0.20822471}, 1.00e+00}, {{ 4.75e+01, 0.00e+00, 4.56e+03}, { 0.00000000, 0.66244072, 0.33755928}, 1.00e+00}, {{-0.00e+00, 0.00e+00, 4.56e+03}, { 0.00000000, 0.66244072, 0.33755928}, 1.00e+00}, {{-4.75e+01, 0.00e+00, 4.56e+03}, { 0.15055948, 0.51188124, 0.33755928}, 1.00e+00},