Skip to content

Commit

Permalink
Merge branch 'develop' into pt/fix-3499
Browse files Browse the repository at this point in the history
  • Loading branch information
paveltomin authored Jan 16, 2025
2 parents ba43733 + 8f9126c commit a0e10b1
Show file tree
Hide file tree
Showing 48 changed files with 2,239 additions and 119 deletions.
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-pr3495-9552-257c87e
baseline: integratedTests/baseline_integratedTests-pr3228-9676-61994fe
allow_fail:
all: ''
streak: ''
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 #3228 (2024-01-15)
=====================
deltaVolume added in multiphase.

PR #3495 (2024-01-08)
=====================
Add missing logic to support switching from fixed mass rate injection rate constraint to max injection pressure.
Expand Down
1 change: 1 addition & 0 deletions inputFiles/poromechanicsFractures/co2flash.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FlashModel CO2Solubility 1e6 10e7 5e4 367.15 369.15 1 0
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/elevation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0
1e4
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/initCO2CompFrac.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0.001
0.001
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/initTemp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
368.15
368.15
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/initWaterCompFrac.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0.999
0.999
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
<Problem>
<Constitutive>
<PorousElasticIsotropic
name="porousRock"
permeabilityModelName="rockPerm"
porosityModelName="rockPorosity"
solidModelName="rock" />

<ElasticIsotropic
name="rock"
defaultDensity="2927"
defaultPoissonRatio="0.15"
defaultYoungModulus="14950000000" />

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

<BiotPorosity
name="rockPorosity"
defaultReferencePorosity="0.3"
defaultGrainBulkModulus="7.12e30" />

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{ 1.0e-12, 1.0e-12, 1.0e-12 }" />
<!-- Material inside the fault -->
<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="fractureContact"
cohesion="40.0e6"
frictionCoefficient="0.01"/>

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

<NullModel
name="nullSolid"/>

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

</Constitutive>

<FieldSpecifications>

<FieldSpecification
name="fracPorosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Fault"
fieldName="fracturePorosity_porosity"
scale="1.00"/>

<FieldSpecification
name="xconstraint"
component="0"
fieldName="totalDisplacement"
objectPath="nodeManager"
scale="0.0"
setNames="{ xnegFace, xposFace }" />

<FieldSpecification
name="yconstraint"
component="1"
fieldName="totalDisplacement"
objectPath="nodeManager"
scale="0.0"
setNames="{ ynegFace, yposFace }" />

<FieldSpecification
name="zconstraint"
component="2"
fieldName="totalDisplacement"
objectPath="nodeManager"
scale="0.0"
setNames="{ znegFace }" />

<Traction
name="tractionTop"
objectPath="faceManager"
tractionType="normal"
scale="-1e7"
setNames="{ zposFace }"/>

<HydrostaticEquilibrium
name="equil"
objectPath="ElementRegions"
datumElevation="-2000"
datumPressure="2e7"
initialPhaseName="water"
componentNames="{ co2, water }"
componentFractionVsElevationTableNames="{ initCO2CompFracTable,
initWaterCompFracTable }"
temperatureVsElevationTableName="initTempTable"/>

<SourceFlux
name="sourceTerm"
objectPath="ElementRegions"
component="0"
scale="-1e5"
setNames="{ source }"/>

</FieldSpecifications>

<ElementRegions>
<CellElementRegion
name="Region"
cellBlocks="{ 2_hexahedra, 1_hexahedra, 0_hexahedra }"
materialList="{ fluid, relperm, porousRock }"/>

<SurfaceElementRegion
name="Fault"
faceBlock="fracture"
materialList="{ fluid, relperm, faultFilling, fractureContact, hApertureModel }"
defaultAperture="1e-3"/>
</ElementRegions>

<NumericalMethods>
<FiniteElements>
<FiniteElementSpace
name="FE1"
order="1" />
</FiniteElements>

<FiniteVolume>
<TwoPointFluxApproximation
name="TPFA"/>
<TwoPointFluxApproximation
name="TPFA_stab"/>
</FiniteVolume>
</NumericalMethods>

<Tasks>
<MultiphasePoromechanicsConformingFracturesInitialization
logLevel="1"
name="poroelasticityPreEquilibrationStep"
poromechanicsSolverName="poroFractureSolver"/>
</Tasks>

<Outputs>
<VTK
name="vtkOutput"
fieldNames="{ initialPressure}" />

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

<Functions>

<TableFunction
name="initCO2CompFracTable"
coordinateFiles="{ elevation.txt }"
voxelFile="initCO2CompFrac.txt"/>

