Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
9aa6887
enable Kozeny-Carman Permeability for PorousSolid
jhuang2601 Aug 22, 2025
0d55208
update ConstitutivePassThru.hpp
jhuang2601 Aug 22, 2025
2e55ebc
update kernelSpecs
jhuang2601 Aug 22, 2025
a0dd6d7
update initializeState
jhuang2601 Aug 22, 2025
75d73e2
add a smoke test
jhuang2601 Aug 22, 2025
c979402
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Aug 22, 2025
22872e6
adjust catalogName
jhuang2601 Aug 25, 2025
d378c60
modify smoke test
jhuang2601 Aug 25, 2025
10e7bcb
make the equation consistent with ref
jhuang2601 Aug 25, 2025
9bdab83
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Aug 25, 2025
bfc1658
uncrustify
jhuang2601 Aug 25, 2025
7f2c9ba
address review comment
jhuang2601 Aug 26, 2025
ef80bf5
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Aug 26, 2025
e4f47b9
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Aug 29, 2025
3fff623
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 9, 2025
17b5305
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 12, 2025
335ac3c
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 15, 2025
c5db858
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 18, 2025
8a6461c
add a smoke test with sequential solver
jhuang2601 Sep 19, 2025
735f236
update ats
jhuang2601 Sep 19, 2025
1c663ee
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 19, 2025
782f5df
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 22, 2025
2cc391d
Merge branch 'develop' into feature/jhuang/permeability_PorousSolid
jhuang2601 Sep 26, 2025
89a717f
add missing comma
jhuang2601 Sep 26, 2025
4aaaf07
update .integrated_tests.yaml
jhuang2601 Sep 27, 2025
d3cb7d2
update BASELINE_NOTES.md
jhuang2601 Sep 27, 2025
bb7b286
fix partition issue for smoke tests
jhuang2601 Sep 29, 2025
7df0890
update .integrated_tests.yaml
jhuang2601 Sep 29, 2025
0614d87
update BASELINE_NOTES.md
jhuang2601 Sep 29, 2025
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-pr3779-13734-44eed3f
baseline: integratedTests/baseline_integratedTests-pr3790-13899-bb7b286

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 #3790 (2025-09-29) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3790-13899-bb7b286.tar.gz>
=====================
Enable Kozeny-Carman Permeability for PorousSolid.

PR #3779 (2025-09-21) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3779-13734-44eed3f.tar.gz>
=====================
Add new inputs for function input var scaling. Add new Multiscale linear solver parameters XML block.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<Problem>
<NumericalMethods>
<FiniteElements>
<FiniteElementSpace
name="FE1"
order="1"/>
</FiniteElements>

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

<ElementRegions>
<CellElementRegion
name="Domain"
cellBlocks="{ * }"
materialList="{ fluid, porousRock }"/>
</ElementRegions>

<Constitutive>
<PorousElasticIsotropicCarmanKozenyPermeability
name="porousRock"
solidModelName="skeleton"
porosityModelName="skeletonPorosity"
permeabilityModelName="skeletonPerm"/>

<ElasticIsotropic
name="skeleton"
defaultDensity="0"
defaultYoungModulus="1.0e4"
defaultPoissonRatio="0.2"/>

<CompressibleSinglePhaseFluid
name="fluid"
defaultDensity="1"
defaultViscosity="1.0"
referencePressure="0.0"
referenceDensity="1"
compressibility="0.0e0"
referenceViscosity="1"
viscosibility="0.0"/>

<BiotPorosity
name="skeletonPorosity"
defaultGrainBulkModulus="1.0e27"
defaultReferencePorosity="0.3"/>

<CarmanKozenyPermeability
name="skeletonPerm"
particleDiameter="0.0002"
sphericity="1.0"/>
</Constitutive>

<FieldSpecifications>
<FieldSpecification
name="initialPressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Domain/cb1"
fieldName="pressure"
scale="0.0"/>

<FieldSpecification
name="xInitialDisplacement"
initialCondition="1"
setNames="{ all }"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="0"
scale="0.0"/>

<FieldSpecification
name="yInitialDisplacement"
initialCondition="1"
setNames="{ all }"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="1"
scale="0.0"/>

<FieldSpecification
name="zInitialDisplacement"
initialCondition="1"
setNames="{ all }"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="2"
scale="0.0"/>

<FieldSpecification
name="xnegconstraint"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="0"
scale="0.0"
setNames="{ xpos }"/>

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

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

<Traction
name="xposconstraint"
objectPath="faceManager"
direction="{ 1, 0, 0 }"
scale="1.0e0"
setNames="{ xneg }"
functionName="timeFunction"/>

<FieldSpecification
name="boundaryPressure"
setNames="{ xneg }"
objectPath="faceManager"
fieldName="pressure"
scale="0.0"/>
</FieldSpecifications>

<Functions>
<TableFunction
name="timeFunction"
inputVarNames="{ time }"
coordinates="{ 0.0, 0.1e-09, 1e7 }"
values="{ 0.0, 1.0, 1.0 }"/>
</Functions>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<?xml version="1.0" ?>

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

