Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .integrated_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
baselines:
bucket: geosx
baseline: integratedTests/baseline_integratedTests-pr4057-16739-5dde641
baseline: integratedTests/baseline_integratedTests-pr4040-16777-2d505f0

allow_fail:
all: ''
Expand Down
3 changes: 3 additions & 0 deletions BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ This file is designed to track changes to the integrated test baselines.
Any developer who updates the baseline ID in the .integrated_tests.yaml file is expected to create an entry in this file with the pull request number, date, and their justification for rebaselining.
These notes should be in reverse-chronological order, and use the following time format: (YYYY-MM-DD).

PR #4040 (2026-05-24) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr4040-16777-2d505f0.tar.gz>
Move relperm driver to use bew constitutive driver framework

PR #4057 (2026-05-21) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr4057-16739-5dde641.tar.gz>
Remove dependency on PVT package

Expand Down
19 changes: 18 additions & 1 deletion inputFiles/constitutiveDriver/constitutiveDriver.ats
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,30 @@ def create_pvt_test(name, description=None):
check_step=0,
restartcheck_params=RestartcheckParameters(**restartcheck_params))

def create_relperm_test(name, description=None):
if description is None: description = name
return TestDeck(
name=name,
description=description,
partitions=[(1, 1, 1)],
restart_step=0,
check_step=0,
restartcheck_params=RestartcheckParameters(**restartcheck_params))

decks = [
create_pvt_test("testPVT"),
create_pvt_test("testPVT_CO2Brine", "PVT Driver test for CO2 fluid models"),
create_pvt_test("testPVT_CO2BrineTables", "PVT Driver test for CO2 fluid models with solubility tables"),
create_pvt_test("testPVT_PhaseComposition", "PVT Driver test with composition output"),
create_pvt_test("testPVT_ThreePhaseCompositional", "PVT Driver test for three phase compositional models"),
create_pvt_test("testPVT_docExample", "PVT Driver documentation example")
create_pvt_test("testPVT_docExample", "PVT Driver documentation example"),

create_relperm_test("testRelperm_Table_2_phase", "Relperm driver for 2 phase tables"),
create_relperm_test("testRelperm_Table_3_phase", "Relperm driver for 3 phase tables"),
create_relperm_test("testRelperm_TableHyst2ph", "Two-phase hysteresis with large tables"),
create_relperm_test("testRelperm_BrooksCorey", "Three-phase Brooks-Corey with Baker and Stone II mixing rule"),
create_relperm_test("testRelperm_VanGenuchten", "Three-phase van Genuchten-Mualem models"),
create_relperm_test("testRelperm_docExample", "Relperm Driver documentation example")
]

generate_geos_tests(decks)
64 changes: 64 additions & 0 deletions inputFiles/constitutiveDriver/testRelperm_BrooksCorey.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" ?>

<Problem>
<Tasks>
<RelpermDriver
name="testBrooksCoreyBaker"
relperm="brooksCoreyBaker"
steps="65"
phaseNames="{ gas, water }"
saturationControls="{ THREE.PHASE.SATURATION.0, THREE.PHASE.SATURATION.1 }"
output="testRelperm_BrooksCorey_Baker.txt"
logLevel="1" />

<RelpermDriver
name="testBrooksCoreyStone2"
relperm="brooksCoreyStone2"
steps="65"
phaseNames="{ oil, water }"
saturationControls="{ THREE.PHASE.SATURATION.1, THREE.PHASE.SATURATION.0 }"
output="testRelperm_BrooksCorey_Stone2.txt"
logLevel="1" />
</Tasks>

<Outputs>
<Restart
name="restartOutput"/>
</Outputs>

<Events
maxTime="1">
<SoloEvent name="event_testBrooksCoreyBaker" target="/Tasks/testBrooksCoreyBaker" />
<SoloEvent name="event_testBrooksCoreyStone2" target="/Tasks/testBrooksCoreyStone2" />

<PeriodicEvent
name="restarts"
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/restartOutput" />
</Events>

<Constitutive>
<BrooksCoreyBakerRelativePermeability
name="brooksCoreyBaker"
phaseNames="{ oil, gas, water}"
phaseMinVolumeFraction="{ 0.1, 0.05, 0.2 }"
waterOilRelPermExponent="{ 2.0, 2.0 }"
waterOilRelPermMaxValue="{ 1.0, 1.0 }"
gasOilRelPermExponent="{ 2.0, 2.0 }"
gasOilRelPermMaxValue="{ 0.8, 0.4 }"/>

<BrooksCoreyStone2RelativePermeability
name="brooksCoreyStone2"
phaseNames="{ oil, gas, water }"
phaseMinVolumeFraction="{ 0.1, 0.05, 0.2}"
waterOilRelPermExponent="{ 2.0, 2.0}"
gasOilRelPermExponent="{ 2.0, 2.0 }"
waterOilRelPermMaxValue="{ 1.0, 1.0 }"
gasOilRelPermMaxValue="{ 0.8, 0.4 }"/>
</Constitutive>

