Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
c21797c
Submitting the latest version of the code that gives the expected res…
LilianeRA Oct 15, 2025
8628eef
Removing unnecessary files for this branch
LilianeRA Oct 15, 2025
6e52118
Adding unit test for the oedometric conditions. It still does not wor…
LilianeRA Oct 22, 2025
fe4fdbf
Implementing the Barton-Bandis law version that computes the oedometr…
LilianeRA Oct 22, 2025
173a76c
Setting the stress computation as a private function; Exclusive Updat…
LilianeRA Oct 29, 2025
6fb5174
Fracture aperture update implemented in the FlowSolverBase; Not compi…
LilianeRA Nov 4, 2025
4675797
Creating input files
LilianeRA Nov 5, 2025
26209ab
Last commit before the pull request
LilianeRA Nov 7, 2025
985e76e
Adding simulation tests for comparisson with the analytical solution
LilianeRA Dec 7, 2025
c6e4d7c
Adding sample file for testing and first version of the RST documenti…
LilianeRA Feb 23, 2026
27d116a
Changing the name of the two optional flags from the FlowSolverBase. …
LilianeRA Feb 25, 2026
148b5dc
Deleting unnecessary directory for compiling latex equation format in…
LilianeRA Mar 12, 2026
f1322ea
Testing the constitutive law that relates permeability to pressure. T…
LilianeRA Mar 19, 2026
ae317f2
Constitutive contact law for stress-path driven Barton-Bandis deleted…
LilianeRA Mar 26, 2026
9e92917
Reverting unused modifications
LilianeRA Apr 19, 2026
58d1409
Modifications suggested by Jacques Franc
LilianeRA Apr 24, 2026
824efd8
Merge branch 'develop' into feature/prescribedStressPath_constitutive
LilianeRA Apr 24, 2026
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
<?xml version="1.0" ?>

<Problem>
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN -->
<Solvers
gravityVector="{ 0.0, 0.0, -9.81 }">
<SinglePhaseFVM
name="SinglePhaseFlow"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ RockMatrix, Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-6"
newtonMaxIter="30"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseFVM>
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN_END -->

<EmbeddedSurfaceGenerator
name="SurfaceGenerator"
logLevel="1"
discretization="FE1"
targetRegions="{ RockMatrix, Fracture }"
targetObjects="{ FracturePlane }"
fractureRegion="Fracture"
mpiCommOrder="1"/>
</Solvers>

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

<ElementRegions>
<CellElementRegion
name="RockMatrix"
cellBlocks="{ * }"
materialList="{ water, rock }"/>

<SurfaceElementRegion
name="Fracture"
faceBlock="embeddedSurfaceSubRegion"
defaultAperture="1.0e-4"
materialList="{ water, fractureFilling }"
subRegionType="embeddedElement"/>
</ElementRegions>

<Constitutive>
<CompressibleSinglePhaseFluid
name="water"
defaultDensity="2000"
defaultViscosity="0.001"
referencePressure="0.0"
compressibility="5e-12"
viscosibility="0.0"/>

<CompressibleSolidBartonBandisPermeability
name="fractureFilling"
solidModelName="nullSolid"
porosityModelName="fracturePorosity"
permeabilityModelName="fracturePerm"/>

<CompressibleSolidConstantPermeability
name="rock"
solidModelName="nullSolid"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"/>

<NullModel
name="nullSolid"/>

<PressurePorosity
name="rockPorosity"
defaultReferencePorosity="0.1"
referencePressure="0.0"
compressibility="0.0"/>

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

<PressurePorosity
name="fracturePorosity"
defaultReferencePorosity="1.00"
referencePressure="0.0"
compressibility="0.0"/>
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN_LAW -->
<BartonBandisPermeability
name="fracturePerm"
biot="1.0"
poisson="0.3"
normalStiffness="10.0e9"
referenceAperture="1.0e-4"
referencePressure="1e7"
referenceTotalStress="{ 10.0e6, 10.0e6, 30.0e6 }"/>
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN_LAW_END -->

</Constitutive>


<FieldSpecifications>

