-
Notifications
You must be signed in to change notification settings - Fork 251
Cookbook for Continental Compression with Fault Inheritance #6476
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
Open
PrajaktaPMohite
wants to merge
5
commits into
geodynamics:main
Choose a base branch
from
PrajaktaPMohite:fault_inheritence_cookbook
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
27679c8
adding cookbook for continental compression with imposed faults
PrajaktaPMohite e2febc1
adding documentation
PrajaktaPMohite 921ca1f
addressing Daniel's comments
PrajaktaPMohite 8d8ea7b
addressing comments
PrajaktaPMohite 7be3791
addressing comments and indentation
PrajaktaPMohite File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
488 changes: 488 additions & 0 deletions
488
...ntinental_compression_with_imposed_faults/continental_compression_with_imposed_faults.prm
Large diffs are not rendered by default.
Oops, something went wrong.
66 changes: 66 additions & 0 deletions
66
...ontinental_compression_with_imposed_faults/continental_compression_with_imposed_faults.wb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
{ | ||
"version":"1.0", | ||
"cross section":[[0,4e5],[4.2e5,4e5]], | ||
"features": | ||
[ | ||
{ | ||
"model":"fault","name":"fault1","dip point":[0e5,2e5], | ||
naliboff marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"min depth":0, "max depth":1e5, | ||
"coordinates":[[2.5e5,8e5],[2.5e5,0]], | ||
"segments": | ||
[ | ||
{"length":2e5,"thickness":[5000],"angle":[80]} | ||
], | ||
"temperature models":[{"model":"uniform","temperature":273}], | ||
"composition models": | ||
[ | ||
{"model":"smooth", "compositions":[0,2], "operation":"add", "side distance fault center":2500, "center fractions":[1.5,1.5],"side fractions":[0.5,0.5]} | ||
] | ||
|
||
}, { | ||
"model":"fault","name":"fault2","dip point":[0e5,2e5], | ||
"min depth":0, "max depth":1e5, | ||
"coordinates":[[2.25e5,8e5],[2.25e5,0]], | ||
"segments": | ||
[ | ||
{"length":2e5,"thickness":[5000],"angle":[70]} | ||
], | ||
"temperature models":[{"model":"uniform","temperature":273}], | ||
"composition models": | ||
[ | ||
{"model":"smooth", "compositions":[0,2], "operation":"add", "side distance fault center":2500, "center fractions":[1.5,1.5],"side fractions":[0.5,0.5]} | ||
] | ||
|
||
}, { | ||
"model":"fault","name":"fault3","dip point":[0e5,2e5], | ||
"min depth":0, "max depth":1e5, | ||
"coordinates":[[1.4e5,8e5],[1.4e5,0]], | ||
"segments": | ||
[ | ||
{"length":2e5,"thickness":[5000],"angle":[110]} | ||
], | ||
"temperature models":[{"model":"uniform","temperature":273}], | ||
"composition models": | ||
[ | ||
{"model":"smooth", "compositions":[0,2], "operation":"add", "side distance fault center":2500, "center fractions":[1.5,1.5],"side fractions":[0.5,0.5]} | ||
] | ||
|
||
}, { | ||
"model":"fault","name":"fault4","dip point":[0e5,2e5], | ||
"min depth":0, "max depth":1e5, | ||
"coordinates":[[1.85e5,8e5],[1.85e5,0]], | ||
"segments": | ||
[ | ||
{"length":2e5,"thickness":[5000],"angle":[90]} | ||
], | ||
"temperature models":[{"model":"uniform","temperature":273}], | ||
"composition models": | ||
[ | ||
{"model":"smooth", "compositions":[0,2], "operation":"add", "side distance fault center":2500, "center fractions":[1.5,1.5],"side fractions":[0.5,0.5]} | ||
] | ||
|
||
} | ||
|
||
] | ||
} | ||
|
56 changes: 56 additions & 0 deletions
56
...pression_with_imposed_faults/doc/continental_compression_with_imposed_faults.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
(sec:cookbooks:Continental-Compression-with-imposed-faults)= | ||
# Continental Compression with Pre-Existing Fault inheritance | ||
|
||
*This section was contributed by Prajakta Mohite and John Naliboff.* | ||
|
||
Recent numerical modeling investigations have demonstrated the influence of extensional phases of deformation on the subsequent evolution of continental collision zones (eg., {cite}`Vasey:etal:2024`,{cite}`Zwaan:etal:2025`). Motivated by these studies and a wide range of observations that highlight fault reactivation processes during the Wilson cycle, this cookbook implements a 2D visco-plastic model of continental compression that incorporates pre-existing fault zones into the initial conditions. | ||
|
||
The cookbook builds directly on components of the {ref}`sec:cookbooks:continental-extension` cookbook, and the primary goal here is to: | ||
1. Highlight techniques for imposing fault zones in the initial conditions of a lithospheric deformation simulation and | ||
2. Demonstrate their effect on the evolution of deformation patterns. | ||
|
||
# Model Design | ||
The model domain spans 400 km x 400 km and uses adaptive refinement to resolve deformation patterns in the regions where faults are imposed at the onset of deformation. The initial thermal structure follows a conductive, continental-style geotherm through the lithosphere and an initial adiabatic profile in the asthenosphere. The governing equations follow the extended Boussinesq approximation, which includes both adiabatic and shear heating. | ||
|
||
Deformation is driven by horizontal velocity applied at the model sides (0.1 cm/yr), which are balanced by outflow at the model base (0.2 cm/yr). A free surface allows topography to develop through time, which is diffused at each time step to approximate landscape evolution processes and stabilize both linear and nonlinear solver behavior. | ||
|
||
The initial lithological structure includes distinct layers representing the upper crust (20 km), lower crust (20 km), mantle lithosphere (40 km), and asthenosphere (320 km). Each layer is represented by a nonlinear viscoplastic rheology combining dislocation creep and pressure-dependent plasticity. Respectively, the pre-yield viscosity and brittle material parameters (cohesion, friction) weaken by a factor of 10 and 4 as a function of accumulated viscous and brittle strain over strain intervals of 0.5-1.5. | ||
|
||
```{literalinclude} strain_weakening_mechanism.part.prm | ||
``` | ||
|
||
Faults are integrated into the model initial conditions as zones of initial strain defined in the Geodynamic World Builder. Four faults extending to the base of the lithosphere with constant dip angles are included, two of which dip at 60 degrees toward each other in a style representing pre-existing normal faults. A third vertical fault (i.e., approximating a strike-slip fault) is centrally located between the two dipping faults, while the fourth fault is located to the right of two normal faults and dips at a higher angle. The faults maintain a constant width of 5 km and extend to a depth of 100 km. In addition to defined fault locations with constant strain values, randomized zones of plastic (0-40 km depth) and viscous strain (0-100 km depth) are imposed across a 300 km wide zone in the upper to approximate pervasive off-fault damage observed in many regions that have undergone significant tectonic deformation. The faults are prescribed in the middle of the randomized strain zones, fault1 in wb file is located at x = 250km. The plastic and viscous strain composition values within the faults is the sum of the value defined in the world builder and the randomized values defined in these zones. | ||
|
||
Following Howard et al. (2003), the configuration of these faults is motivated by the inferred tectonic history of the Dzereg basin in the Mongolia Altai, which has been undergoing relatively slow compression since the onset of the India-Asia collision following a period of extensional deformation. | ||
|
||
```{figure-md} fig:initial_plastic_and_viscous_strain_and_density | ||
<img src="initial_plastic_and_viscous_strain_and_density.svg" style="width:50.0%" /> | ||
|
||
Initial plastic strain (top left), viscous strain (top right) and density (bottom) highlighting the location of defined fault zones and randomized strain across a broader region in the upper 100 km. | ||
The density plot contains temperature contours at intervals of 200 K, beginning at 373 K and ending at 1573 K (LAB temperature). | ||
``` | ||
|
||
The position, dip angle and direction, thickness (5 km), and composition (plastic and viscous strain) of each fault are defined with the [Geodynamic World Builder fault feature](https://geodynamicworldbuilder.github.io), which is illustrated below for a single fault. | ||
|
||
```{literalinclude} single_fault_imposed.part.wb | ||
``` | ||
|
||
# Model Evolution and Potential Expansion. | ||
|
||
```{figure-md} fig:strain_rate_and_density_0_myr | ||
<img src="strain_rate_and_density_0_myr.svg" style="width:50.0%" /> | ||
|
||
Strain rate (left) and density distribution (right) at 0 Myr in the upper 100 km from x = 100 to 300 km. Strain localizes in the upper crust along pre-defined fault zones, while density increases with depth, reflecting the compositional and thermal stratification of the lithosphere. | ||
``` | ||
|
||
```{figure-md} fig:strain_rate_and_density_35_myr | ||
<img src="strain_rate_and_density_35_myr.svg" style="width:50.0%" /> | ||
|
||
Strain rate (left) and density (right) distributions with temperature contours after 35 Myr of deformation. | ||
``` | ||
|
||
Deformation preferentially localizes along the two pre-existing shear zones forming a graben-like geometry ({numref}`fig:strain_rate_and_density_0_myr`), which reflects their optimal orientation and position within the model domain to accommodate the imposed convergence. After 35 Myr of convergence ({numref}`fig:strain_rate_and_density_35_myr`) deformation remains strongly localized along these faults, with crustal shortening and thickening occurring between them forming an approximately symmetric orogenic wedge. Some degree of asymmetry develops on the right side of the wedge, where the fault farthest to the right remains active in the upper crust and connects to the fault bounding the wedge near the brittle-ductile transition zone. | ||
|
||
Given the nonlinearity of the rheology and governing equations, minor variations in fault strength, geometry, lithospheric structure, and boundary velocities may lead to significant variations in the spatiotemporal evolution of deformation. This cookbook provides a flexible framework for exploring the effects of these parameters, and application to hypothesis-driven questions such as fault reactivation, inversion of rift basins, or the partitioning of strain in complex orogens. | ||
PrajaktaPMohite marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Similarly, changing the numerical resolution is likely to also affect the results, as the brittle shear band width introduced by the plastic damper (1e21 Pa s) is still likely not fully resolved at the maximum resolution of 2.5 km. Furthermore, minor variations in the model results will likely occur if a stricter nonlinear solver tolerance is selected. This cookbook provides a flexible framework for exploring the effects of these parameters, and application to questions such as fault reactivation, inversion of rift basins, or the partitioning of strain in complex orogens. |
1 change: 1 addition & 0 deletions
1
...sion_with_imposed_faults/doc/initial_plastic_and_viscous_strain_and_density.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions
23
cookbooks/continental_compression_with_imposed_faults/doc/single_fault_imposed.part.wb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"version":"1.0", | ||
"cross section":[[0,4e5],[4.2e5,4e5]], | ||
"features": | ||
[ | ||
{ | ||
"model":"fault","name":"fault1","dip point":[0e5,2e5], | ||
"min depth":0, "max depth":1e5, | ||
"coordinates":[[2.0e5,8e5],[2.0e5,0]], | ||
"segments": | ||
[ | ||
{"length":2e5,"thickness":[5000],"angle":[60]} | ||
], | ||
"temperature models":[{"model":"uniform","temperature":273}], | ||
"composition models": | ||
[ | ||
{"model":"smooth", "compositions":[0,2], "operation":"add", "side distance fault center":2500, "center fractions":[1.5,1.5],"side fractions":[0.5,0.5]} | ||
] | ||
|
||
} | ||
] | ||
|
||
} |
1 change: 1 addition & 0 deletions
1
...ntinental_compression_with_imposed_faults/doc/strain_rate_and_density_0_myr.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions
1
...tinental_compression_with_imposed_faults/doc/strain_rate_and_density_35_myr.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions
12
...books/continental_compression_with_imposed_faults/doc/strain_weakening_mechanism.part.prm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
subsection Material model | ||
subsection Visco Plastic | ||
set Strain weakening mechanism = plastic weakening with plastic strain and viscous weakening with viscous strain | ||
set Start plasticity strain weakening intervals = 0.5 | ||
set End plasticity strain weakening intervals = 1.5 | ||
set Cohesion strain weakening factors = 0.25 | ||
set Friction strain weakening factors = 0.25 | ||
set Start prefactor strain weakening intervals = 0.5 | ||
set End prefactor strain weakening intervals = 1.5 | ||
set Prefactor strain weakening factors = 0.1 | ||
end | ||
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
New: A cookbook for continental compression that shows how to integrate faults into the initial conditions using the Geodynamic World Builder. | ||
|
||
<br> | ||
(Prajakta Mohite, John Naliboff, 2025/06/19) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# A test to check whether the continental compression with imposed faults cookbook | ||
# at low resolutions for a single time step with one nonlinear iteration. | ||
|
||
include $ASPECT_SOURCE_DIR/cookbooks/continental_compression_with_imposed_faults/continental_compression_with_imposed_faults.prm | ||
|
||
#### Global parameters | ||
set World builder file = $ASPECT_SOURCE_DIR/cookbooks/continental_compression_with_imposed_faults/continental_compression_with_imposed_faults.wb | ||
set Start time = 0 | ||
set End time = 0 | ||
set Max nonlinear iterations = 1 | ||
set Nonlinear solver tolerance = 1e-3 | ||
set Output directory = continental_compression_with_imposed_faults | ||
|
||
subsection Solver parameters | ||
subsection Stokes solver parameters | ||
set Linear solver tolerance = 1e-3 | ||
end | ||
end | ||
subsection Mesh refinement | ||
set Initial adaptive refinement = 0 | ||
set Initial global refinement = 0 | ||
end | ||
|
||
# Post processing | ||
subsection Postprocess | ||
set List of postprocessors = composition statistics, basic statistics, velocity statistics, particles | ||
end |
31 changes: 31 additions & 0 deletions
31
tests/continental_compression_with_imposed_faults/screen-output
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
|
||
Number of active cells: 400 (on 1 levels) | ||
Number of degrees of freedom: 30,684 (3,362+441+1,681+3,600+3,600+3,600+3,600+3,600+3,600+3,600) | ||
|
||
Number of mesh deformation degrees of freedom: 882 | ||
Solving mesh displacement system... 0 iterations. | ||
*** Timestep 0: t=0 years, dt=0 years | ||
Solving mesh displacement system... 0 iterations. | ||
Solving temperature system... 0 iterations. | ||
Advecting particles... done. | ||
Rebuilding Stokes preconditioner... | ||
Solving Stokes system (AMG)... 23+0 iterations. | ||
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 1.60695e-16, 0, 0, 0, 0, 0, 0, 0, 1 | ||
Relative nonlinear residual (total system) after nonlinear iteration 1: 1 | ||
|
||
|
||
WARNING: The nonlinear solver in the current timestep failed to converge. | ||
Acting according to the parameter 'Nonlinear solver failure strategy': | ||
Continuing to the next timestep even though solution is not fully converged. | ||
|
||
Postprocessing: | ||
Compositions min/max/mass: 0/1.534/1.379e+10 // 0/0/0 // 0/1.493/3.306e+10 // 0/1/8e+09 // 0/1/8e+09 // 0/1/1.6e+10 // 0/1/1.28e+11 | ||
RMS, max velocity: 0.000131 m/year, 0.000224 m/year | ||
Writing particle output: output-continental_compression_with_imposed_faults/particles/particles-00000 | ||
|
||
Termination requested by criterion: end time | ||
|
||
|
||
|
||
|
||
WARNING: During this computation 1 nonlinear solver failures occurred! |
38 changes: 38 additions & 0 deletions
38
tests/continental_compression_with_imposed_faults/statistics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# 1: Time step number | ||
# 2: Time (years) | ||
# 3: Time step size (years) | ||
# 4: Number of mesh cells | ||
# 5: Number of Stokes degrees of freedom | ||
# 6: Number of temperature degrees of freedom | ||
# 7: Number of degrees of freedom for all compositions | ||
# 8: Number of nonlinear iterations | ||
# 9: Iterations for temperature solver | ||
# 10: Iterations for Stokes solver | ||
# 11: Velocity iterations in Stokes preconditioner | ||
# 12: Schur complement iterations in Stokes preconditioner | ||
# 13: Minimal value for composition plastic_strain | ||
# 14: Maximal value for composition plastic_strain | ||
# 15: Global mass for composition plastic_strain | ||
# 16: Minimal value for composition noninitial_plastic_strain | ||
# 17: Maximal value for composition noninitial_plastic_strain | ||
# 18: Global mass for composition noninitial_plastic_strain | ||
# 19: Minimal value for composition viscous_strain | ||
# 20: Maximal value for composition viscous_strain | ||
# 21: Global mass for composition viscous_strain | ||
# 22: Minimal value for composition crust_upper | ||
# 23: Maximal value for composition crust_upper | ||
# 24: Global mass for composition crust_upper | ||
# 25: Minimal value for composition crust_lower | ||
# 26: Maximal value for composition crust_lower | ||
# 27: Global mass for composition crust_lower | ||
# 28: Minimal value for composition mantle_lithosphere | ||
# 29: Maximal value for composition mantle_lithosphere | ||
# 30: Global mass for composition mantle_lithosphere | ||
# 31: Minimal value for composition asthenosphere | ||
# 32: Maximal value for composition asthenosphere | ||
# 33: Global mass for composition asthenosphere | ||
# 34: RMS velocity (m/year) | ||
# 35: Max. velocity (m/year) | ||
# 36: Number of advected particles | ||
# 37: Particle file name | ||
0 0.000000000000e+00 0.000000000000e+00 400 3803 1681 25200 1 0 23 24 66 0.00000000e+00 1.53409020e+00 1.37942383e+10 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.49349236e+00 3.30589775e+10 0.00000000e+00 1.00000000e+00 8.00000000e+09 0.00000000e+00 1.00000000e+00 8.00000000e+09 0.00000000e+00 1.00000000e+00 1.60000000e+10 0.00000000e+00 1.00000000e+00 1.28000000e+11 1.31136528e-04 2.23606798e-04 19600 output-continental_compression_with_imposed_faults/particles/particles-00000 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.