Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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-pr3634-15105-6ab70ef
baseline: integratedTests/baseline_integratedTests-pr3926-15169-181b174

allow_fail:
all: ''
Expand Down
4 changes: 4 additions & 0 deletions BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ 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 #3926 (2026-01-08) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3926-15169-181b174.tar.gz>
=====================
MultiPhase Poromechanics ALM solver and a test with curved fractures

PR #3634 (2025-12-31) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3634-15105-6ab70ef.tar.gz>
=====================
Add singlephase reactive transport solver integrated with HPCReact
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
<?xml version="1.0" ?>

<Problem>
<Included>
<File
name="./curvedFrac_smoke.xml"/>
</Included>

<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<MultiphasePoromechanicsConformingFracturesALM
name="poroFractureSolver"
targetRegions="{ Region, Reservoir, Fracture }"
initialDt="1e-3"
flowSolverName="flowSolver"
solidSolverName="fractureMechSolver"
logLevel="1">
<NonlinearSolverParameters
couplingType="Sequential"
lineSearchAction="None"
subcycling="1"
maxTimeStepCuts="1"
newtonTol="1e0"
newtonMaxIter="10"
maxAllowedResidualNorm="1e+15"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="amg"
krylovMaxIter="200"
krylovTol="1.0e-8"
logLevel="1"/>
</MultiphasePoromechanicsConformingFracturesALM>

<SolidMechanicsAugmentedLagrangianContact
name="fractureMechSolver"
logLevel="2"
simultaneous="1"
symmetric="1"
iterPenaltyN="10.0"
iterPenaltyT="10.0"
tolJumpN="1.e-05"
tolJumpT="1.e-04"
tolTauLimit="1.e-02"
timeIntegrationOption="QuasiStatic"
discretization="FE1"
targetRegions="{ Region, Reservoir, Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-5"
logLevel="2"
maxNumConfigurationAttempts="50"
newtonMaxIter="20"
lineSearchAction="None"
lineSearchMaxCuts="4"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="amg"
krylovMaxIter="200"
krylovTol="1.0e-8"
logLevel="1"/>
</SolidMechanicsAugmentedLagrangianContact>

<CompositionalMultiphaseFVM
name="flowSolver"
logLevel="1"
isThermal="0"
discretization="fluidTPFA"
targetRegions="{ Region, Reservoir, Fracture}"
temperature="368.15" >
<NonlinearSolverParameters
newtonTol="1.0e-2"
newtonMaxIter="8"
allowNonConverged="1"/>
<LinearSolverParameters
solverType="fgmres"
preconditionerType="mgr"
krylovTol="0.0001"
krylovAdaptiveTol="1"
krylovWeakestTol="0.001"
logLevel="1"/>
</CompositionalMultiphaseFVM>
</Solvers>

<ElementRegions>
<CellElementRegion
name="Region"
cellBlocks="{ 1_hexahedra, 2_hexahedra,
3_hexahedra, 4_hexahedra,
6_hexahedra,
7_hexahedra, 8_hexahedra,
9_hexahedra, 10_hexahedra,
12_hexahedra,
13_hexahedra, 14_hexahedra,
15_hexahedra }"
materialList="{ fluid, relperm, porousRock }"/>

<CellElementRegion
name="Reservoir"
cellBlocks="{ 5_hexahedra, 11_hexahedra }"
materialList="{ fluid, relperm, porousRock }"/>

<SurfaceElementRegion
name="Fracture"
faceBlock="fracture"
defaultAperture="1.0e-6"
materialList="{ fluid, relperm, faultFilling, frictionLaw, hApertureModel }"/>
</ElementRegions>

<Constitutive>
<PorousElasticIsotropic
name="porousRock"
solidModelName="rock"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"/>

<ElasticIsotropic
name="rock"
defaultDensity="2700"
defaultYoungModulus="2.5e10"
defaultPoissonRatio="0.25"/>

<CO2BrinePhillipsFluid
name="fluid"
logLevel="1"
phaseNames="{ gas, water }"
componentNames="{ co2, water }"
componentMolarWeight="{ 44e-3, 18e-3 }"
phasePVTParaFiles="{ multiphase_fluid/pvtgas.txt, multiphase_fluid/pvtwat.txt }"
flashModelParaFile="multiphase_fluid/co2flash.txt" />

<BiotPorosity
name="rockPorosity"
defaultGrainBulkModulus="1.0e20"
defaultReferencePorosity="0.15"/>

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{1.0e-18, 1.0e-18, 1.0e-18}"/>

<CompressibleSolidParallelPlatesPermeability
name="faultFilling"
solidModelName="nullSolid"
porosityModelName="fracturePorosity"
permeabilityModelName="fracturePerm"/>

<PressurePorosity
name="fracturePorosity"
defaultReferencePorosity="1.00"
referencePressure="0e6"
compressibility="0.0"/>

<ParallelPlatesPermeability
name="fracturePerm"/>

<Coulomb
name="frictionLaw"
cohesion="0.0"
frictionCoefficient="0.577350269189626"/>

<HydraulicApertureTable
name="hApertureModel"
apertureTableName="apertureTable"/>

<NullModel
name="nullSolid"/>

<TableRelativePermeability
name="relperm"
phaseNames="{ gas, water }"
wettingNonWettingRelPermTableNames="{ waterRelativePermeabilityTable, gasRelativePermeabilityTable }"/>
</Constitutive>

