Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: QD rate and state friction coupled with Mechanics and Poromechanics solvers. #3416

Open
wants to merge 125 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 121 commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
6246ded
feat: add rate- and state-dependent friction model.
CusiniM Aug 12, 2024
2dc8e16
wip rate and state impl.
CusiniM Aug 13, 2024
02c0918
WiP: implemented several rs functions.
CusiniM Aug 15, 2024
e959ca6
add TwoByTwo dense solver.
CusiniM Aug 15, 2024
634ee68
add solver and kernels.
CusiniM Aug 15, 2024
933f289
wip.
CusiniM Aug 20, 2024
4e16608
remove solvers.
CusiniM Aug 26, 2024
f1ac5b1
Merge remote-tracking branch 'origin/develop' into feature/cusini/rat…
CusiniM Aug 26, 2024
aa4590f
Merge remote-tracking branch 'origin/develop' into feature/cusini/rat…
CusiniM Sep 12, 2024
bd377d4
add physicsPackage.
CusiniM Sep 13, 2024
b013a8e
Merge remote-tracking branch 'origin/develop' into feature/cusini/rat…
CusiniM Sep 13, 2024
b002441
add o cmake list plus add some needed keys.
CusiniM Sep 13, 2024
0c23356
add missing files.
CusiniM Sep 13, 2024
b892630
added shearIMpedance.
CusiniM Sep 16, 2024
fdde350
fixed compilation errors.
CusiniM Sep 18, 2024
b4dec1b
Merge remote-tracking branch 'origin/develop' into feature/cusini/rat…
CusiniM Oct 3, 2024
26263d3
submodule update
CusiniM Oct 3, 2024
e146040
submodule update
CusiniM Oct 3, 2024
593ef7c
Use asinh.
CusiniM Oct 3, 2024
23e926d
compiles fine.
CusiniM Oct 3, 2024
b7ca2aa
wip: adding spring-slider example.
CusiniM Oct 7, 2024
91425f4
wip: spring-slider.
CusiniM Oct 7, 2024
272eb34
move changes.
CusiniM Oct 8, 2024
81772bf
wip spring-slider
CusiniM Oct 8, 2024
6a95883
added timestep control
CusiniM Oct 9, 2024
2032024
wip: running.
CusiniM Oct 10, 2024
863a6be
spring slider first timestep working. Wip on continuing.
CusiniM Oct 11, 2024
f57ea0b
Spring slider works
CusiniM Oct 11, 2024
f3e6573
add integratedTest.
CusiniM Oct 11, 2024
34616eb
Merge branch 'develop' into feature/cusini/rate-and-state
CusiniM Oct 11, 2024
7515bc3
wip: Use 2-component slip/slipRate in rate-and-state kernel
VidarStiernstrom Oct 14, 2024
5349711
1D spring slider with 2-component slip/sliprate working
VidarStiernstrom Oct 14, 2024
0ef3b42
Fix copy of slip rate vector
VidarStiernstrom Oct 17, 2024
7996ae6
wip: Add missing components to xml required for setting up 2D spring …
VidarStiernstrom Oct 17, 2024
067e13b
Use non-linear solve for slip rate + projection to compute slip velocity
VidarStiernstrom Oct 18, 2024
53e1fca
change size of spring slider.
CusiniM Oct 21, 2024
0fb4435
Merge branch 'develop' into feature/cusini/rate-and-state
CusiniM Oct 25, 2024
16fdabd
use nonlinearSolverParameters.
CusiniM Oct 25, 2024
bdc0afc
Merge branch 'feature/cusini/rate-and-state' of github.com:GEOS-DEV/G…
CusiniM Oct 25, 2024
e98519d
fix timestepping.
CusiniM Oct 25, 2024
0e5a84a
Testing
CusiniM Oct 26, 2024
0773bda
Move contact Kernels Files
CusiniM Oct 28, 2024
30f7641
add moved files.
CusiniM Oct 28, 2024
8a47251
Added new bubble stab Lagrange solver.
CusiniM Oct 28, 2024
5002f80
Att, Atu, Aut, Atu, Atb blcoks should be correct.
CusiniM Oct 29, 2024
af0cd0e
add tDofNumber.
CusiniM Oct 29, 2024
c89113e
fix first bugs.
CusiniM Oct 30, 2024
c3fc470
builds fine.
CusiniM Oct 30, 2024
e9823ba
start with some renaming
CusiniM Oct 30, 2024
566b1aa
fully changed dispJumpUpdateKernel name.
CusiniM Oct 30, 2024
953c046
modified Bubble functions kernel name.
CusiniM Oct 30, 2024
0629657
changed helper kernels name.
CusiniM Oct 30, 2024
78d6417
modified remaining name.
CusiniM Oct 30, 2024
d3fb2e2
Using new Base Kernel class everywhere.
CusiniM Oct 30, 2024
58540a9
simple case is running.
CusiniM Oct 31, 2024
0632128
make the dispJump only the Jump.
CusiniM Oct 31, 2024
924c71f
Add inputFiles for tests.
CusiniM Nov 1, 2024
463aa45
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Nov 5, 2024
293553c
forgotten file.
CusiniM Nov 5, 2024
e9ebeaa
fix forgotten conflicts.
CusiniM Nov 5, 2024
88d5e80
compilation fixes.
CusiniM Nov 5, 2024
e58a574
seems to work now.
CusiniM Nov 6, 2024
22dde98
Fixed slip using a dedicated field. Seems to work.
CusiniM Nov 7, 2024
ebe529c
Validated cases.
CusiniM Nov 13, 2024
f2b9bef
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Nov 13, 2024
82ba558
towards BP6
CusiniM Nov 14, 2024
8133dc6
tractionWrapper.
CusiniM Nov 15, 2024
5deeb64
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Nov 19, 2024
31b14f6
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Nov 21, 2024
6d8a39a
fix conflicts.
CusiniM Nov 21, 2024
1eec250
fix more conflicts.
CusiniM Nov 21, 2024
0bbf71a
more cleanup post merge
CusiniM Nov 21, 2024
f484331
add tractiou update factory
CusiniM Nov 22, 2024
c725ab7
rename file
CusiniM Nov 22, 2024
40d8833
added all traction updates.
CusiniM Nov 22, 2024
dbe80ff
Alternative implementation. Likely better.
CusiniM Nov 22, 2024
bc97955
BP6 with bracketing.
CusiniM Nov 26, 2024
cf15503
BP6 now working + new design.
CusiniM Nov 27, 2024
c72d59b
some fixes.
CusiniM Nov 27, 2024
23f1554
Working on new deisgn to remove tractionUpdate.
CusiniM Dec 5, 2024
a13f716
Use New SpringSliderSolver and remove old one.
CusiniM Dec 6, 2024
d46fa92
Refactor for springslider completed.
CusiniM Dec 7, 2024
c5125d5
moved solverStep.
CusiniM Dec 7, 2024
30781fc
virtual method.
CusiniM Dec 10, 2024
a164a18
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Dec 10, 2024
10f96bb
Refactoring complete. Both SpringSliders work. Working on coupled sol…
CusiniM Dec 11, 2024
dccd573
removed old implementation.
CusiniM Dec 11, 2024
fb53d6b
Added base class and introduced shear and normal tractions.
CusiniM Dec 11, 2024
d1c3bc2
added solver for coupling.
CusiniM Dec 12, 2024
6afb3c8
Add check for coupling type.
CusiniM Dec 12, 2024
9b7dab6
fix input files by adding initial values.
CusiniM Dec 12, 2024
a615ee8
Update solvertype
VidarStiernstrom Dec 12, 2024
9b678d2
Fix adpative time step being updated twice on successful steps
VidarStiernstrom Dec 12, 2024
b73f086
Merge branch 'feature/quasiDynamic-rs-mechanicsCoupling' of github.co…
VidarStiernstrom Dec 12, 2024
3f0ffa4
BP6 bugfix.
CusiniM Dec 13, 2024
1edbdc4
Merge branch 'feature/quasiDynamic-rs-mechanicsCoupling' of github.co…
CusiniM Dec 13, 2024
301c2fb
Everything works now.
CusiniM Dec 13, 2024
a7022e9
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Dec 13, 2024
5a4f4e4
Merge branch 'develop' into feature/quasiDynamic-rs-mechanicsCoupling
CusiniM Dec 13, 2024
d9bc70d
finally proper traction computation.
CusiniM Dec 13, 2024
75d0440
remove debug output
CusiniM Dec 13, 2024
22b4935
wip: figure out correct sign.
CusiniM Dec 15, 2024
191f5ba
Merge branch 'develop' into feature/quasiDynamic-rs-mechanicsCoupling
rrsettgast Dec 16, 2024
bb089a6
Update inputFiles/inducedSeismicity/SpringSliderImplicit_smoke.xml
CusiniM Jan 3, 2025
d2a8c26
Apply suggestions from code review
CusiniM Jan 3, 2025
f22dd09
Merge remote-tracking branch 'origin/develop' into feature/quasiDynam…
CusiniM Jan 3, 2025
14c3b75
Merge branch 'feature/quasiDynamic-rs-mechanicsCoupling' of github.co…
CusiniM Jan 3, 2025
46e8208
clean up.
CusiniM Jan 3, 2025
42039eb
added check for consistency between slipRate and slipVelocity.
CusiniM Jan 3, 2025
6d49d5e
Fixed schema and input files.
CusiniM Jan 3, 2025
90084f5
Update host-configs/apple/macOS_arm.cmake
CusiniM Jan 3, 2025
c18e8d5
restore file.
CusiniM Jan 3, 2025
3eecdb4
fix small issues. revert some unwanted changes.
CusiniM Jan 6, 2025
0a71d95
remove changes to DofManager.
CusiniM Jan 6, 2025
e000573
Add missing registration of deltaSlip_n to ContactSolverBase
VidarStiernstrom Jan 7, 2025
48d47d3
Remove specification of slipRate from xml
VidarStiernstrom Jan 7, 2025
7a08c1a
Fix geos python tool import statements in plot script
VidarStiernstrom Jan 7, 2025
8270258
Add xml for BP6 with explicit time integration of rate-and-state
VidarStiernstrom Jan 7, 2025
40e78f5
Merge branch 'feature/quasiDynamic-rs-mechanicsCoupling' of github.co…
VidarStiernstrom Jan 7, 2025
19703ce
Remove slipRate from SpringSlider xml file
VidarStiernstrom Jan 7, 2025
1acd528
fix comment.
CusiniM Jan 7, 2025
4b42194
Documentation
VidarStiernstrom Jan 9, 2025
4598640
Merge branch 'develop' into feature/quasiDynamic-rs-mechanicsCoupling
CusiniM Jan 10, 2025
3718332
Make member functions containing device lambdas public
VidarStiernstrom Jan 13, 2025
807b72b
uncrustify
VidarStiernstrom Jan 13, 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
217 changes: 217 additions & 0 deletions inputFiles/inducedSeismicity/SCEC_BP6_QD_S_base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
<?xml version="1.0" ?>
<Problem>
<NumericalMethods>
<FiniteElements>
<FiniteElementSpace
name="FE1"
order="1"/>
</FiniteElements>

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