<Included>
<File name="testRelperm_data/relperm_tables.xml" />
</Included>
</Problem>
66 changes: 66 additions & 0 deletions inputFiles/constitutiveDriver/testRelperm_TableHyst2ph.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" ?>

<Problem>
<Tasks>
<RelpermDriver
name="testRelperm"
relperm="relperm"
steps="100"
phaseNames="{ gas }"
saturationControls="{ gasSaturation }"
output="testRelperm_TableHyst2ph.txt"
logLevel="1" />
</Tasks>

<Outputs>
<Restart
name="restartOutput"/>
</Outputs>

<Events
maxTime="1">

<SoloEvent name="event_testRelperm" target="/Tasks/testRelperm" />

<PeriodicEvent
name="restarts"
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/restartOutput" />
</Events>

<Constitutive>
<TableRelativePermeabilityHysteresis
name="relperm"
phaseNames="{ water, gas }"
drainageWettingNonWettingRelPermTableNames="{ drainageWaterRelativePermeabilityTable,
drainageGasRelativePermeabilityTable }"
imbibitionNonWettingRelPermTableName="imbibitionGasRelativePermeabilityTable"
imbibitionWettingRelPermTableName="imbibitionWaterRelativePermeabilityTable"/>
</Constitutive>

<Functions>
<TableFunction
name="drainageWaterRelativePermeabilityTable"
coordinateFiles="{ testRelperm_data/drainagePhaseVolFraction_water.txt }"
voxelFile="testRelperm_data/drainageRelPerm_water.txt"/>
<TableFunction
name="drainageGasRelativePermeabilityTable"
coordinateFiles="{ testRelperm_data/drainagePhaseVolFraction_gas.txt }"
voxelFile="testRelperm_data/drainageRelPerm_gas.txt"/>
<TableFunction
name="imbibitionWaterRelativePermeabilityTable"
coordinateFiles="{ testRelperm_data/imbibitionPhaseVolFraction_water.txt }"
voxelFile="testRelperm_data/imbibitionRelPerm_water.txt"/>
<TableFunction
name="imbibitionGasRelativePermeabilityTable"
coordinateFiles="{ testRelperm_data/imbibitionPhaseVolFraction_gas.txt }"
voxelFile="testRelperm_data/imbibitionRelPerm_gas.txt"/>

<TableFunction
name="gasSaturation"
coordinates="{ 0.0, 1.0, 2.0 }"
values="{ 0.0, 1.0, 0.2 }"
interpolation="linear" />
</Functions>
</Problem>
85 changes: 85 additions & 0 deletions inputFiles/constitutiveDriver/testRelperm_Table_2_phase.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?xml version="1.0" ?>

<Problem>
<Tasks>
<RelpermDriver
name="test_2_phase_residual"
relperm="2_phase_residual"
steps="10"
output="testRelperm_Table_2_phase_2_phase_residual.txt"
phaseNames="{ gas }"
saturationControls="{ LINEAR.SATURATION }"
logLevel="1" />
<RelpermDriver
name="test_2_phase"
relperm="2_phase"
steps="15"
output="testRelperm_Table_2_phase_2_phase.txt"
phaseNames="{ water }"
saturationControls="{ LINEAR.SATURATION }"
logLevel="1" />
<RelpermDriver
name="test_2_phase_hysteresis"
relperm="2_phase_hysteresis"
steps="15"
output="testRelperm_Table_2_phase_2_phase_hysteresis.txt"
phaseNames="{ water }"
saturationControls="{ LINEAR.SATURATION }"
logLevel="1" />
<RelpermDriver
name="test_2_phase_hysteresis_historical"
relperm="2_phase_hysteresis"
steps="15"
phaseNames="{ gas }"
saturationControls="{ LINEAR.SATURATION }"
logLevel="1" />
</Tasks>

<Outputs>
<Restart
name="restartOutput"/>
</Outputs>

<Events
maxTime="1">
<SoloEvent
name="event_2_phase_residual"
target="/Tasks/test_2_phase_residual" />
<SoloEvent
name="event_2_phase"
target="/Tasks/test_2_phase" />
<SoloEvent
name="event_2_phase_hysteresis"
target="/Tasks/test_2_phase_hysteresis" />
<SoloEvent
name="event_2_phase_hysteresis_historical"
target="/Tasks/test_2_phase_hysteresis_historical" />

<PeriodicEvent
name="restarts"
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/restartOutput" />
</Events>

<Constitutive>
<TableRelativePermeability
name="2_phase_residual"
phaseNames="{ gas, water }"
wettingNonWettingRelPermTableNames="{ KRW_D1, KRG_D1 }" />
<TableRelativePermeability
name="2_phase"
phaseNames="{ gas, water }"
wettingNonWettingRelPermTableNames="{ KRW_D0, KRG_D0 }" />
<TableRelativePermeabilityHysteresis
name="2_phase_hysteresis"
phaseNames="{ gas, water }"
drainageWettingNonWettingRelPermTableNames="{ KRW_D1, KRG_D1 }"
imbibitionNonWettingRelPermTableName="KRG_I1"
imbibitionWettingRelPermTableName="KRW_I1" />
</Constitutive>