<TableFunction
name="initWaterCompFracTable"
coordinateFiles="{ elevation.txt }"
voxelFile="initWaterCompFrac.txt"/>

<TableFunction
name="initTempTable"
coordinateFiles="{ elevation.txt }"
voxelFile="initTemp.txt"/>

<TableFunction
name="apertureTable"
coordinates="{ -1.0e-3, 0.0 }"
values="{ 1.0e-3, 1.0e-3 }"
/>

<TableFunction
name="waterRelativePermeabilityTable"
coordinateFiles="{ phaseVolFraction_water.txt }"
voxelFile="relPerm_water.txt"/>

<TableFunction
name="gasRelativePermeabilityTable"
coordinateFiles="{ phaseVolFraction_gas.txt }"
voxelFile="relPerm_gas.txt"/>

</Functions>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<Problem>
<Included>
<File name="./multiphasePoromechanics_FaultModel_base.xml"/>
</Included>

<Solvers
gravityVector="{ 0.0, 0.0, -9.81 }">

<MultiphasePoromechanicsConformingFractures
name="poroFractureSolver"
targetRegions="{ Region, Fault }"
initialDt="1e5"
flowSolverName="flowSolver"
solidSolverName="fractureMechSolver"
logLevel="1">
<NonlinearSolverParameters
lineSearchAction="None"
maxTimeStepCuts="10"
newtonTol="1e-2"
newtonMaxIter="20"
maxAllowedResidualNorm="1e+15"/>
<LinearSolverParameters
solverType="direct"
krylovTol="1e-10"
preconditionerType="mgr"/>
</MultiphasePoromechanicsConformingFractures>

<SolidMechanicsLagrangeContact
name="fractureMechSolver"
stabilizationName="TPFA_stab"
logLevel="1"
targetRegions="{ Region, Fault }"
timeIntegrationOption="QuasiStatic"
discretization="FE1"/>

<CompositionalMultiphaseFVM
name="flowSolver"
logLevel="1"
useMass="1"
scalingType="Local"
discretization="TPFA"
targetRegions="{ Region, Fault}"
temperature="297.15">
</CompositionalMultiphaseFVM>
</Solvers>

<Mesh>
<VTKMesh
name="mesh1"
useGlobalIds="1"
faceBlocks="{ fracture }"
file="verticalFault_ExternalMesh.vtm"/>
</Mesh>

<Geometry>
<Box
name="source"
xMin="{ -1800, -1800, -2000 }"
xMax="{ 600, 600, -2500 }"/>

<Box
name="xposFace"
xMin="{ 5999.99, -6000.01, -4000.01 }"
xMax="{ 6000.01, 6000.01, 0.01 }"/>

<Box
name="xnegFace"
xMin="{-6000.01, -6000.01, -4000.01 }"
xMax="{-5999.99, 6000.01, 0.01 }"/>

<Box
name="yposFace"
xMin="{-6000.01, 5999.99, -4000.01 }"
xMax="{ 6000.01, 6000.01, 0.01 }"/>

<Box
name="ynegFace"
xMin="{-6000.01, -6000.01, -4000.01 }"
xMax="{ 6000.01, -5999.99, 0.01 }"/>

<Box
name="zposFace"
xMin="{-6000.01, -6000.01, -0.01 }"
xMax="{ 6000.01, 6000.01, 0.01 }"/>

<Box
name="znegFace"
xMin="{-6000.01, -6000.01, -4000.01 }"
xMax="{ 6000.01, 6000.01, -3999.99 }"/>
</Geometry>

<Events
minTime="-1e5"
maxTime="1.0e7">

<!-- Initialization -->
<SoloEvent
name="poroelasticityPreEquilibrationStep"
targetTime="-1e5"
beginTime="-1e5"
target="/Tasks/poroelasticityPreEquilibrationStep"
/>
<!-- Injection -->
<SoloEvent
name="outputPostEquilibrationStep1"
targetTime="0"
targetExactTimestep="1"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="outputs"
beginTime="0.0"
endTime="1.0e7"
timeFrequency="1e5"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="solverApplication"
endTime="1.0e7"
maxEventDt="1e5"
target="/Solvers/poroFractureSolver"/>

<PeriodicEvent
name="restarts"
beginTime="0.0"
timeFrequency="1e5"
endTime="1.0e6"
target="/Outputs/restartOutput"/>
</Events>
</Problem>
21 changes: 21 additions & 0 deletions inputFiles/poromechanicsFractures/phaseVolFraction_gas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1.0
Loading

0 comments on commit a0e10b1

Please sign in to comment.