diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml
index 2cb02daa192..4a2fb30e078 100644
--- a/.integrated_tests.yaml
+++ b/.integrated_tests.yaml
@@ -1,6 +1,7 @@
baselines:
bucket: geosx
- baseline: integratedTests/baseline_integratedTests-pr3228-9676-61994fe
+ baseline: integratedTests/baseline_integratedTests-pr3310-9785-f7b5045
+
allow_fail:
all: ''
streak: ''
diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md
index ea19f4ac5cd..a0d394fb609 100644
--- a/BASELINE_NOTES.md
+++ b/BASELINE_NOTES.md
@@ -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 #3310 (2024-01-21)
+
+Scalable rock toughness required new field.
+
PR #3228 (2024-01-15)
=====================
deltaVolume added in multiphase.
diff --git a/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml b/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
index 94db4f07eb6..23aed51fc40 100644
--- a/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
+++ b/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
@@ -62,7 +62,7 @@
diff --git a/inputFiles/hydraulicFracturing/Sneddon_hydroFrac_base.xml b/inputFiles/hydraulicFracturing/Sneddon_hydroFrac_base.xml
index df05297ad3d..e23f6d8b315 100644
--- a/inputFiles/hydraulicFracturing/Sneddon_hydroFrac_base.xml
+++ b/inputFiles/hydraulicFracturing/Sneddon_hydroFrac_base.xml
@@ -37,7 +37,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="10.0e6"
+ initialRockToughness="10.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml b/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
index c8d741170ae..d4547ebc54f 100644
--- a/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
+++ b/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
@@ -53,7 +53,7 @@
diff --git a/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml b/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
index eb7b96bf286..3fc20c5c95a 100644
--- a/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
+++ b/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
@@ -71,7 +71,7 @@
diff --git a/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml b/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
index 7ac70ce7a6f..9fe4afed5b4 100644
--- a/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
+++ b/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
@@ -34,7 +34,7 @@
+ initialRockToughness="1.0e6"/>
diff --git a/inputFiles/hydraulicFracturing/kgdEdgeBased_C3D6_base.xml b/inputFiles/hydraulicFracturing/kgdEdgeBased_C3D6_base.xml
index cc461b52ba3..0120cd3f6dd 100644
--- a/inputFiles/hydraulicFracturing/kgdEdgeBased_C3D6_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdEdgeBased_C3D6_base.xml
@@ -49,7 +49,7 @@
diff --git a/inputFiles/hydraulicFracturing/kgdNodeBased_C3D6_base.xml b/inputFiles/hydraulicFracturing/kgdNodeBased_C3D6_base.xml
index d7fbbd5d077..f9d7ac88c37 100644
--- a/inputFiles/hydraulicFracturing/kgdNodeBased_C3D6_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdNodeBased_C3D6_base.xml
@@ -39,7 +39,7 @@
diff --git a/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml b/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
index 96d400a8390..74b8003e223 100644
--- a/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
@@ -45,7 +45,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
index 8f4284dd838..ad91b77dfaf 100644
--- a/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
@@ -38,7 +38,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/kgdValidation_base.xml b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
index e2d16b6d247..a902e5f5fab 100644
--- a/inputFiles/hydraulicFracturing/kgdValidation_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
@@ -44,7 +44,7 @@
logLevel="1"
targetRegions="{ Domain }"
nodeBasedSIF="0"
- rockToughness="1.2e6"
+ initialRockToughness="1.2e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
index e9b55058b17..5138b7c1eca 100644
--- a/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
@@ -45,7 +45,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="1e4"
+ initialRockToughness="1e4"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
index 15a381c8365..32f2f25e7eb 100644
--- a/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
@@ -38,7 +38,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="1e4"
+ initialRockToughness="1e4"
mpiCommOrder="1"
isPoroelastic="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedAnisotropicScaledToughness_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicScaledToughness_benchmark.xml
new file mode 100644
index 00000000000..6d05d924d31
--- /dev/null
+++ b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicScaledToughness_benchmark.xml
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_base.xml b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_base.xml
new file mode 100644
index 00000000000..63c2c6fb575
--- /dev/null
+++ b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_base.xml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_benchmark.xml
new file mode 100644
index 00000000000..6affb33bc1b
--- /dev/null
+++ b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_benchmark.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_smoke.xml
new file mode 100644
index 00000000000..a566f9c4c42
--- /dev/null
+++ b/inputFiles/hydraulicFracturing/pennyShapedAnisotropicToughness_smoke.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_benchmark.xml
index 59abb35871a..eb9183bcf82 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_benchmark.xml
@@ -67,7 +67,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="3.0e6"
+ initialRockToughness="3.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_benchmark.xml
index e830a52c5fd..b20f9c443af 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_benchmark.xml
@@ -68,7 +68,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="3.0e6"
+ initialRockToughness="3.0e6"
mpiCommOrder="1"
isPoroelastic="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
index a1c1c302b8d..8d074c2ea9e 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
@@ -44,7 +44,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="3.0e6"
+ initialRockToughness="3.0e6"
mpiCommOrder="1"
isPoroelastic="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_smoke.xml
index f433335ab6e..acf8e93e6b7 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_smoke.xml
@@ -43,7 +43,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="3.0e6"
+ initialRockToughness="3.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_benchmark.xml
index a8f78adf606..eef546604d1 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_benchmark.xml
@@ -68,7 +68,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.3e6"
+ initialRockToughness="0.3e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_benchmark.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_benchmark.xml
index 0d1b9485772..eb476baf5fe 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_benchmark.xml
@@ -69,7 +69,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.3e6"
+ initialRockToughness="0.3e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
index b3a8341224e..5cb156cd184 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
@@ -44,7 +44,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.3e6"
+ initialRockToughness="0.3e6"
mpiCommOrder="1"
isPoroelastic="1"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_smoke.xml
index 4b20bae5125..c84b65ef8f5 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_smoke.xml
@@ -43,7 +43,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.3e6"
+ initialRockToughness="0.3e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_benchmark.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_benchmark.xml
index 2b8dce7a719..4943e0f6d78 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_benchmark.xml
@@ -66,7 +66,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.1e6"
+ initialRockToughness="0.1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_benchmark.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_benchmark.xml
index 72b1be2f4d8..e73a06ddcc4 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_benchmark.xml
@@ -66,7 +66,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.1e6"
+ initialRockToughness="0.1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
index 7e8e3463e18..f6e44b9bc91 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
@@ -44,7 +44,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="0.1e6"
+ initialRockToughness="0.1e6"
mpiCommOrder="1"
isPoroelastic="1"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_smoke.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_smoke.xml
index 0545171c3bc..87e732e3f37 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_smoke.xml
@@ -43,7 +43,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
- rockToughness="1e4"
+ initialRockToughness="1e4"
mpiCommOrder="1"/>
diff --git a/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py b/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
index c8cb897201d..81dde7f93f7 100644
--- a/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
+++ b/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
@@ -36,7 +36,7 @@ def getParametersFromXML( geosDir, xmlFilePrefix):
poissonRatio = float(elasticParam.get('defaultPoissonRatio'))
injectionRate = -2.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
tree = ElementTree.parse(prefix + xmlFilePrefix + "_base.xml")
- toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
+ toughness = float(tree.find('Solvers/SurfaceGenerator').get('initialRockToughness'))
elif xmlFilePrefix == 'pennyShapedToughnessDominated' or xmlFilePrefix == 'pennyShapedViscosityDominated':
K = float(elasticParam.get('defaultBulkModulus'))
@@ -45,7 +45,7 @@ def getParametersFromXML( geosDir, xmlFilePrefix):
poissonRatio = youngModulus / (2.0 * G) - 1.0
injectionRate = -4.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
tree = ElementTree.parse(prefix + xmlFilePrefix + "_benchmark.xml")
- toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
+ toughness = float(tree.find('Solvers/SurfaceGenerator').get('initialRockToughness'))
elif xmlFilePrefix == 'pknViscosityDominated':
K = float(elasticParam.get('defaultBulkModulus'))
@@ -54,7 +54,7 @@ def getParametersFromXML( geosDir, xmlFilePrefix):
poissonRatio = youngModulus / (2.0 * G) - 1.0
injectionRate = -4.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
tree = ElementTree.parse(prefix + xmlFilePrefix + "_benchmark.xml")
- toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
+ toughness = float(tree.find('Solvers/SurfaceGenerator').get('initialRockToughness'))
found_core = False
for elem in param:
if elem.get("name") == "core":
diff --git a/inputFiles/hydraulicFracturing/walshQuarterNoChombo_benchmark.xml b/inputFiles/hydraulicFracturing/walshQuarterNoChombo_benchmark.xml
index 957b63bd278..a14bdc856f1 100644
--- a/inputFiles/hydraulicFracturing/walshQuarterNoChombo_benchmark.xml
+++ b/inputFiles/hydraulicFracturing/walshQuarterNoChombo_benchmark.xml
@@ -79,7 +79,7 @@
fractureRegion="Fracture"
targetRegions="{Domain, void}"
nodeBasedSIF="1"
- rockToughness="3.0e6">
+ initialRockToughness="3.0e6">
diff --git a/inputFiles/hydraulicFracturing/walshQuarterNoChombo_smoke.xml b/inputFiles/hydraulicFracturing/walshQuarterNoChombo_smoke.xml
index 9990dd5c291..1a9a5a0ae73 100644
--- a/inputFiles/hydraulicFracturing/walshQuarterNoChombo_smoke.xml
+++ b/inputFiles/hydraulicFracturing/walshQuarterNoChombo_smoke.xml
@@ -64,7 +64,7 @@
fractureRegion="Fracture"
targetRegions="{Domain, void}"
nodeBasedSIF="1"
- rockToughness="3.0e6"
+ initialRockToughness="3.0e6"
mpiCommOrder="1">
diff --git a/inputFiles/inducedSeismicity/SpringSliderExplicit_base.xml b/inputFiles/inducedSeismicity/SpringSliderExplicit_base.xml
index a0c0381fb23..2fd1d220c6f 100644
--- a/inputFiles/inducedSeismicity/SpringSliderExplicit_base.xml
+++ b/inputFiles/inducedSeismicity/SpringSliderExplicit_base.xml
@@ -13,7 +13,7 @@
diff --git a/inputFiles/inducedSeismicity/SpringSlider_base.xml b/inputFiles/inducedSeismicity/SpringSlider_base.xml
index 5f6aefc94ad..d520f972802 100644
--- a/inputFiles/inducedSeismicity/SpringSlider_base.xml
+++ b/inputFiles/inducedSeismicity/SpringSlider_base.xml
@@ -13,7 +13,7 @@
diff --git a/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_FixedSlip_smoke.xml b/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_FixedSlip_smoke.xml
index 8258d2cc4a3..5da14675d94 100644
--- a/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_FixedSlip_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_FixedSlip_smoke.xml
@@ -30,7 +30,7 @@
diff --git a/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_singleFracCompression_base.xml b/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_singleFracCompression_base.xml
index 854136ed032..3be52a9bcdc 100644
--- a/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_singleFracCompression_base.xml
+++ b/inputFiles/lagrangianContactMechanics/LagrangeContactBubbleStab_singleFracCompression_base.xml
@@ -30,7 +30,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml b/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
index 1f38c231aa9..603fcf59ed7 100644
--- a/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
+++ b/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
@@ -7,7 +7,7 @@
diff --git a/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml b/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
index 32e64f498de..9ce90da1c6b 100644
--- a/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
+++ b/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
@@ -6,7 +6,7 @@
diff --git a/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml b/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
index d9da50caf95..c3f39da2632 100644
--- a/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
+++ b/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
@@ -9,7 +9,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml b/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml
index 5299794fe0f..d9f4997f3c7 100644
--- a/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml
+++ b/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml
@@ -9,7 +9,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/Sneddon_benchmark.xml b/inputFiles/lagrangianContactMechanics/Sneddon_benchmark.xml
index 7750053d6fa..d45bc7ded1f 100644
--- a/inputFiles/lagrangianContactMechanics/Sneddon_benchmark.xml
+++ b/inputFiles/lagrangianContactMechanics/Sneddon_benchmark.xml
@@ -13,7 +13,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml b/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml
index 5e64b204ad1..5794ed344e5 100644
--- a/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml
@@ -13,7 +13,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml b/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml
index 60f1a1f537a..5a6d6b5a8b7 100644
--- a/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml
+++ b/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml
@@ -13,7 +13,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml b/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml
index 5ab56b69af9..cd3543f0806 100644
--- a/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml
@@ -12,7 +12,7 @@
logLevel="0"
fractureRegion="Fracture"
targetRegions="{ Region }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
index 628fd884589..81cddb50913 100644
--- a/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
+++ b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
@@ -6,7 +6,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml b/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
index e339684d116..c69b54535cc 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
@@ -52,7 +52,7 @@
diff --git a/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml b/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
index d21f7f7fb80..d47a5af1807 100644
--- a/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
+++ b/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
@@ -44,7 +44,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml
index 845f3151232..a5e47f2cc74 100755
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml
@@ -53,7 +53,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml
index 2c8d9f8936b..73f5391756c 100755
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml
@@ -45,7 +45,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml
index 4112be144f1..d11f90503d8 100755
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml
@@ -52,7 +52,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml
index cc365b429c6..d2c9d1fd433 100755
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml
@@ -44,7 +44,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/proppant/FlowProppantBedTransport2d_base.xml b/inputFiles/proppant/FlowProppantBedTransport2d_base.xml
index 177a83e6c00..d8bc681d588 100644
--- a/inputFiles/proppant/FlowProppantBedTransport2d_base.xml
+++ b/inputFiles/proppant/FlowProppantBedTransport2d_base.xml
@@ -50,7 +50,7 @@
diff --git a/inputFiles/proppant/FlowProppantTransport2d_base.xml b/inputFiles/proppant/FlowProppantTransport2d_base.xml
index ab806c51cf2..8f4608a6577 100644
--- a/inputFiles/proppant/FlowProppantTransport2d_base.xml
+++ b/inputFiles/proppant/FlowProppantTransport2d_base.xml
@@ -53,7 +53,7 @@
diff --git a/inputFiles/proppant/ProppantGelTransport_base.xml b/inputFiles/proppant/ProppantGelTransport_base.xml
index b4e7e74b4d6..425b5bdb5da 100644
--- a/inputFiles/proppant/ProppantGelTransport_base.xml
+++ b/inputFiles/proppant/ProppantGelTransport_base.xml
@@ -53,7 +53,7 @@
+ initialRockToughness="1e6"/>
diff --git a/inputFiles/proppant/ProppantSlotTest_benchmark.xml b/inputFiles/proppant/ProppantSlotTest_benchmark.xml
index 4c123fc1fc6..73025434ce8 100755
--- a/inputFiles/proppant/ProppantSlotTest_benchmark.xml
+++ b/inputFiles/proppant/ProppantSlotTest_benchmark.xml
@@ -92,7 +92,7 @@
diff --git a/inputFiles/proppant/ProppantSlotTest_smoke.xml b/inputFiles/proppant/ProppantSlotTest_smoke.xml
index 0576291d3b3..757e67d5f0d 100755
--- a/inputFiles/proppant/ProppantSlotTest_smoke.xml
+++ b/inputFiles/proppant/ProppantSlotTest_smoke.xml
@@ -102,7 +102,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml b/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
index 9dbce69a6a6..9045289c402 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
@@ -18,7 +18,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureFlow_conforming_2d.xml b/inputFiles/singlePhaseFlowFractures/fractureFlow_conforming_2d.xml
index 3e5ebf1c94f..93eba8a2ebd 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureFlow_conforming_2d.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureFlow_conforming_2d.xml
@@ -17,7 +17,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureJunctionFlow_conforming_2d.xml b/inputFiles/singlePhaseFlowFractures/fractureJunctionFlow_conforming_2d.xml
index e1902e65f51..a85f2e3b715 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureJunctionFlow_conforming_2d.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureJunctionFlow_conforming_2d.xml
@@ -17,7 +17,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_conforming_2d_smoke.xml b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_conforming_2d_smoke.xml
index 8f7226b2f85..2250f3b5fe5 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_conforming_2d_smoke.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_conforming_2d_smoke.xml
@@ -18,7 +18,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlow_conforming_2d.xml b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlow_conforming_2d.xml
index 6d9f7f2692e..7f475b928ab 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlow_conforming_2d.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlow_conforming_2d.xml
@@ -18,7 +18,7 @@
diff --git a/inputFiles/singlePhaseFlowFractures/impermeableFault_conforming_base.xml b/inputFiles/singlePhaseFlowFractures/impermeableFault_conforming_base.xml
index c05815fe353..13ed96f0b8c 100644
--- a/inputFiles/singlePhaseFlowFractures/impermeableFault_conforming_base.xml
+++ b/inputFiles/singlePhaseFlowFractures/impermeableFault_conforming_base.xml
@@ -18,7 +18,7 @@
diff --git a/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml b/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
index f398d7beb79..ada8953f37b 100644
--- a/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
+++ b/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
@@ -20,7 +20,7 @@
@@ -190,5 +190,5 @@
name="restartOutput"/>
-
+
diff --git a/inputFiles/surfaceGeneration/cube_8.xml b/inputFiles/surfaceGeneration/cube_8.xml
index 2f002bb34b9..b5920ca47fa 100644
--- a/inputFiles/surfaceGeneration/cube_8.xml
+++ b/inputFiles/surfaceGeneration/cube_8.xml
@@ -21,7 +21,7 @@
name="SurfaceGen"
logLevel="1"
targetRegions="{ Region2 }"
- rockToughness="1e60"
+ initialRockToughness="1e60"
mpiCommOrder="1" />
@@ -231,5 +231,5 @@
name="restartOutput"/>
-
+
diff --git a/inputFiles/thermalSinglePhaseFlowFractures/fractureMatrixThermalFlow_conforming_base.xml b/inputFiles/thermalSinglePhaseFlowFractures/fractureMatrixThermalFlow_conforming_base.xml
index 57cfd350256..9c903ebf0e4 100644
--- a/inputFiles/thermalSinglePhaseFlowFractures/fractureMatrixThermalFlow_conforming_base.xml
+++ b/inputFiles/thermalSinglePhaseFlowFractures/fractureMatrixThermalFlow_conforming_base.xml
@@ -25,7 +25,7 @@
diff --git a/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_conforming_base.xml b/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_conforming_base.xml
index e32a27879d0..69ebbdcaaba 100644
--- a/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_conforming_base.xml
+++ b/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_conforming_base.xml
@@ -47,7 +47,7 @@
name="SurfaceGenerator"
targetRegions="{ RockMatrix }"
fractureRegion="Fracture"
- rockToughness="1e6"
+ initialRockToughness="1e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml b/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
index 0f782918ec9..fb52fd5f479 100644
--- a/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
+++ b/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
@@ -22,7 +22,7 @@
name="SurfaceGen"
fractureRegion="Fracture"
targetRegions="{ casing, cement, rock }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
index ae8b6baea35..ab4ccf65952 100644
--- a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
+++ b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
@@ -53,7 +53,7 @@
name="SurfaceGen"
fractureRegion="Fracture"
targetRegions="{ casing, cement, rock }"
- rockToughness="1.0e6"
+ initialRockToughness="1.0e6"
mpiCommOrder="1"/>
diff --git a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp
index 2e16f5bfeea..aaf9430df2b 100644
--- a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp
+++ b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp
@@ -180,15 +180,27 @@ SurfaceGenerator::SurfaceGenerator( const string & name,
// m_maxTurnAngle(91.0),
m_nodeBasedSIF( 1 ),
m_isPoroelastic( 0 ),
- m_rockToughness( 1.0e99 ),
+ m_initialRockToughness( 1.0e99 ),
+ m_toughnessScalingFactor( 0.0 ),
+ m_fractureOrigin( { 0.0, 0.0, 0.0 } ),
m_mpiCommOrder( 0 )
{
this->registerWrapper( viewKeyStruct::failCriterionString(), &this->m_failCriterion );
- registerWrapper( viewKeyStruct::rockToughnessString(), &m_rockToughness ).
+ registerWrapper( viewKeyStruct::initialRockToughnessString(), &m_initialRockToughness ).
setInputFlag( InputFlags::REQUIRED ).
- setDescription( "Rock toughness of the solid material" );
+ setDescription( "Initial rock toughness of the solid material" );
+
+ registerWrapper( viewKeyStruct::toughnessScalingFactorString(), &m_toughnessScalingFactor ).
+ setApplyDefaultValue( 0.0 ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setDescription( "Scaling factor for the rock toughness of the solid material" );
+
+ registerWrapper( viewKeyStruct::fractureOriginString(), &m_fractureOrigin ).
+ setDefaultValue( m_fractureOrigin ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setDescription( "Coordinate of fracture origin" );
registerWrapper( viewKeyStruct::nodeBasedSIFString(), &m_nodeBasedSIF ).
setInputFlag( InputFlags::OPTIONAL ).
@@ -372,17 +384,18 @@ void SurfaceGenerator::initializePostInitialConditionsPreSubGroups()
FaceManager & faceManager = meshLevel.getFaceManager();
ElementRegionManager & elementManager = meshLevel.getElemManager();
arrayView2d< real64 const > const & faceNormals = faceManager.faceNormal();
+ arrayView2d< real64 const > const & faceCenters = faceManager.faceCenter();
//TODO: roughness to KIC should be made a material constitutive relationship.
arrayView2d< real64 > const & KIC = faceManager.getField< surfaceGeneration::K_IC >();
for( localIndex kf=0; kf= 0 )
+ if( m_initialRockToughness >= 0 )
{
- KIC[kf][0] = m_rockToughness;
- KIC[kf][1] = m_rockToughness;
- KIC[kf][2] = m_rockToughness;
+ KIC[kf][0] = m_initialRockToughness;
+ KIC[kf][1] = m_initialRockToughness;
+ KIC[kf][2] = m_initialRockToughness;
}
else
{
@@ -390,6 +403,10 @@ void SurfaceGenerator::initializePostInitialConditionsPreSubGroups()
arrayView2d< localIndex const > const & faceToSubRegionMap = faceManager.elementSubRegionList();
arrayView2d< localIndex const > const & faceToElementMap = faceManager.elementList();
+ KIC[kf][0] = 1e99;
+ KIC[kf][1] = 1e99;
+ KIC[kf][2] = 1e99;
+
for( localIndex k=0; k 0.0 )
+ {
+ real64 faceCenter[3];
+ faceCenter[0] = faceCenters[kf][0];
+ faceCenter[1] = faceCenters[kf][1];
+ faceCenter[2] = faceCenters[kf][2];
+
+ for( localIndex dim=0; dim<3; ++dim )
+ {
+ real64 const initialRockToughness = KIC[kf][dim];
+
+ real64 const scaledToughness = scalingToughness( m_fractureOrigin,
+ faceCenter,
+ initialRockToughness,
+ m_toughnessScalingFactor );
+
+ KIC[kf][dim] = scaledToughness;
+ }
+ }
}
} );
}
@@ -558,7 +594,6 @@ real64 SurfaceGenerator::solverStep( real64 const & time_n,
PermeabilityBase & permModel = getConstitutiveModel< PermeabilityBase >( fractureSubRegion, permModelName );
permModel.initializeState();
}
-
} );
return rval;
@@ -4562,6 +4597,20 @@ SurfaceGenerator::calculateRuptureRate( SurfaceElementRegion & faceElementRegion
return globalMaxRuptureRate;
}
+real64 SurfaceGenerator::scalingToughness( R1Tensor const fractureOrigin,
+ real64 const (&faceCenter)[3],
+ real64 const initialRockToughness,
+ real64 const toughnessScalingFactor )
+{
+ real64 const distance = sqrt( (fractureOrigin[0] - faceCenter[0])*(fractureOrigin[0] - faceCenter[0]) +
+ (fractureOrigin[1] - faceCenter[1])*(fractureOrigin[1] - faceCenter[1]) +
+ (fractureOrigin[2] - faceCenter[2])*(fractureOrigin[2] - faceCenter[2]) );
+
+ real64 scaledToughness = initialRockToughness*( 1 + toughnessScalingFactor*sqrt( distance ) );
+
+ return scaledToughness;
+}
+
REGISTER_CATALOG_ENTRY( PhysicsSolverBase,
diff --git a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.hpp b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.hpp
index 4e435f9b566..084b63c5fe6 100644
--- a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.hpp
+++ b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.hpp
@@ -503,6 +503,11 @@ class SurfaceGenerator : public PhysicsSolverBase
real64 calculateRuptureRate( SurfaceElementRegion & faceElementRegion );
+ real64 scalingToughness( R1Tensor const fractureOrigin,
+ real64 const (&faceCenter)[3],
+ real64 const initialRockToughness,
+ real64 const toughnessScalingFactor );
+
/**
* @struct viewKeyStruct holds char strings and viewKeys for fast lookup
*/
@@ -521,7 +526,10 @@ class SurfaceGenerator : public PhysicsSolverBase
//TODO: rock toughness should be a material parameter, and we need to make rock toughness to KIC a constitutive
// relation.
- constexpr static char const * rockToughnessString() { return "rockToughness"; }
+ constexpr static char const * initialRockToughnessString() { return "initialRockToughness"; }
+ constexpr static char const * toughnessScalingFactorString() { return "toughnessScalingFactor"; }
+ //TODO: fracture origin can be obtained from the initial fracture geometry
+ constexpr static char const * fractureOriginString() { return "fractureOrigin"; }
// //TODO: Once the node-based SIF criterion becomes mature and robust, remove the edge-based criterion.
constexpr static char const * nodeBasedSIFString() { return "nodeBasedSIF"; }
@@ -541,7 +549,11 @@ class SurfaceGenerator : public PhysicsSolverBase
int m_isPoroelastic;
- real64 m_rockToughness;
+ real64 m_initialRockToughness;
+
+ real64 m_toughnessScalingFactor;
+
+ R1Tensor m_fractureOrigin;
// Flag for consistent communication ordering
int m_mpiCommOrder;
diff --git a/src/coreComponents/schema/schema.xsd b/src/coreComponents/schema/schema.xsd
index b1d8b4b5541..38d29f7070e 100644
--- a/src/coreComponents/schema/schema.xsd
+++ b/src/coreComponents/schema/schema.xsd
@@ -4634,10 +4634,14 @@ Level 0 outputs no specific information for this solver. Higher levels require m
+
+
+
+
-
-
+
+