<Included>
<File name="testRelperm_data/relperm_tables.xml" />
</Included>
</Problem>
62 changes: 62 additions & 0 deletions inputFiles/constitutiveDriver/testRelperm_Table_3_phase.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?xml version="1.0" ?>

<Problem>
<Tasks>
<RelpermDriver
name="test_3_phase"
relperm="3_phase"
precision="6"
steps="65"
phaseNames="{ gas, water }"
saturationControls="{ THREE.PHASE.SATURATION.0, THREE.PHASE.SATURATION.1 }"
logLevel="1" />
<RelpermDriver
name="test_3_phase_hysteresis"
relperm="3_phase_hysteresis"
output="testRelperm_Table_3_phase_3_phase_hysteresis.txt"
steps="65"
phaseNames="{ gas, water }"
saturationControls="{ THREE.PHASE.SATURATION.0, THREE.PHASE.SATURATION.1 }"
logLevel="1" />
</Tasks>

<Outputs>
<Restart
name="restartOutput"/>
</Outputs>

<Events
maxTime="1">
<SoloEvent
name="event_3_phase"
target="/Tasks/test_3_phase" />
<SoloEvent
name="event_3_phase_hysteresis"
target="/Tasks/test_3_phase_hysteresis" />

<PeriodicEvent
name="restarts"
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/restartOutput" />
</Events>

<Constitutive>
<TableRelativePermeability
name="3_phase"
phaseNames="{ gas, oil, water }"
nonWettingIntermediateRelPermTableNames="{ KRG_D1, KROG_D1 }"
wettingIntermediateRelPermTableNames="{ KRW_D1, KROW_D1 }" />
<TableRelativePermeabilityHysteresis
name="3_phase_hysteresis"
phaseNames="{ gas, oil, water }"
drainageNonWettingIntermediateRelPermTableNames="{ KRG_D1, KROG_D1 }"
drainageWettingIntermediateRelPermTableNames="{ KRW_D1, KROW_D1 }"
imbibitionNonWettingRelPermTableName="KRG_I1"
imbibitionWettingRelPermTableName="KRW_I1" />
</Constitutive>

<Included>
<File name="testRelperm_data/relperm_tables.xml" />
</Included>
</Problem>
67 changes: 67 additions & 0 deletions inputFiles/constitutiveDriver/testRelperm_VanGenuchten.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0" ?>

<Problem>
<Tasks>
<RelpermDriver
name="test_3_phase_baker"
relperm="3_phase_baker"
steps="65"
phaseNames="{ water, oil }"
saturationControls="{ THREE.PHASE.SATURATION.0, THREE.PHASE.SATURATION.1 }"
output="testRelperm_VanGenuchten_3_phase_baker.txt"
logLevel="1" />
<RelpermDriver
name="test_3_phase_stone2"
relperm="3_phase_stone2"
steps="65"
phaseNames="{ gas, water }"
saturationControls="{ THREE.PHASE.SATURATION.0, THREE.PHASE.SATURATION.1 }"
output="testRelperm_VanGenuchten_3_phase_stone2.txt"
logLevel="1" />
</Tasks>

<Outputs>
<Restart
name="restartOutput"/>
</Outputs>

<Events
maxTime="1">
<SoloEvent
name="event_3_phase_baker"
target="/Tasks/test_3_phase_baker" />
<SoloEvent
name="event_3_phase_stone2"
target="/Tasks/test_3_phase_stone2" />

<PeriodicEvent
name="restarts"
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/restartOutput" />
</Events>

<Constitutive>
<VanGenuchtenBakerRelativePermeability
name="3_phase_baker"
phaseNames="{ gas, oil, water }"
phaseMinVolumeFraction="{ 0.05, 0.25, 0.20 }"
gasOilRelPermExponentInv="{ 0.5, 0.5 }"
gasOilRelPermMaxValue="{ 0.65, 0.75 }"
waterOilRelPermExponentInv="{ 0.25, 0.5 }"
waterOilRelPermMaxValue="{ 0.65, 0.75 }" />

<VanGenuchtenStone2RelativePermeability
name="3_phase_stone2"
phaseNames="{ gas, oil, water }"
phaseMinVolumeFraction="{ 0.05, 0.25, 0.20 }"
gasOilRelPermExponentInv="{ 0.5, 0.5 }"
gasOilRelPermMaxValue="{ 0.65, 0.75 }"
waterOilRelPermExponentInv="{ 0.25, 0.5 }"
waterOilRelPermMaxValue="{ 0.65, 0.75 }" />
</Constitutive>

<Included>
<File name="testRelperm_data/relperm_tables.xml" />
</Included>
</Problem>
Loading
Loading