<FieldSpecification
name="Porosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="rockPorosity_referencePorosity"
scale="0.1"/>

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

<FieldSpecification
name="initialFracturePressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Fracture/embeddedSurfaceSubRegion"
fieldName="pressure"
scale="1.0e7"/>

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

<FieldSpecification
name="sourceTerm"
objectPath="ElementRegions/Fracture"
fieldName="pressure"
scale="1.0e7"
setNames="{ source }"/>

<FieldSpecification
name="sinkTerm"
objectPath="ElementRegions/Fracture"
fieldName="pressure"
scale="1.904100e7"
setNames="{ sink }"/>

</FieldSpecifications>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
<?xml version="1.0" ?>

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

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

<Geometry>
<Box
name="source"
xMin="{ -1.01, -0.01, -0.01 }"
xMax="{ 1.01, 1.1, 1.01 }"/>

<Box
name="sink"
xMin="{ -1.01, 9.9, -0.01 }"
xMax="{ 1.01, 11.01, 1.01 }"/>

<Rectangle
name="FracturePlane"
normal="{ 0, 0, 1 }"
origin="{ 0.0, 0.5, 0.5 }"
lengthVector="{ 0, 1, 0 }"
widthVector="{ 1, 0, 0 }"
dimensions="{ 30, 1 }"/>
</Geometry>

<Tasks>
<PackCollection
name="pressureCollection"
objectPath="ElementRegions/Fracture/embeddedSurfaceSubRegion"
fieldName="pressure"/>
<PackCollection
name="apertureCollection"
objectPath="ElementRegions/Fracture/embeddedSurfaceSubRegion"
fieldName="hydraulicAperture"/>
<PackCollection
name="permeabilityCollection"
objectPath="ElementRegions/Fracture/embeddedSurfaceSubRegion"
fieldName="fracturePerm_permeability"/>
</Tasks>

<Events
maxTime="50"
logLevel="3">
<SoloEvent
name="preFracture"
target="/Solvers/SurfaceGenerator"/>

<PeriodicEvent
name="solverApplications"
forceDt="1"
target="/Solvers/SinglePhaseFlow"/>

<PeriodicEvent
name="outputs"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="pressureHistoryCollection"
target="/Tasks/pressureCollection" />
<PeriodicEvent
name="pressureHistoryOutput"
targetExactTimestep="0"
target="/Outputs/pressureHistoryOutput"/>

<PeriodicEvent
name="apertureHistoryCollection"
target="/Tasks/apertureCollection" />
<PeriodicEvent
name="apertureHistoryOutput"
targetExactTimestep="0"
target="/Outputs/apertureHistoryOutput"/>

<PeriodicEvent
name="permeabilityHistoryCollection"
target="/Tasks/permeabilityCollection" />
<PeriodicEvent
name="permeabilityHistoryOutput"
targetExactTimestep="0"
target="/Outputs/permeabilityHistoryOutput"/>
</Events>


<Outputs>
<VTK
name="vtkOutput"
plotFileRoot="stressPathDriven"
plotLevel="2"
format="ascii"/>

<Restart
name="sidreRestart"/>
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN_TIMEHISTORY -->
<TimeHistory
name="pressureHistoryOutput"
sources="{/Tasks/pressureCollection}"
filename="fracPressure_history" />
<TimeHistory
name="apertureHistoryOutput"
sources="{/Tasks/apertureCollection}"
filename="fracAperture_history" />
<TimeHistory
name="permeabilityHistoryOutput"
sources="{/Tasks/permeabilityCollection}"
filename="fracPermeability_history" />
<!-- SPHINX_TUT_STRESS_PATH_DRIVEN_TIMEHISTORY_END -->
</Outputs>
</Problem>
1 change: 0 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,6 @@ if (NOT DEFINED ENABLE_ATS)
set( ENABLE_ATS true CACHE BOOL "")
endif()


