-
Notifications
You must be signed in to change notification settings - Fork 231
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
contribute cookbook: simple subduction initiation #5271
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,91 @@ | ||||||||||||||
(sec:cookbooks:subd-init)= | ||||||||||||||
# Subduction initiation from Matsumoto and Tomoda (1983) | ||||||||||||||
|
||||||||||||||
*This section was contributed by Cedric Thieulot.* | ||||||||||||||
|
||||||||||||||
The setup for this experiment originates in {cite:t}`matsumoto:tomoda:1983`. | ||||||||||||||
|
||||||||||||||
In this very early computational geodynamics paper the authors | ||||||||||||||
are interested in predicting the future process of crustal and lithospheric movement | ||||||||||||||
at the gigantic fracture zone in the Northeastern | ||||||||||||||
Pacific by means of numerical simulation | ||||||||||||||
of contact between two kinds of viscous fluid of different density. | ||||||||||||||
They then solve the incompressible isothermal linear Stokes equations | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||||||||||
with a stream function approach and the resulting equation is solved by means of the | ||||||||||||||
Finite Difference method and the Marker and Cell (MAC) method. | ||||||||||||||
|
||||||||||||||
The domain is a 2D Cartesian box of size $L_x \times L_y=(400~\text{ km},180~\text{ km})$. | ||||||||||||||
There are three fluids in the domain: water ($\rho_w=1030~\text{ kg m}^{-3}$, $\eta_w=10^{-3}~\text{ Pa s}$), | ||||||||||||||
lithosphere ($\rho_l=3300~\text{ kg m}^{-3}$, $\eta_l$) and | ||||||||||||||
asthenosphere ($\rho_a=3200~\text{ kg m}^{-3}$, $\eta_a$). | ||||||||||||||
Note that although the water viscosity is correct, this is probably not | ||||||||||||||
the value that was used in the authors since it would most likely lead to | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. either
Suggested change
or
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. already corrected (see Julianne's comment above) |
||||||||||||||
numerical errors. We then set $\eta_w=10^{19}~\text{ Pa s}$ (we can then speak of 'sticky water'). | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. :-) Honey? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sticky honey is a hard sell ... is there a planet covered in honey with plate tectonics? |
||||||||||||||
Also, all viscosities in the paper | ||||||||||||||
are expressed in Poise with $1~\text{ Poise}=0.1~\text{ Pa s}$. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, come on. Who thought that was a good idea? |
||||||||||||||
|
||||||||||||||
The setup is shown in {numref}`fig:subduction-initiation-setup` | ||||||||||||||
and the list of simulations run by the authors is in | ||||||||||||||
{numref}`tab:quickref`. | ||||||||||||||
|
||||||||||||||
```{figure-md} fig:subduction-initiation-setup | ||||||||||||||
<img src="setup.*" width="70%" /> | ||||||||||||||
|
||||||||||||||
$D_w= 10~\text{ km}$, | ||||||||||||||
$D_l= 50~\text{ km}$, | ||||||||||||||
$d_w=8~\text{ km}$, | ||||||||||||||
$d_l=10~\text{ km}$. These values | ||||||||||||||
represent the easternmost part of the Mendocino | ||||||||||||||
Fracture Zone. | ||||||||||||||
Taken from {cite:t}`matsumoto:tomoda:1983`. | ||||||||||||||
``` | ||||||||||||||
|
||||||||||||||
```{table} List of all cases | ||||||||||||||
:name: tab:quickref | ||||||||||||||
| Case | $\eta_l~(\text{ Pa s})$ | $\eta_a~(\text{ Pa s})$ | domain size (km)| | ||||||||||||||
| :------------------- | :-----------: | :------------: | :---------: | | ||||||||||||||
1 | $10^{22}$ | $10^{21}$ | $400\times 180$ | | ||||||||||||||
2 | $10^{22}$ | $10^{20}$ | $400\times 180$ | | ||||||||||||||
3 | $10^{22}$ | $10^{19}$ | $400\times 180$ | | ||||||||||||||
4 | $10^{23}$ | $10^{21}$ | $400\times 180$ | | ||||||||||||||
5 | $10^{22}$ | $10^{20}$ | $800\times 140$ | | ||||||||||||||
6 | $10^{22}$ | $10^{19}$ | $800\times 140$ | | ||||||||||||||
``` | ||||||||||||||
|
||||||||||||||
|
||||||||||||||
Rather interestingly the model is built in such a way that the | ||||||||||||||
lithostatic pressure is uniform at the bottom of the domain. | ||||||||||||||
Models are run for 50 Myr. | ||||||||||||||
Boundary conditions are free-slip on all sides of the domain. | ||||||||||||||
Unfortunately the authors do not specify the mesh resolution that was used | ||||||||||||||
but {numref}`fig:subduction-initiation-results1` gives us an idea. | ||||||||||||||
|
||||||||||||||
```{figure-md} fig:subduction-initiation-results1 | ||||||||||||||
<img src="results1.*" width="90%" /> | ||||||||||||||
|
||||||||||||||
Computer output of the result of Case 6(c). \# indicates a particle | ||||||||||||||
representing the material of older lithosphere, * is that of | ||||||||||||||
younger lithosphere, : is older asthenosphere and $\cdot$ is younger asthenosphere. | ||||||||||||||
Taken from {cite:t}`matsumoto:tomoda:1983`. | ||||||||||||||
``` | ||||||||||||||
|
||||||||||||||
Two parameter files are provided for Case 1: one using | ||||||||||||||
compositional fields, and one using the particle-in-cell approach. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can directly link to the files, I think it should look like this:
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nice! |
||||||||||||||
Other cases can be run by changing the viscosities and/or the domain size accordingly in the | ||||||||||||||
parameter files. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||||||||||
Results for Case 1 in the original publication are shown in {numref}`fig:subduction-initiation-results2` | ||||||||||||||
and results obtained in ASPECT are shown in {numref}`fig:subduction-initiation-results3`. | ||||||||||||||
|
||||||||||||||
```{figure-md} fig:subduction-initiation-results2 | ||||||||||||||
<img src="results2.*" width="70%" /> | ||||||||||||||
|
||||||||||||||
Results of calculation in Case 1. (a) 0 Ma; (b) 12 Ma; (c) 21.4 Ma; (d) 30.7 Ma; (e) 46.7 Ma. | ||||||||||||||
Taken from {cite:t}`matsumoto:tomoda:1983`. | ||||||||||||||
``` | ||||||||||||||
|
||||||||||||||
```{figure-md} fig:subduction-initiation-results3 | ||||||||||||||
<img src="results3.*" width="95%" /> | ||||||||||||||
|
||||||||||||||
Case 1 (obtained with the compositional fields approach) at | ||||||||||||||
(a) 0 Ma; (b) 12 Ma; (c) 21 Ma; (d) 31 Ma; (e) 41 Ma. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you add units? I am not going to ask you to redo all the figures (although having the units directly with the colorbar would be great!) but it should at least be in the caption. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. added units in caption. also re-uploading figure bc original was too low resolution. |
||||||||||||||
``` |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,98 @@ | ||||||
#parameter file for replicating Matsumoto & Tomoda 1983 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
|
||||||
set Dimension = 2 | ||||||
set Start time = 0 | ||||||
set End time = 50e6 | ||||||
set Use years in output instead of seconds = true | ||||||
set CFL number = 0.25 | ||||||
set Output directory = output-subduction-initiation-comp | ||||||
set Pressure normalization = surface | ||||||
|
||||||
subsection Solver parameters | ||||||
subsection Stokes solver parameters | ||||||
set Number of cheap Stokes solver steps = 0 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Geometry model | ||||||
set Model name = box | ||||||
subsection Box | ||||||
set X extent = 400e3 | ||||||
set Y extent = 180e3 | ||||||
set X repetitions = 2 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Boundary velocity model | ||||||
set Tangential velocity boundary indicators = left, right, bottom, top | ||||||
end | ||||||
|
||||||
|
||||||
#materials are: | ||||||
# asthenosphere left, | ||||||
# asthenosphere right, | ||||||
# lithosphere left, | ||||||
# lithosphere right, | ||||||
# water. | ||||||
|
||||||
subsection Material model | ||||||
set Model name = multicomponent | ||||||
subsection Multicomponent | ||||||
set Densities = 3200, 3200, 3300, 3300, 1030 | ||||||
set Viscosities = 1e21, 1e21, 1e22, 1e22, 1e19 | ||||||
set Viscosity averaging scheme = harmonic | ||||||
set Thermal expansivities = 0 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Gravity model | ||||||
set Model name = vertical | ||||||
subsection Vertical | ||||||
set Magnitude = 9.81 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Boundary temperature model | ||||||
set Fixed temperature boundary indicators = bottom, top | ||||||
set List of model names = box | ||||||
end | ||||||
|
||||||
subsection Initial temperature model | ||||||
set Model name = function | ||||||
subsection Function | ||||||
set Function expression = 0 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Compositional fields | ||||||
set Number of fields = 4 | ||||||
end | ||||||
|
||||||
subsection Initial composition model | ||||||
set Model name = function | ||||||
subsection Function | ||||||
set Variable names = x,y | ||||||
set Function constants = L0=300e3 | ||||||
set Function expression = if((x>=L0 && y<162e3),1,0) ;\ | ||||||
if((x<=L0 && y>120e3 && y<=170e3),1,0) ;\ | ||||||
if((x>=L0 && y>=162e3 && y<=172e3),1,0) ;\ | ||||||
if((x<=L0 && y>170e3) || (x>=L0 && y>172e3),1,0) | ||||||
end | ||||||
end | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I get that you could change this by hand if you wanted to change the domain height to 140 km for cases 5 and 6. But you would have to change all the numbers by hand and it would be really easy to make an error. Could you add another function constant for the domain hight and then express all y values as the height minus depth? That way, the user would only have to change one number for the box height. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. good idea, thx! |
||||||
|
||||||
subsection Mesh refinement | ||||||
set Initial adaptive refinement = 2 | ||||||
set Initial global refinement = 5 | ||||||
set Refinement fraction = 0.9 | ||||||
set Strategy = composition | ||||||
set Coarsening fraction = 0 | ||||||
end | ||||||
|
||||||
subsection Postprocess | ||||||
set List of postprocessors = visualization, velocity statistics, composition statistics, pressure statistics, material statistics, global statistics | ||||||
subsection Visualization | ||||||
set List of output variables = density, viscosity, strain rate | ||||||
set Time between graphical output = 0 | ||||||
set Interpolate output = false | ||||||
end | ||||||
end |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,104 @@ | ||||||
#parameter file for replicating Matsumoto & Tomoda 1983 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In order to not duplicate code, can you include the other input file and only list the parameters that are different, rather than copying the whole file (I think you only need the output directory, the section on compositional fields, and the postprocessing)? That way, if someone wants to change the setup to other cases, they only have one file to change, not both. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. have created a 'subduction_initiation_basis.prm' file which contains the common prm code for both. |
||||||
|
||||||
set Dimension = 2 | ||||||
set Start time = 0 | ||||||
set End time = 50e6 | ||||||
set Use years in output instead of seconds = true | ||||||
set CFL number = 0.25 | ||||||
set Output directory = output-subduction-initiation-pic | ||||||
set Pressure normalization = surface | ||||||
|
||||||
#subsection Solver parameters | ||||||
# subsection Stokes solver parameters | ||||||
# set Number of cheap Stokes solver steps = 0 | ||||||
# end | ||||||
#end | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you remove this if it is not needed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
|
||||||
subsection Geometry model | ||||||
set Model name = box | ||||||
subsection Box | ||||||
set X extent = 400e3 | ||||||
set Y extent = 180e3 | ||||||
set X repetitions = 2 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Boundary velocity model | ||||||
set Tangential velocity boundary indicators = left, right, bottom, top | ||||||
end | ||||||
|
||||||
subsection Material model | ||||||
set Model name = multicomponent | ||||||
subsection Multicomponent | ||||||
set Densities = 0, 3200, 3200, 3300, 3300, 1030 | ||||||
set Viscosities = 1e30, 1e21, 1e21, 1e22, 1e22, 1e19 | ||||||
set Viscosity averaging scheme = harmonic | ||||||
set Thermal expansivities = 0 | ||||||
end | ||||||
set Material averaging = harmonic average | ||||||
end | ||||||
|
||||||
subsection Gravity model | ||||||
set Model name = vertical | ||||||
subsection Vertical | ||||||
set Magnitude = 9.81 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Boundary temperature model | ||||||
set Fixed temperature boundary indicators = bottom, top | ||||||
set List of model names = box | ||||||
end | ||||||
|
||||||
subsection Initial temperature model | ||||||
set Model name = function | ||||||
subsection Function | ||||||
set Function expression = 0 | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Compositional fields | ||||||
set Number of fields = 5 | ||||||
set Names of fields = asth_left, asth_right, left_lith, right_lith, water | ||||||
set Compositional field methods = particles, particles, particles, particles, particles | ||||||
set Mapped particle properties = asth_left:initial asth_left, asth_right:initial asth_right, left_lith:initial left_lith, right_lith:initial right_lith, water: initial water | ||||||
end | ||||||
|
||||||
subsection Initial composition model | ||||||
set Model name = function | ||||||
subsection Function | ||||||
set Variable names = x,y | ||||||
set Function constants = L0=300e3 | ||||||
set Function expression = if((x<=L0 && y<=120e3),1,0) ;\ | ||||||
if((x>=L0 && y<162e3),1,0) ;\ | ||||||
if((x<=L0 && y>120e3 && y<=170e3),1,0) ;\ | ||||||
if((x>=L0 && y>=162e3 && y<=172e3),1,0) ;\ | ||||||
if((x<=L0 && y>170e3) || (x>=L0 && y>172e3),1,0) | ||||||
end | ||||||
end | ||||||
|
||||||
subsection Mesh refinement | ||||||
set Initial adaptive refinement = 0 | ||||||
set Initial global refinement = 6 | ||||||
set Refinement fraction = 0.9 | ||||||
set Strategy = composition | ||||||
set Coarsening fraction = 0 | ||||||
end | ||||||
|
||||||
subsection Postprocess | ||||||
set List of postprocessors = visualization, velocity statistics, composition statistics, pressure statistics, material statistics, global statistics, particles | ||||||
subsection Particles | ||||||
set Number of particles = 350000 | ||||||
set Time between data output = 0 | ||||||
set Data output format = vtu | ||||||
set List of particle properties = initial composition, velocity | ||||||
set Particle generator name = random uniform | ||||||
set Interpolation scheme = cell average #default | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
set Update ghost particles = true | ||||||
end | ||||||
subsection Visualization | ||||||
set List of output variables = density, viscosity, strain rate | ||||||
set Time between graphical output = 0 | ||||||
set Interpolate output = false | ||||||
end | ||||||
end |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
New: There is now a new cookbook which is a very | ||
simple subduction initiation model as published | ||
by Matsumoto and Tomoda (1983). | ||
<br> | ||
(Cedric Thieulot, 2023/07/12) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done