Skip to content

Commit

Permalink
Preparatory work for fractures + wells (#3021)
Browse files Browse the repository at this point in the history
Co-authored-by: Jian HUANG <[email protected]>
  • Loading branch information
paveltomin and jhuang2601 authored Jun 14, 2024
1 parent 2306840 commit ee751b0
Show file tree
Hide file tree
Showing 34 changed files with 774 additions and 217 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-pr3152-5558-5c6e97f
baseline: integratedTests/baseline_integratedTests-pr3021-5589-3c278fb

allow_fail:
all: ''
Expand Down
6 changes: 5 additions & 1 deletion BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ 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 #3021 (2024-06-13)
======================
Preparatory work for fractures + wells. New test case added.


PR #3152 (2024-06-13)
======================
Some random things. Baseline update because of the new parameter (minScalingFactor).
Expand Down Expand Up @@ -40,7 +45,6 @@ PR #3113 (2024-06-05)
=====================
Add general version updateConfiguration. Rebaseline of some edfm cases is needed.


PR #3050 (2024-05-20)
=====================
Spatially varying grain bulk modulus. Rebaseline of all poromechanics cases needed.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-27621898.34
0.00
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-69831843.20
0.00
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-57898141.60
0.00
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/DATATABLES/porePressure.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
40444400.00
0.00
1 change: 1 addition & 0 deletions inputFiles/poromechanicsFractures/DATATABLES/x.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.00
1 change: 1 addition & 0 deletions inputFiles/poromechanicsFractures/DATATABLES/y.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.00
2 changes: 2 additions & 0 deletions inputFiles/poromechanicsFractures/DATATABLES/z.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-4000.00
0.00
50 changes: 50 additions & 0 deletions inputFiles/poromechanicsFractures/Domain_Mesh_FaultModel.vtu

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions inputFiles/poromechanicsFractures/Fault_Mesh_FaultModel.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
<UnstructuredGrid>
<Piece NumberOfPoints="88" NumberOfCells="63">
<PointData GlobalIds="GLOBAL_IDS_POINTS">
<DataArray type="Int64" IdType="1" Name="collocated_nodes" NumberOfComponents="2" format="binary" RangeMin="2459.0002033346805" RangeMax="8892.480025279787">
AQAAAACAAACABQAAWwEAAA==eJxdi00ow3Ech1dKsTfDhaadRFyUKBellItSykUp5aKUclFKuShSLkRKiUgpERclykUp5aKNMS9jjHkZY8xblP9z+X2+l0/P0/OdzLD93y83L7wivCGcm2my32uxD1/CBvAV0g8LT8AH9IfsLH5J+nS7yR44yN8R68UXSd8nPAQf8xdix/DT0qeE0xwWn/B3yrrweQ6z7xLuhc/4O2cH8CPSx4TD9Em8zWnNBd7uNPs24Uu6TnwPG8H3Sx8SvqKL4hPsNf5H+iaXya1wlP6G7cB3S78nHIRv+YuxEXxc+jq3yY3wHX/3bAu+Xfot4V34gb8A/AiHpa/KMrkWjtM/sQ34ZulXhZ/pN/E7bAK/L32px+QXukp8DfuKr5d+TjhJt4xfZ9/w29IXZJtcDL/Tp9hyfLX048Iz8Ad/n+wifk16d47J+fAXf99sIb5M+kHhUeEp4QXhP65+1tE=
<InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2">
<Value index="0">
2459.0002033
</Value>
<Value index="1">
8892.4800253
</Value>
</InformationKey>
</DataArray>
<DataArray type="Int64" IdType="1" Name="GLOBAL_IDS_POINTS" format="binary" RangeMin="0" RangeMax="87">
AQAAAACAAADAAgAAnAAAAA==eJwtxdciAgAAAMBKympIaNBCyChCZCcRSbL+/0966O7lAoGpoEOecdizjjjqOc97wYtecsxxJ5z0slNecdqrXvO6M84657w3vOmCiy657Iq3vO0dV73rPe+75gMf+sjHrrvhE5+66TOf+8ItX/rKbV/7xre+870f/OiOn9z1s3t+8av7fvO7B/7w0J8e+ctjf/vHv/7zvyfgYw71
</DataArray>
</PointData>
<CellData GlobalIds="GLOBAL_IDS_CELLS">
<DataArray type="Int64" IdType="1" Name="GLOBAL_IDS_CELLS" format="binary" RangeMin="0" RangeMax="62">
AQAAAACAAAD4AQAAbQAAAA==eJwtxUOCAwEAALCpbdvmosb/n9VDk0uC4CvksCOOOua4E0465bQzzjrnvAsuuuSyK6665robbrrltjvuuue+Bx565LEnnnrmuRdeeuW1N956570PPvrHv/7zv08+++Krb7774adffvsDGEMHog==
</DataArray>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="binary" RangeMin="1980.056817366613" RangeMax="3236.6803981857706">
AQAAAACAAAAgBAAA4gAAAA==eJxN070JwzAYhOGbIrVGUaFBPIqmcK1RVDitwZDCYLCcTBLJhe9VdXw8HJ/8I81Jer0Vf4vuPC/O/XienLsP8AE+wAd4wQte8IK/vvZP7sfz5Nx9ha/wFb7CF/gCX+ALfIbP8Bk+w0/wE/wEP8FH+Agf4SN8gA/wAT7AC17wghfve+G+l73nyXn0wwte8ILPDf0N/Q39Df3wghe84POJ/hP9J/pP+3jg+R/2nifnsc+OfXbss2Of3b5+8H1+7D1PzmP/Dftv9p4n57H/iv1Xe8+T8/i/Fvsn36/Lvuc/fxk9eg==
<InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2">
<Value index="0">
1980.0568174
</Value>
<Value index="1">
3236.6803982
</Value>
</InformationKey>
</DataArray>
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="binary" RangeMin="0" RangeMax="87">
AQAAAACAAADgBwAAPwEAAA==eJxdzNsyAgAURuEQQgghRCGEEEIIIYSQ8/u/iQt73ax988+s+WYnEv/XE9sfm1TvjR2Qo/fFDsol5YdiU+r4YTk6f0fkUvKjsWl1/Jgcnb/jcmn5idiMOn5Sjs7fKbmM/HRsVh0/I0fn76xcVn4uNqeOn5ej83dBLie/GJtXxy/J0flbkMvLL8cW1fErcnT+rsoV5ddiS+r4dTk6fzfkSvKbsWV1/JYcnb/bcmX5ndiKOn5Xjs7fPbmK/H5sVR1/IEfn76FcVf4otqaOP5aj8/dEriZ/GltXx5/J0fl7LleXv4htqOMv5ej8vZJryF/HNtXxN3J0/t7KNeXvYlvq+Hs5On8f5Fryj7FtdfyTHJ2/z3Jt+ZfYjjr+VY7O3ze5jvx7bFcd/yFH5++nXFf+O/ZLHf8jR+fvr9wfDAUq0w==
</DataArray>
<DataArray type="Int64" Name="offsets" format="binary" RangeMin="4" RangeMax="252">
AQAAAACAAAD4AQAAlAAAAA==eJwtxRFgAgAAALAgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCILgcDgcgiAIgiAIgiAI2mTBwFfIYUccdcxxJ5x0ymlnnHXOeRdcdMllV1x1zXU33HTLbXfcdc99Dzz0yGNPPPXMcy+89Mprb7z1znsf/ONf//nfR5989sVX33z3w0+//PYHVzMfgQ==
</DataArray>
<DataArray type="UInt8" Name="types" format="binary" RangeMin="7" RangeMax="7">
AQAAAACAAAA/AAAADAAAAA==eJxjZ6cIAAA3XwG6
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>
9 changes: 8 additions & 1 deletion inputFiles/poromechanicsFractures/poromechanicsFractures.ats
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,14 @@ decks = [
restart_step=0,
check_step=12,
restartcheck_params=RestartcheckParameters(atol=1e-05,
rtol=4e-04))
rtol=4e-04)),
TestDeck(
name="singlePhasePoromechanics_FaultModel_smoke",
description='PoroElastic conformingFracture intialization with external mesh',
partitions=((1, 1, 1), (2, 2, 1)),
restart_step=0,
check_step=1,
restartcheck_params=RestartcheckParameters(**restartcheck_params))
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
<Problem>
<Constitutive>
<PorousElasticIsotropic
name="porousRock"
permeabilityModelName="rockPerm"
porosityModelName="rockPorosity"
solidModelName="rock" />

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