if ( ENABLE_ATS )
if (NOT DEFINED ATS_WORKING_DIR)
message( WARNING "ATS_WORKING_DIR is not defined (required for integrated testing system)" )
Expand Down
2 changes: 2 additions & 0 deletions src/coreComponents/constitutive/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ set( constitutive_headers
permeability/PermeabilityBase.hpp
permeability/PermeabilityFields.hpp
permeability/PressurePermeability.hpp
permeability/BartonBandisPermeability.hpp
permeability/ProppantPermeability.hpp
permeability/SlipDependentPermeability.hpp
permeability/WillisRichardsPermeability.hpp
Expand Down Expand Up @@ -301,6 +302,7 @@ set( constitutive_sources
permeability/ParallelPlatesPermeability.cpp
permeability/PermeabilityBase.cpp
permeability/PressurePermeability.cpp
permeability/BartonBandisPermeability.cpp
permeability/ProppantPermeability.cpp
permeability/SlipDependentPermeability.cpp
permeability/WillisRichardsPermeability.cpp
Expand Down
5 changes: 5 additions & 0 deletions src/coreComponents/constitutive/ConstitutivePassThru.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
#include "permeability/CarmanKozenyPermeability.hpp"
#include "permeability/ExponentialDecayPermeability.hpp"
#include "permeability/ParallelPlatesPermeability.hpp"
#include "permeability/BartonBandisPermeability.hpp"
#include "permeability/PressurePermeability.hpp"
#include "permeability/ProppantPermeability.hpp"
#include "permeability/SlipDependentPermeability.hpp"
Expand Down Expand Up @@ -375,6 +376,7 @@ struct ConstitutivePassThru< CompressibleSolidBase >
CompressibleSolid< PressurePorosity, CarmanKozenyPermeability >,
CompressibleSolid< PressurePorosity, ExponentialDecayPermeability >,
CompressibleSolid< PressurePorosity, ParallelPlatesPermeability >,
CompressibleSolid< PressurePorosity, BartonBandisPermeability >,
CompressibleSolid< PressurePorosity, PressurePermeability >,
CompressibleSolid< PressurePorosity, SlipDependentPermeability >,
CompressibleSolid< PressurePorosity, WillisRichardsPermeability >
Expand All @@ -389,6 +391,7 @@ struct ConstitutivePassThru< CompressibleSolidBase >
CompressibleSolid< PressurePorosity, CarmanKozenyPermeability >,
CompressibleSolid< PressurePorosity, ExponentialDecayPermeability >,
CompressibleSolid< PressurePorosity, ParallelPlatesPermeability >,
CompressibleSolid< PressurePorosity, BartonBandisPermeability >,
CompressibleSolid< PressurePorosity, PressurePermeability >,
CompressibleSolid< PressurePorosity, SlipDependentPermeability >,
CompressibleSolid< PressurePorosity, WillisRichardsPermeability >
Expand Down Expand Up @@ -462,6 +465,7 @@ struct ConstitutivePassThru< CoupledSolidBase >
CompressibleSolid< PressurePorosity, CarmanKozenyPermeability >,
CompressibleSolid< PressurePorosity, ExponentialDecayPermeability >,
CompressibleSolid< PressurePorosity, ParallelPlatesPermeability >,
CompressibleSolid< PressurePorosity, BartonBandisPermeability >,
CompressibleSolid< PressurePorosity, PressurePermeability >,
CompressibleSolid< PressurePorosity, SlipDependentPermeability >,
CompressibleSolid< PressurePorosity, WillisRichardsPermeability >,
Expand Down Expand Up @@ -503,6 +507,7 @@ struct ConstitutivePassThru< CoupledSolidBase >
CompressibleSolid< PressurePorosity, CarmanKozenyPermeability >,
CompressibleSolid< PressurePorosity, ExponentialDecayPermeability >,
CompressibleSolid< PressurePorosity, ParallelPlatesPermeability >,
CompressibleSolid< PressurePorosity, BartonBandisPermeability >,
CompressibleSolid< PressurePorosity, PressurePermeability >,
CompressibleSolid< PressurePorosity, SlipDependentPermeability >,
CompressibleSolid< PressurePorosity, WillisRichardsPermeability >,
Expand Down
Loading
Loading