Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
4e3edf8
wip: adding initial case
OmarDuran Jan 15, 2026
9ca5022
wip: adding all the combination out of 6 fractures
OmarDuran Jan 16, 2026
288c7ab
wip: update meshes
OmarDuran Jan 16, 2026
06191c2
Update rc_hex01_norm_nf_lagr_contact.xml
OmarDuran Jan 16, 2026
82c767b
wip: add meshes
OmarDuran Jan 16, 2026
ac6a967
wip: adding mechanics, fluid and poromechanics cases
OmarDuran Jan 20, 2026
81763f5
wip: adding cases discussed with RS
OmarDuran Jan 21, 2026
47b067c
wip: delete old cases
OmarDuran Jan 21, 2026
61179c7
wip: add non trivial case
OmarDuran Jan 23, 2026
ec2b14c
wip: adding initialization for pure mechanical problems using interna…
OmarDuran Jan 23, 2026
ff3e12f
Merge branch 'develop' into feature/oduran/test_stress_consistency
OmarDuran Jan 30, 2026
63a91f9
test: consistency of constant fluxes (linear displacement solution)
OmarDuran Jan 30, 2026
b7fffdd
Update testFEMConsistency.cpp
OmarDuran Jan 31, 2026
7a4ee95
Update testFEMConsistency.cpp
OmarDuran Jan 31, 2026
7338f70
wip: make test faster
OmarDuran Jan 31, 2026
fc35c01
wip: make test faster
OmarDuran Jan 31, 2026
4c918f7
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
c9a1bbf
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
32a958f
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
e25315c
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
6519dd1
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
8ec8d8d
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
88b1e62
wip: testing distorted meshes
OmarDuran Feb 1, 2026
d1a39b1
wip: adding distorted meshes
OmarDuran Feb 1, 2026
0692c5a
Update testFEMConsistency.cpp
OmarDuran Feb 1, 2026
a969057
wip: remove input xml files
OmarDuran Feb 2, 2026
99d5877
Update GeosxOptions.cmake
OmarDuran Feb 2, 2026
7d0995d
Update testFEMConsistency.cpp
OmarDuran Feb 2, 2026
822e756
Update testFEMConsistency.cpp
OmarDuran Feb 2, 2026
d74bb50
Update testFEMConsistency.cpp
OmarDuran Feb 2, 2026
529df73
add DynamicFieldSpecification
rrsettgast Feb 3, 2026
8566432
wip: remove 2d elements from test meshes
OmarDuran Feb 3, 2026
8682462
fix: correct filename DynamicFieldSpecification in CMakeLists.txt
OmarDuran Feb 3, 2026
dcc0921
Update DynamicFieldSpecification.cpp
OmarDuran Feb 3, 2026
867c3b6
wip: fixing compilation issues
OmarDuran Feb 3, 2026
0351ef7
fix: compilation and linker issues are resolved
OmarDuran Feb 3, 2026
e4895cd
Update DynamicFieldSpecification.cpp
OmarDuran Feb 3, 2026
ddf00d4
compilation error
rrsettgast Feb 3, 2026
e32da8c
Update SurfaceGenerator.cpp
OmarDuran Feb 3, 2026
57d2e4e
wip: uncrustify
OmarDuran Feb 3, 2026
5953b82
Merge branch 'feature/oduran/test_fem_stress_consistency' of https://…
OmarDuran Feb 3, 2026
5e968d8
wip: adding test for class DynamicFieldSpecification
OmarDuran Feb 3, 2026
70efca6
wip: mixed dimensional flow test
OmarDuran Feb 3, 2026
f0e6934
wip: testing two conditions
OmarDuran Feb 3, 2026
f3bd6dd
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
be77575
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
57a8ae0
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
4fff9e8
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
7fbff2c
fix: complete mixed-dimensional test
OmarDuran Feb 3, 2026
5afd416
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
80792f8
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
f2cdda4
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
ca40498
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
1ab70ff
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
80d397c
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
4284385
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
4eb8840
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 3, 2026
ef04e14
wip: ongoing work with parallel test
OmarDuran Feb 4, 2026
64c37cc
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
f40d13d
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
e6a97e7
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
132b2a3
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
2b7b55d
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
e2e75ad
Update testFEMConsistency.cpp
OmarDuran Feb 4, 2026
5d0bf15
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 4, 2026
5235ab6
doc: documentation for the test
OmarDuran Feb 4, 2026
93bf25c
Update testFEMConsistency.cpp
OmarDuran Feb 4, 2026
dcfbb66
wip: remove 2d elements
OmarDuran Feb 4, 2026
1f37331
Merge branch 'develop' into feature/oduran/test_fem_stress_consistency
OmarDuran Feb 4, 2026
6d2cfd2
fix: Resolves a segmentation fault on macOS (ARM64)
OmarDuran Feb 5, 2026
a0f0735
Merge branch 'fix/oduran/suitesparse_ordering' into feature/oduran/te…
OmarDuran Feb 5, 2026
1255072
Update DynamicFieldSpecification.cpp
OmarDuran Feb 5, 2026
85fc4de
wip: update hydrostatic specification
OmarDuran Feb 5, 2026
deef39c
wip: update baseline
OmarDuran Feb 5, 2026
5d754bd
Revert "wip: update baseline"
OmarDuran Feb 5, 2026
5f6cca5
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 5, 2026
f2952cd
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 5, 2026
21bcbb5
Update DynamicFieldSpecification.cpp
OmarDuran Feb 5, 2026
e13b0ea
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 5, 2026
b6f17a5
Update testMixedDimSinglePhaseFlow.cpp
OmarDuran Feb 5, 2026
360c976
Update CMakeLists.txt
OmarDuran Feb 5, 2026
4ace3f8
wip: cleaning up
OmarDuran Feb 6, 2026
211d3c7
Update SolidMechanicsAugmentedLagrangianContact.cpp
OmarDuran Feb 6, 2026
2ef921d
Update testFEMConsistency.cpp
OmarDuran Feb 6, 2026
c77f5b2
wip: clean up code part I
OmarDuran Feb 6, 2026
eed9343
wip: add option to replace displacements
OmarDuran Feb 6, 2026
1ebb36a
Synchronize bubble displacement and add reset_displacements option
OmarDuran Feb 9, 2026
572ec5c
test traction on generated fractures
OmarDuran Feb 9, 2026
4851d94
testing fracture stress in all the configurations
OmarDuran Feb 9, 2026
2c54a37
wip initialize traction from matrix elements
OmarDuran Feb 9, 2026
4a03e4b
wip: refactor traction initialization from bulk stresses.
OmarDuran Feb 9, 2026
11f4015
wip: report completion for SG.
OmarDuran Feb 9, 2026
882eb94
update from develop
OmarDuran Feb 10, 2026
eaf5ce4
delete duplicated code
OmarDuran Feb 10, 2026
d72e2af
Parametrization for multiple mpi ranks
OmarDuran Feb 10, 2026
e83528d
balancing test load
OmarDuran Feb 10, 2026
d824379
fix typo in the xml block
OmarDuran Feb 10, 2026
5bff55f
Ensuring stick mode
OmarDuran Feb 10, 2026
fa9212e
add print statements
OmarDuran Feb 10, 2026
d90acfb
add print statements
OmarDuran Feb 10, 2026
c5c1f9a
adjusting mesh modification stamps for SurfaceGenerator steps as solo…
OmarDuran Feb 10, 2026
ed9f861
remove print statements
OmarDuran Feb 10, 2026
4a78194
test failure is caused by a race condition when running tests in par…
OmarDuran Feb 10, 2026
ff79f51
test failure is caused by a race condition when running tests in par…
OmarDuran Feb 10, 2026
441061b
run test with direct solver
OmarDuran Feb 10, 2026
4eb8998
wip fixing tetrehedral partitions
OmarDuran Feb 10, 2026
2dbcff0
fix: address surface generator performance issues (#3968)
rrsettgast Feb 10, 2026
10db3d0
fix conflict
OmarDuran Feb 10, 2026
3ea580a
adding print statements
OmarDuran Feb 10, 2026
f2fbe83
remove print statements
OmarDuran Feb 11, 2026
7446a8a
uncrustify style
OmarDuran Feb 11, 2026
cca5df1
remove unused variable
OmarDuran Feb 11, 2026
5efc697
remove unused variable
OmarDuran Feb 11, 2026
df6be99
run all tests with 4 ranks
OmarDuran Feb 11, 2026
8229d9f
update test meshes
OmarDuran Feb 11, 2026
32a98cc
add missing comma
OmarDuran Feb 11, 2026
30f9857
update mpi testFEMConsistency
OmarDuran Feb 11, 2026
4f35ade
run test with 4 ranks.
OmarDuran Feb 11, 2026
9b4424d
wip: clean up I
OmarDuran Feb 11, 2026
dcd9204
Merge branch 'develop' into feature/oduran/test_fem_stress_consistency
OmarDuran Feb 11, 2026
d750b9e
fix: doc
OmarDuran Feb 11, 2026
b703624
Using LvArray tensorOps
castelletto1 Feb 12, 2026
096ded9
Same
castelletto1 Feb 12, 2026
1fd7495
Throw an error if 3D cell have tensile principal stresses
castelletto1 Feb 12, 2026
15a101f
Final refactoring for initializeTractionFromAdjacentCellStress
castelletto1 Feb 12, 2026
5d9ebcc
Exact cases with SG.
OmarDuran Feb 12, 2026
f9780cd
update from develop
OmarDuran Feb 13, 2026
3cb22ff
wip: compositional vertical equilibrium
OmarDuran Feb 13, 2026
93d7f01
wip: compositional vertical equilibrium II
OmarDuran Feb 13, 2026
54cbea7
wip: compositional vertical equilibrium III
OmarDuran Feb 13, 2026
63c104e
wip: compositional vertical equilibrium IV
OmarDuran Feb 13, 2026
18db6a0
wip: compositional vertical equilibrium V
OmarDuran Feb 13, 2026
1dcc802
wip: compositional vertical equilibrium VI
OmarDuran Feb 13, 2026
9363723
wip: compositional vertical equilibrium VII
OmarDuran Feb 13, 2026
7187ceb
Merge branch 'develop' into feature/oduran/test_fem_stress_consistency
OmarDuran Feb 13, 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,71 @@
<?xml version="1.0" ?>
<Problem>
<Mesh>
<VTKMesh name="mesh1" file="../meshes/fractured_mesh_hex_DFN_1.vtu" nodesetNames="{ f1_node_set }"/>
</Mesh>
<Geometry>
<Box name="xnegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 0.01, 1.01, 1.01 }"/>
<Box name="xposFace" xMin="{ 0.99, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="ynegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 0.01, 1.01 }"/>
<Box name="yposFace" xMin="{ -0.01, 0.99, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="znegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 0.01 }"/>
<Box name="zposFace" xMin="{ -0.01, -0.01, 0.99 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="fracture" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
</Geometry>
<Solvers gravityVector="{0.0, 0.0, 0.0}">
<SolidMechanicsAugmentedLagrangianContact
name="mechSolver"
simultaneous="1"
symmetric="1"
iterPenaltyN="1.0e1"
iterPenaltyT="1.0e-1"
tolNormalTrac="1.e-08"
tolTauLimit="1.e-08"
tolJumpN="1.e-8"
tolJumpT="1.e-8"
discretization="FE1"
targetRegions="{ Region, Fracture }"
logLevel="1">
<NonlinearSolverParameters newtonTol="1.0e-5" newtonMaxIter="20" logLevel="1"/>
<LinearSolverParameters solverType="gmres" preconditionerType="amg" krylovTol="1.0e-10" logLevel="1"/>
</SolidMechanicsAugmentedLagrangianContact>
<SurfaceGenerator name="SurfaceGen" targetRegions="{ Region, Fracture }" fractureRegion="Fracture" initialRockToughness="10.0e9" logLevel="1"/>
</Solvers>
<NumericalMethods>
<FiniteElements>
<FiniteElementSpace name="FE1" order="1"/>
</FiniteElements>
</NumericalMethods>
<ElementRegions>
<CellElementRegion name="Region" cellBlocks="{ * }" materialList="{ rock }"/>
<SurfaceElementRegion name="Fracture" defaultAperture="1.0e-4" faceBlock="faceElementSubRegion" materialList="{ fractureContact }"/>
</ElementRegions>
<Constitutive>
<ElasticIsotropic name="rock" defaultDensity="2500" defaultYoungModulus="10e9" defaultPoissonRatio="0.2"/>
<Coulomb name="fractureContact" cohesion="0.0" frictionCoefficient="0.0"/>
</Constitutive>
<FieldSpecifications>
<FieldSpecification name="separableFace" fieldName="isFaceSeparable" initialCondition="1" setNames="{ f1_node_set }" objectPath="faceManager" scale="1" />
<FieldSpecification name="frac" initialCondition="1" setNames="{ f1_node_set }" objectPath="faceManager" fieldName="ruptureState" scale="1" />
<FieldSpecification name="xneg_disp" component="0" setNames="{ xnegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="yneg_disp" component="1" setNames="{ ynegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="zneg_disp" component="2" setNames="{ znegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<Traction name="xpos_traction" setNames="{ xposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
<Traction name="ypos_traction" setNames="{ yposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
<Traction name="zpos_traction" setNames="{ zposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
</FieldSpecifications>
<Tasks>
<DynamicFieldSpecification name="apply_fracture_updates" fieldSpecificationNames="{frac}"/>
<SolidMechanicsAugmentedLagrangianContactInitialization name="ELASTICITY.PRE.INIT.STEP" solidSolverName="mechSolver" logLevel="1"/>
</Tasks>
<Outputs>
<VTK name="vtkOutput" />
</Outputs>
<Events minTime="-1.0e11" maxTime="1.0">
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="-1.0e11" beginTime="-1.0e11"/>
<SoloEvent name="TriggerFractureUpdate" target="/Tasks/apply_fracture_updates" targetTime="-1.0e11" beginTime="-1.0e11"/>
<SoloEvent name="ELASTICITY.PRE.INIT.STEP" targetTime="-1.0e11" beginTime="-1.0e11" target="/Tasks/ELASTICITY.PRE.INIT.STEP"/>
<PeriodicEvent name="outputs" timeFrequency="1.0" target="/Outputs/vtkOutput"/>
<PeriodicEvent name="solverApplications" target="/Solvers/mechSolver" forceDt="1.0"/>
</Events>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?xml version="1.0" ?>
<Problem>
<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0.0, 1.0 }"
yCoords="{ 0.0, 1.0 }"
zCoords="{ 0.0, 1.0 }"
nx="{ 4 }"
ny="{ 4 }"
nz="{ 4 }"
cellBlockNames="{ cb1 }"/>
</Mesh>
<Geometry>
<Box name="xnegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 0.01, 1.01, 1.01 }"/>
<Box name="xposFace" xMin="{ 0.99, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="ynegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 0.01, 1.01 }"/>
<Box name="yposFace" xMin="{ -0.01, 0.99, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="znegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 0.01 }"/>
<Box name="zposFace" xMin="{ -0.01, -0.01, 0.99 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="fracture" xMin="{ +0.49, -0.01, -0.01 }" xMax="{ 0.51, 1.01, 1.01 }"/>
</Geometry>
<Solvers gravityVector="{0.0, 0.0, 0.0}">
<SolidMechanicsAugmentedLagrangianContact
name="mechSolver"
simultaneous="1"
symmetric="1"
iterPenaltyN="1.0e1"
iterPenaltyT="1.0e-1"
tolNormalTrac="1.e-08"
tolTauLimit="1.e-08"
tolJumpN="1.e-8"
tolJumpT="1.e-8"
discretization="FE1"
targetRegions="{ Region, Fracture }"
logLevel="1">
<NonlinearSolverParameters newtonTol="1.0e-5" newtonMaxIter="20" logLevel="1"/>
<LinearSolverParameters solverType="gmres" preconditionerType="amg" krylovTol="1.0e-10" logLevel="1"/>
</SolidMechanicsAugmentedLagrangianContact>
<SurfaceGenerator name="SurfaceGen" targetRegions="{ Region, Fracture }" fractureRegion="Fracture" initialRockToughness="10.0e9" logLevel="1"/>
</Solvers>
<NumericalMethods>
<FiniteElements>
<FiniteElementSpace name="FE1" order="1"/>
</FiniteElements>
</NumericalMethods>
<ElementRegions>
<CellElementRegion name="Region" cellBlocks="{ * }" materialList="{ rock }"/>
<SurfaceElementRegion name="Fracture" defaultAperture="1.0e-4" faceBlock="faceElementSubRegion" materialList="{ fractureContact }"/>
</ElementRegions>
<Constitutive>
<ElasticIsotropic name="rock" defaultDensity="2500" defaultYoungModulus="10e9" defaultPoissonRatio="0.2"/>
<Coulomb name="fractureContact" cohesion="0.0" frictionCoefficient="0.0"/>
</Constitutive>
<FieldSpecifications>
<FieldSpecification name="separableFace" fieldName="isFaceSeparable" initialCondition="1" setNames="{ fracture }" objectPath="faceManager" scale="1" />
<FieldSpecification name="frac" initialCondition="1" setNames="{ fracture }" objectPath="faceManager" fieldName="ruptureState" scale="1" />
<FieldSpecification name="xneg_disp" component="0" setNames="{ xnegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="yneg_disp" component="1" setNames="{ ynegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="zneg_disp" component="2" setNames="{ znegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<Traction name="xpos_traction" setNames="{ xposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
<Traction name="ypos_traction" setNames="{ yposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
<Traction name="zpos_traction" setNames="{ zposFace }" objectPath="faceManager" tractionType="normal" scale="-10.0e6"/>
</FieldSpecifications>
<Tasks>
<SolidMechanicsAugmentedLagrangianContactInitialization name="ELASTICITY.PRE.INIT.STEP" solidSolverName="mechSolver" reset_displacements="0" logLevel="1"/>
<SolidMechanicsAugmentedLagrangianContactInitialization name="ELASTICITY.PRE.INIT.STEP.II" solidSolverName="mechSolver" reset_displacements="0" logLevel="1"/>
</Tasks>
<Outputs>
<VTK name="vtkOutput" />
</Outputs>
<Events minTime="0.0" maxTime="1.0">
<SoloEvent name="ELASTICITY.PRE.INIT.STEP" targetTime="0.0" beginTime="0.0" target="/Tasks/ELASTICITY.PRE.INIT.STEP"/>
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="0.0" beginTime="0.0" />
<SoloEvent name="ELASTICITY.PRE.INIT.STEP.II" targetTime="0.0" beginTime="0.0" target="/Tasks/ELASTICITY.PRE.INIT.STEP.II"/>
<PeriodicEvent name="outputs" timeFrequency="1.0" target="/Outputs/vtkOutput"/>
<PeriodicEvent name="solverApplications" target="/Solvers/mechSolver" forceDt="1.0"/>
</Events>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?xml version="1.0" ?>
<Problem>
<Mesh>
<VTKMesh name="mesh1" file="../meshes/fractured_wavy_mesh_hex_DFN_123.vtu" nodesetNames="{ f1_node_set, f2_node_set, f3_node_set }" partitionMethod="parmetis"/>
</Mesh>
<Geometry>
<Box name="xnegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 0.01, 1.01, 1.01 }"/>
<Box name="xposFace" xMin="{ 0.99, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="ynegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 0.01, 1.01 }"/>
<Box name="yposFace" xMin="{ -0.01, 0.99, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="znegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 0.01 }"/>
<Box name="zposFace" xMin="{ -0.01, -0.01, 0.99 }" xMax="{ 1.01, 1.01, 1.01 }"/>
<Box name="fracture" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
</Geometry>
<Solvers gravityVector="{0.0, 0.0, 0.0}">
<SolidMechanicsAugmentedLagrangianContact
name="mechSolver"
simultaneous="1"
symmetric="1"
iterPenaltyN="1.0e1"
iterPenaltyT="1.0e-1"
tolNormalTrac="1.e-03"
tolTauLimit="1.e-03"
tolJumpN="1.e-3"
tolJumpT="1.e-3"
discretization="FE1"
targetRegions="{ Region, Fracture }"
logLevel="1">
<NonlinearSolverParameters newtonTol="1.0e-5" newtonMaxIter="20" logLevel="1"/>
<LinearSolverParameters directParallel="0"/>
</SolidMechanicsAugmentedLagrangianContact>
<SurfaceGenerator name="SurfaceGen" targetRegions="{ Region, Fracture }" fractureRegion="Fracture" initialRockToughness="10.0e9"/>
</Solvers>
<NumericalMethods>
<FiniteElements>
<FiniteElementSpace name="FE1" order="1" useHighOrderQuadratureRule="1" />
</FiniteElements>
</NumericalMethods>
<ElementRegions>
<CellElementRegion name="Region" cellBlocks="{ * }" materialList="{ rock }"/>
<SurfaceElementRegion name="Fracture" defaultAperture="1.0e-4" faceBlock="faceElementSubRegion" materialList="{ fractureContact }"/>
</ElementRegions>
<Constitutive>
<ElasticIsotropic name="rock" defaultDensity="2500" defaultYoungModulus="10e9" defaultPoissonRatio="0.2"/>
<Coulomb name="fractureContact" cohesion="1.0e10" frictionCoefficient="0.5"/>
</Constitutive>
<FieldSpecifications>
<FieldSpecification name="separableFace" fieldName="isFaceSeparable" initialCondition="1" setNames="{ f1_node_set, f2_node_set, f3_node_set }" objectPath="faceManager" scale="1" />
<FieldSpecification name="frac" initialCondition="1" setNames="{ f1_node_set, f2_node_set, f3_node_set }" objectPath="faceManager" fieldName="ruptureState" scale="1" />