<CompressibleSinglePhaseFluid
name="water"
compressibility="2.09028227021e-10"
defaultDensity="1325"
defaultViscosity="0.001"
referenceDensity="1325"
referencePressure="0e6"
referenceViscosity="0.001"
viscosibility="0.0" />

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

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{ 1.0e-18, 1.0e-18, 1.0e-18 }" />
<!-- 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"
apertureTableName="apertureTable"/>

<NullModel
name="nullSolid"/>

</Constitutive>

<FieldSpecifications>

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

<FieldSpecification
name="prescribedFaultPressure"
setNames="{ all }"
objectPath="ElementRegions/Fault"
fieldName="pressure"
scale="35.0e6"/>

<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 }" />

<FieldSpecification
name="init_sigma_xx"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region"
fieldName="rock_stress"
component="0"
functionName="sigma_xx"
scale="1.0"/>

<FieldSpecification
name="init_sigma_yy"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region"
fieldName="rock_stress"
component="1"
functionName="sigma_yy"
scale="1.0"/>

<FieldSpecification
name="init_sigma_zz"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region"
fieldName="rock_stress"
component="2"
functionName="sigma_zz"
scale="1.0"/>

<FieldSpecification
name="init_pressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="pressure"
functionName="init_pressure"
scale="1.0"/>
</FieldSpecifications>

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

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

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