<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ -10.0e3, 10.0e3 }"
yCoords="{ -0.5e3, 0.5e3 }"
zCoords="{ -20.0e3, -10.0e3, 10.0e3, 20.0e3 }"
nx="{ 100 }"
ny="{ 1 }"
nz="{ 20, 201, 20 }"
cellBlockNames="{ cb1 }"/>
</Mesh>

<Geometry>
<Box
name="faultPlane"
xMin="{ -0.01, -1.01e3, -10.0e3 }"
xMax="{ 0.01, 1.01e3, 10.0e3 }"/>

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

<ElementRegions>
<CellElementRegion
name="Domain"
cellBlocks="{ cb1 }"
materialList="{rock}"/>

<SurfaceElementRegion
name="Fault"
materialList="{frictionLaw, faultMaterial, water}"
defaultAperture="1e-3"/>
</ElementRegions>

<Constitutive>

<CompressibleSinglePhaseFluid
name="water"
defaultDensity="1000"
defaultViscosity="1.0e-3"
referencePressure="0.0"
compressibility="1.0e-8"
viscosibility="0.0"/>

<CompressibleSolidConstantPermeability
name="faultMaterial"
solidModelName="nullSolid"
porosityModelName="faultPorosity"
permeabilityModelName="faultPermeability"/>