<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<SinglePhasePoromechanics
name="PoroelasticitySolver"
solidSolverName="LinearElasticitySolver"
flowSolverName="SinglePhaseFlowSolver"
logLevel="1"
targetRegions="{ Domain }">
<LinearSolverParameters
directParallel="0"/>
</SinglePhasePoromechanics>

<SolidMechanicsLagrangianFEM
name="LinearElasticitySolver"
timeIntegrationOption="QuasiStatic"
logLevel="1"
discretization="FE1"
targetRegions="{ Domain }"/>

<SinglePhaseFVM
name="SinglePhaseFlowSolver"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ Domain }"/>
</Solvers>

<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 10 }"
yCoords="{ 0, 1 }"
zCoords="{ 0, 1 }"
nx="{ 24 }"
ny="{ 2 }"
nz="{ 1 }"
cellBlockNames="{ cb1 }"/>
</Mesh>


<Events
maxTime="90.0">
<PeriodicEvent
name="outputs"
timeFrequency="10.0"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="solverApplication0"
endTime="1.e-5"
forceDt="1.e-5"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="solverApplication1"
beginTime="1.e-5"
endTime="1.0"
forceDt="0.99999"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="solverApplication2"
beginTime="1.0"
endTime="90.0"
forceDt="1.0"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="restarts"
cycleFrequency="50"
target="/Outputs/restartOutput"/>
</Events>

<Outputs>
<VTK
name="vtkOutput"/>

<Restart
name="restartOutput"/>
</Outputs>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?xml version="1.0" ?>

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

<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<SinglePhasePoromechanics
name="PoroelasticitySolver"
solidSolverName="LinearElasticitySolver"
flowSolverName="SinglePhaseFlowSolver"
logLevel="1"
targetRegions="{ Domain }">
<NonlinearSolverParameters
newtonMaxIter="2"
newtonTol="1.0e-2"
couplingType="Sequential"
lineSearchAction="None"
subcycling="1"
maxTimeStepCuts="1"
lineSearchMaxCuts="0"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhasePoromechanics>

<SolidMechanicsLagrangianFEM
name="LinearElasticitySolver"
timeIntegrationOption="QuasiStatic"
logLevel="1"
discretization="FE1"
targetRegions="{ Domain }"/>

<SinglePhaseFVM
name="SinglePhaseFlowSolver"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ Domain }"/>
</Solvers>

<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 10 }"
yCoords="{ 0, 1 }"
zCoords="{ 0, 1 }"
nx="{ 24 }"
ny="{ 2 }"
nz="{ 1 }"
cellBlockNames="{ cb1 }"/>
</Mesh>


<Events
maxTime="90.0">
<PeriodicEvent
name="outputs"
timeFrequency="10.0"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="solverApplication0"
endTime="1.e-5"
forceDt="1.e-5"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="solverApplication1"
beginTime="1.e-5"
endTime="1.0"
forceDt="0.99999"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="solverApplication2"
beginTime="1.0"
endTime="90.0"
forceDt="1.0"
target="/Solvers/PoroelasticitySolver"/>

<PeriodicEvent
name="restarts"
cycleFrequency="50"
target="/Outputs/restartOutput"/>
</Events>

<Outputs>
<VTK
name="vtkOutput"/>

<Restart
name="restartOutput"/>
</Outputs>
</Problem>
24 changes: 23 additions & 1 deletion inputFiles/poromechanics/poroElasticCoupling.ats
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,26 @@ def _build_PoroElasticGravity_cases():
description, restartcheck_params)


def _build_PoroElasticCarmanKozenyFIM_cases():
description = Description(
"Poroelastic problem with CarmanKozeny permeability model (fim) ", "auto",
"Jian Huang", True)
restartcheck_params = {"atol": 1.0e-5, "rtol": 2.0e-7}
return _build_poro_elastic_coupling_case(
"PoroElastic_CarmanKozenyPermeability_fim_smoke.xml", (0, 50),
((1, 1, 1), (2, 2, 1)), description, restartcheck_params)


def _build_PoroElasticCarmanKozenySequential_cases():
description = Description(
"Poroelastic problem with CarmanKozeny permeability model (Sequential) ", "auto",
"Jian Huang", True)
restartcheck_params = {"atol": 1.0e-5, "rtol": 2.0e-7}
return _build_poro_elastic_coupling_case(
"PoroElastic_CarmanKozenyPermeability_sequential_smoke.xml", (0, 50),
((1, 1, 1), (2, 2, 1)), description, restartcheck_params)


def test_poro_elastic_coupling_cases():
deck_instances = [
_build_Terzaghi_cases(),
Expand All @@ -308,7 +328,9 @@ def test_poro_elastic_coupling_cases():
_build_PoroStaircaseCO2PeacemanWell_sequential_cases(),
_build_PoroElasticPEBICO2FIM_cases(),
_build_PoroElasticPEBICO2Sequential_cases(),
_build_PoroElasticGravity_cases()
_build_PoroElasticGravity_cases(),
_build_PoroElasticCarmanKozenyFIM_cases(),
_build_PoroElasticCarmanKozenySequential_cases()
]

generate_geos_tests(deck_instances)
Expand Down
Loading