<FiniteVolume>
<TwoPointFluxApproximation
name="singlePhaseTPFA"/>
<TwoPointFluxApproximation
name="singlePhaseTPFA_stab"/>
</FiniteVolume>
</NumericalMethods>

<Tasks>
<SinglePhasePoromechanicsConformingFracturesInitialization
logLevel="1"
name="SinglePhasePoroelasticityPreEquilibrationStep"
poromechanicsSolverName="poroFractureSolver"/>
</Tasks>

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

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

<Functions>
<TableFunction
name="sigma_xx"
interpolation="linear"
inputVarNames="{elementCenter}"
coordinateFiles="{DATATABLES/x.csv, DATATABLES/y.csv, DATATABLES/z.csv}"
voxelFile="DATATABLES/effectiveSigma_xx.csv"
/>

<TableFunction
name="sigma_yy"
interpolation="linear"
inputVarNames="{elementCenter}"
coordinateFiles="{DATATABLES/x.csv, DATATABLES/y.csv, DATATABLES/z.csv}"
voxelFile="DATATABLES/effectiveSigma_yy.csv"
/>

<TableFunction
name="sigma_zz"
interpolation="linear"
inputVarNames="{elementCenter}"
coordinateFiles="{DATATABLES/x.csv, DATATABLES/y.csv, DATATABLES/z.csv}"
voxelFile="DATATABLES/effectiveSigma_zz.csv"
/>

<TableFunction
name="init_pressure"
interpolation="linear"
inputVarNames="{elementCenter}"
coordinateFiles="{DATATABLES/x.csv, DATATABLES/y.csv, DATATABLES/z.csv}"
voxelFile="DATATABLES/porePressure.csv"
/>

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

0 comments on commit ee751b0

Please sign in to comment.