<PressurePorosity
name="faultPorosity"
defaultReferencePorosity="0.100"
referencePressure="0.0"
compressibility="0.0"/>

<NullModel
name="nullSolid"/>

<ConstantPermeability
name="faultPermeability"
permeabilityComponents="{ 1.0e-13, 1.0e-13, 1.0e-13 }"/>

<ElasticIsotropic
name="rock"
defaultDensity="2670"
defaultBulkModulus="50.0e9"
defaultShearModulus="32.04e9"/>

<RateAndStateFriction
name="frictionLaw"
defaultA="0.007"
defaultB="0.005"
defaultDc="4.0e-3"
defaultReferenceVelocity="1.0e-6"
defaultReferenceFrictionCoefficient="0.6"/>
</Constitutive>

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

<TimeHistory
name="timeHistoryOutput"
sources="{/Tasks/pressureCollection, /Tasks/slipRateCollection}"
filename="BP6_DQ_S" />
</Outputs>

<Tasks>
<PackCollection
name="slipRateCollection"
objectPath="ElementRegions/Fault/FractureSubRegion"
fieldName="slipRate"
setNames="{source}"/>

<PackCollection
name="pressureCollection"
objectPath="ElementRegions/Fault/FractureSubRegion"
fieldName="pressure"
setNames="{source}"/>
</Tasks>