<FieldSpecification name="xneg_disp" component="0" setNames="{ xnegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="yneg_disp" component="1" setNames="{ ynegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>
<FieldSpecification name="zneg_disp" component="2" setNames="{ znegFace }" objectPath="nodeManager" fieldName="totalDisplacement" scale="0.0"/>

<Traction name="xpos_traction" setNames="{ xposFace }" objectPath="faceManager" tractionType="normal" scale="-1.0e7"/>
<Traction name="ypos_traction" setNames="{ yposFace }" objectPath="faceManager" tractionType="normal" scale="-0.5e7"/>
<Traction name="zpos_traction" setNames="{ zposFace }" objectPath="faceManager" tractionType="normal" scale="-2.0e7"/>
</FieldSpecifications>
<Tasks>
<SolidMechanicsAugmentedLagrangianContactInitialization name="ELASTICITY.PRE.SPLIT.STEP" solidSolverName="mechSolver" logLevel="1" reset_displacements = "0"/>
<SolidMechanicsAugmentedLagrangianContactInitialization name="ELASTICITY.POST.SPLIT.STEP" solidSolverName="mechSolver" logLevel="1" reset_displacements = "0"/>
</Tasks>
<Outputs>
<VTK name="vtkOutputM" outputRegionType="cell" />
<VTK name="vtkOutputF" outputRegionType="surface"/>
</Outputs>
<Events minTime="0.0" maxTime="1.0">
<SoloEvent name="ELASTICITY.PRE.SPLIT.STEP" targetTime="0.0" beginTime="0.0" target="/Tasks/ELASTICITY.PRE.SPLIT.STEP"/>
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="0.0" beginTime="0.0"/>
<SoloEvent name="ELASTICITY.POST.SPLIT.STEP" targetTime="0.0" beginTime="0.0" target="/Tasks/ELASTICITY.POST.SPLIT.STEP"/>
<PeriodicEvent name="solverApplications" target="/Solvers/mechSolver" forceDt="1.0"/>
<PeriodicEvent name="outputsM" timeFrequency="1.0" target="/Outputs/vtkOutputM"/>
<PeriodicEvent name="outputsF" timeFrequency="1.0" target="/Outputs/vtkOutputF"/>
</Events>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<?xml version="1.0" ?>
<Problem>
<Mesh>
<VTKMesh name="mesh1" file="../meshes/fractured_mesh_hex_DFN_123.vtu" nodesetNames="{ f1_node_set, f2_node_set, f3_node_set }" />
</Mesh>

<Geometry>
<Box name="xnegFace" xMin="{ -0.01, -0.01, -0.01 }" xMax="{ 0.01, 1.01, 1.01 }"/>
<Box name="xposFace" xMin="{ 0.99, -0.01, -0.01 }" xMax="{ 1.01, 1.01, 1.01 }"/>
</Geometry>

<Solvers gravityVector="{0.0, 0.0, 0.0}">
<SinglePhaseFVM
name="flowSolver"
targetRegions="{ Region, Fracture }"
discretization="tpfa"
logLevel="1">
<NonlinearSolverParameters newtonTol="1.0e-6" newtonMaxIter="20"/>
<LinearSolverParameters directParallel="0"/>
</SinglePhaseFVM>
<SurfaceGenerator name="SurfaceGen" targetRegions="{ Region, Fracture }" fractureRegion="Fracture" initialRockToughness="10.0e9" logLevel="1"/>
</Solvers>

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

<ElementRegions>
<CellElementRegion name="Region" cellBlocks="{ * }" materialList="{ rockMatrix, water }"/>
<SurfaceElementRegion name="Fracture" faceBlock="faceElementSubRegion" materialList="{ fractureMaterial, water }" defaultAperture="1.0e-7"/>
</ElementRegions>

<Constitutive>
<CompressibleSinglePhaseFluid
name="water"
defaultDensity="1.0"
defaultViscosity="1.0"
referenceDensity="1.0"
referenceViscosity="1.0"
referencePressure="0.0"
compressibility="0.0"
viscosibility="0.0"/>

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

<CompressibleSolidConstantPermeability
name="fractureMaterial"
solidModelName="nullSolid"
porosityModelName="fracPorosity"
permeabilityModelName="fracPerm"/>

<ConstantPermeability name="rockPerm" permeabilityComponents="{ 1.0, 1.0, 1.0 }"/>
<ConstantPermeability name="fracPerm" permeabilityComponents="{ 1.0, 1.0, 1.0 }"/>

<NullModel name="nullSolid"/>

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

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

<FieldSpecifications>
<FieldSpecification name="separableFace" fieldName="isFaceSeparable" initialCondition="1" setNames="{ f1_node_set, f2_node_set, f3_node_set }" objectPath="faceManager" scale="1" />
<FieldSpecification name="frac" initialCondition="1" setNames="{ f1_node_set, f2_node_set, f3_node_set }" objectPath="faceManager" fieldName="ruptureState" scale="1" />
<FieldSpecification name="initialP" fieldName="pressure" initialCondition="1" setNames="{ all }" objectPath="ElementRegions" scale="1.5"/>
<FieldSpecification name="initialPf" fieldName="pressure" initialCondition="1" setNames="{ all }" objectPath="ElementRegions/Fracture/faceElementSubRegion" scale="2.0"/>
<FieldSpecification name="inletP" fieldName="pressure" setNames="{ xnegFace }" objectPath="faceManager" scale="2.0"/>
<FieldSpecification name="outletP" fieldName="pressure" setNames="{ xposFace }" objectPath="faceManager" scale="1.0"/>
</FieldSpecifications>

<Tasks>
<DynamicFieldSpecification name="apply_fracture_updates" fieldSpecificationNames="{initialPf}"/>
</Tasks>

<Outputs>
<VTK name="vtkOutputM" fieldNames="{ pressure }" outputRegionType="cell" onlyPlotSpecifiedFieldNames="1"/>
<VTK name="vtkOutputF" fieldNames="{ pressure }" outputRegionType="surface" onlyPlotSpecifiedFieldNames="1"/>
</Outputs>

<Events minTime="-1.0" maxTime="1.0">
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="-1.0" beginTime="-1.0" />
<SoloEvent name="TriggerFractureUpdate" target="/Tasks/apply_fracture_updates" targetTime="-1.0" beginTime="-1.0"/>
<PeriodicEvent name="outputsM" timeFrequency="1.0" target="/Outputs/vtkOutputM"/>
<PeriodicEvent name="outputsF" timeFrequency="1.0" target="/Outputs/vtkOutputF"/>
<PeriodicEvent name="solverApplications" target="/Solvers/flowSolver" forceDt="1.0"/>
</Events>
</Problem>
Loading
Loading