<Functions>
<TableFunction
name="waterRelativePermeabilityTable"
coordinates="{ 0.00, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00 }"
values="{ 0.0000, 0.0000, 0.0118, 0.0333, 0.0612, 0.0943, 0.1318, 0.1732, 0.2183, 0.2667, 0.3182, 0.3727, 0.4300, 0.4899, 0.5524, 0.6173, 0.6847, 0.7542, 0.8261, 0.9000, 0.9760 }"/>

<TableFunction
name="gasRelativePermeabilityTable"
coordinates="{ 0.00, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00 }"
values="{ 0.0000, 0.0000, 0.0118, 0.0333, 0.0612, 0.0943, 0.1318, 0.1732, 0.2183, 0.2667, 0.3182, 0.3727, 0.4300, 0.4899, 0.5524, 0.6173, 0.6847, 0.7542, 0.8261, 0.9000, 0.9760 }"/>
</Functions>

<FieldSpecifications>
<FieldSpecification
name="initialCF_H2O"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="globalCompFraction"
component="0"
scale="0.999"/>

<FieldSpecification
name="initialCF_CO2"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="globalCompFraction"
component="1"
scale="0.001"/>
</FieldSpecifications>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
<?xml version="1.0" ?>

<Problem>
<Included>
<File
name="./curvedFrac_smoke.xml"/>
</Included>

<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<SinglePhasePoromechanicsConformingFracturesALM
name="poroFractureSolver"
targetRegions="{ Region, Reservoir, Fracture }"
initialDt="1e-3"
flowSolverName="flowSolver"
solidSolverName="fractureMechSolver"
logLevel="1">
<NonlinearSolverParameters
couplingType="Sequential"
lineSearchAction="None"
subcycling="1"
maxTimeStepCuts="1"
newtonTol="1e0"
newtonMaxIter="10"
maxAllowedResidualNorm="1e+15"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="amg"
krylovMaxIter="200"
krylovTol="1.0e-8"
logLevel="1"/>
</SinglePhasePoromechanicsConformingFracturesALM>

<SolidMechanicsAugmentedLagrangianContact
name="fractureMechSolver"
logLevel="2"
simultaneous="1"
symmetric="1"
iterPenaltyN="10.0"
iterPenaltyT="10.0"
tolJumpN="1.e-05"
tolJumpT="1.e-04"
tolTauLimit="1.e-02"
timeIntegrationOption="QuasiStatic"
discretization="FE1"
targetRegions="{ Region, Reservoir, Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-5"
logLevel="2"
maxNumConfigurationAttempts="50"
newtonMaxIter="20"
lineSearchAction="None"
lineSearchMaxCuts="4"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="amg"
krylovMaxIter="200"
krylovTol="1.0e-8"
logLevel="1"/>
</SolidMechanicsAugmentedLagrangianContact>

<SinglePhaseFVM
name="flowSolver"
logLevel="1"
discretization="fluidTPFA"
targetRegions="{ Region, Reservoir, Fracture }" >
<NonlinearSolverParameters
newtonTol="1.0e-2"
newtonMaxIter="8"
allowNonConverged="1"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="amg"
krylovMaxIter="200"
krylovTol="1.0e-8"
logLevel="1"/>
</SinglePhaseFVM>
</Solvers>

<ElementRegions>
<CellElementRegion
name="Region"
cellBlocks="{ 1_hexahedra, 2_hexahedra,
3_hexahedra, 4_hexahedra,
6_hexahedra,
7_hexahedra, 8_hexahedra,
9_hexahedra, 10_hexahedra,
12_hexahedra,
13_hexahedra, 14_hexahedra,
15_hexahedra }"
materialList="{ fluid, porousRock }"/>

<CellElementRegion
name="Reservoir"
cellBlocks="{ 5_hexahedra, 11_hexahedra }"
materialList="{ fluid, porousRock }"/>

<SurfaceElementRegion
name="Fracture"
faceBlock="fracture"
defaultAperture="1.0e-6"
materialList="{ fluid, faultFilling, frictionLaw, hApertureModel }"/>
</ElementRegions>

<Constitutive>
<CompressibleSinglePhaseFluid
name="fluid"
defaultDensity="1020"
defaultViscosity="0.001"
referencePressure="35e6"
referenceDensity="1020"
compressibility="1.e-20"
referenceViscosity="0.001"
viscosibility="0.0"/>

<PorousElasticIsotropic
name="porousRock"
solidModelName="rock"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"/>

<ElasticIsotropic
name="rock"
defaultDensity="2700"
defaultYoungModulus="2.5e10"
defaultPoissonRatio="0.25"/>

<BiotPorosity
name="rockPorosity"
defaultGrainBulkModulus="1.0e20"
defaultReferencePorosity="0.15"/>

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{1.0e-18, 1.0e-18, 1.0e-18}"/>

<CompressibleSolidParallelPlatesPermeability
name="faultFilling"
solidModelName="nullSolid"
porosityModelName="fracturePorosity"
permeabilityModelName="fracturePerm"/>

<PressurePorosity
name="fracturePorosity"
defaultReferencePorosity="1.00"
referencePressure="0e6"
compressibility="0.0"/>

<ParallelPlatesPermeability
name="fracturePerm"/>

<Coulomb
name="frictionLaw"
cohesion="0.0"
frictionCoefficient="0.577350269189626"/>

<HydraulicApertureTable
name="hApertureModel"
apertureTableName="apertureTable"/>

<NullModel
name="nullSolid"/>
</Constitutive>
</Problem>
Loading
Loading