<ElementRegions>
<CellElementRegion
name="Domain"
cellBlocks="{ cb1 }"
materialList="{rock}"/>

<SurfaceElementRegion
name="Fault"
materialList="{frictionLaw}"
defaultAperture="1e-3"/>
</ElementRegions>

<FieldSpecifications>
<FieldSpecification
name="fault"
fieldName="ruptureState"
initialCondition="1"
objectPath="faceManager"
scale="1"
setNames="{ faultPlane }"/>

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

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

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

<FieldSpecification
name="initialStateVariable"
objectPath="ElementRegions/Fault"
fieldName="stateVariable"
scale="0.68070857"
setNames="{ all }"
initialCondition="1"/>

<FieldSpecification
name="slipVelocity1"
fieldName="slipVelocity"
initialCondition="1"
objectPath="ElementRegions/Fault/FractureSubRegion"
component="0"
scale="1.0e-12"
setNames="{all}"/>

<FieldSpecification
name="slipVelocity2"
fieldName="slipVelocity"
initialCondition="1"
objectPath="ElementRegions/Fault/FractureSubRegion"
component="1"
scale="0."
setNames="{all}"/>

<FieldSpecification
name="backgroundShearStress"
fieldName="backgroundShearStress"
initialCondition="1"
objectPath="ElementRegions/Fault/FractureSubRegion"
component="0"
scale="29.2e6"
setNames="{all}"/>

<FieldSpecification
name="backgroundNormalStress"
fieldName="backgroundNormalStress"
initialCondition="1"
objectPath="ElementRegions/Fault/FractureSubRegion"
scale="50.0e6"
setNames="{all}"/>

<SourceFlux
name="sourceTerm"
objectPath="ElementRegions/Fault"
scale="-1.25e-3"
setNames="{ source }"
endTime="8.64e6"/>
</FieldSpecifications>
</Problem>
139 changes: 139 additions & 0 deletions inputFiles/inducedSeismicity/SCEC_BP6_QD_S_explicit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<?xml version="1.0" ?>
<Problem>
<Included>
<File
name="./SCEC_BP6_QD_S_base.xml"/>
</Included>

<Solvers
gravityVector="{0.0, 0.0, 0.0}">
<ExplicitQuasiDynamicEQ
name="QDSolver"
targetRegions="{ Domain, Fault }"
shearImpedance="4.6247113164e6"
initialDt="1"
logLevel="1"
discretization="FE1"
stressSolverName="stressSolver">
<NonlinearSolverParameters
newtonTol="1.0e-8"
logLevel="2"
newtonMaxIter="20"
maxNumConfigurationAttempts="1"
lineSearchMaxCuts="2"
maxTimeStepCuts="1"/>
</ExplicitQuasiDynamicEQ>

<OneWayCoupledFractureFlowContactMechanics
name="stressSolver"
logLevel="1"
solidSolverName="contactSolver"
flowSolverName="singlePhaseFlowSolver"
targetRegions="{ Domain, Fault }">
<NonlinearSolverParameters
newtonMaxIter="2"
newtonTol="1.0e-2"
couplingType="Sequential"
lineSearchAction="None"
subcycling="0"
maxTimeStepCuts="1"
lineSearchMaxCuts="0"/>
</OneWayCoupledFractureFlowContactMechanics>

<SolidMechanicsLagrangeContactBubbleStab
name="contactSolver"
timeIntegrationOption="QuasiStatic"
logLevel="2"
writeLinearSystem="0"
discretization="FE1"
targetRegions="{ Domain, Fault }">
<NonlinearSolverParameters
newtonTol="1.0e-8"
logLevel="2"
newtonMaxIter="10"
maxNumConfigurationAttempts="1"
lineSearchAction="Require"
lineSearchMaxCuts="2"
maxTimeStepCuts="1"/>
<LinearSolverParameters
solverType="direct"
directParallel="0"
logLevel="0"/>
</SolidMechanicsLagrangeContactBubbleStab>

<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="1.0"
mpiCommOrder="1"
fractureRegion="Fault"/>

<SinglePhaseFVM
name="singlePhaseFlowSolver"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ Fault }">
<NonlinearSolverParameters
newtonTol = "1.0e-6"
newtonMaxIter ="8"/>
<LinearSolverParameters
solverType="direct"
directParallel="0"/>
</SinglePhaseFVM>
</Solvers>


<Events
maxTime="6.312e7">

<!-- fault generation -->
<SoloEvent
name="generateFault"
target="/Solvers/SurfaceGen"/>

<!-- vtk output -->
<PeriodicEvent
name="vtkOutput"
cycleFrequency="20"
targetExactTimestep="0"
target="/Outputs/vtkOutput"/>

<!-- solver application -->
<PeriodicEvent
name="solverApplications1"
maxEventDt="1e4"
endTime="8.64e6"
target="/Solvers/QDSolver"/>
<PeriodicEvent
name="solverApplications2"
maxEventDt="10"
beginTime="8.64e6"
endTime="8.6499e6"
target="/Solvers/QDSolver"/>
<PeriodicEvent
name="solverApplications3"
maxEventDt="1e3"
beginTime="8.6499e6"
target="/Solvers/QDSolver"/>

<!-- Time history collection -->
<PeriodicEvent
name="slipRateCollection"
cycleFrequency="1"
targetExactTimestep="0"
target="/Tasks/slipRateCollection" />

<PeriodicEvent
name="pressureCollection"
cycleFrequency="1"
targetExactTimestep="0"
target="/Tasks/pressureCollection" />

<!-- Time history output -->
<PeriodicEvent
name="timeHistoryOutput"
cycleFrequency="10"
targetExactTimestep="0"
target="/Outputs/timeHistoryOutput"/>
</Events>
</Problem>
Loading
Loading