Skip to content

Commit

Permalink
Merge pull request #812 from danieldouglas92/add_water_content_cookbook
Browse files Browse the repository at this point in the history
Create a Cookbook of a Hydrated Slab
  • Loading branch information
MFraters authored Jan 22, 2025
2 parents db3c3ea + 638bf82 commit b7ddfcc
Show file tree
Hide file tree
Showing 6 changed files with 114 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]
### Added
- Added a cookbook which demonstrates how to use the tian 2019 composition model to create a subducting plate with hydrated lithologies. \[Daniel Douglas; 2025-01-22; [#812](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/812)\]
- Added documentation for the subducting plate feature in the parameter documentation section of the manual. \[Daniel Douglas; 2024-11-19; [#768](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/768)\]
- Added a velocities system where each feature can define a velocity field and the gwb can return the resulting velocity field. \[Menno Fraters; 2024-10-20; [#761](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/761)\]
- There is now a CMake variable to automatically update the reference files for failed tests (gdb-dat and gwb-grid tests) \[Menno Fraters; 2024-10-20; [#761](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/761)\]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Grid File for creating vtk files to view in Paraview or Visit
grid_type = cartesian
dim = 2
compositions = 1

# domain of the grid (x and y are the surface, z is vertical with 0 at the bottom)
x_min = 0e3
x_max = 3000e3
z_min = 0e3
z_max = 1600e3

# grid properties
n_cell_x = 1500
n_cell_z = 800
66 changes: 66 additions & 0 deletions cookbooks/2d_cartesian_hydrated_slab/2d_cartesian_hydrated_slab.wb
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"version":"1.1",
"coordinate system":{"model":"cartesian"},
"cross section":[[0,0],[8000e3,0]],
"surface temperature":273,
"thermal expansion coefficient":3.1e-5, "specific heat":1000, "thermal diffusivity":1.0e-6,
"features":
[
{"model":"mantle layer", "name":"Mantle", "max depth":1600e3,
"coordinates":[[0,-100e3],[0,100e3],[3000e3,100e3],[3000e3,-100e3]]},

{"model":"oceanic plate", "name":"Overriding Plate",
"min depth":0, "max depth":200e3,
"coordinates":[[0,-100e3],[0,100e3],[2000e3,100e3],[2000e3,-100e3]],
"temperature models":[ {"model":"plate model",
"min depth":-10e3, "max depth":300e3,
"top temperature":273, "bottom temperature":-1,
"spreading velocity":0.05,
"ridge coordinates": [[[-1000e3,-100e3],[-1000e3,100e3]]]}]
},

{"model":"oceanic plate", "name":"Subducting Plate",
"min depth":0, "max depth":300e3,
"coordinates" :[[2000e3,100e3],[2000e3,-100e3],[3000e3,-100e3],[3000e3,100e3]],
"temperature models":[{"model":"plate model",
"min depth":0, "max depth":300e3,
"top temperature":273, "bottom temperature":-1,
"spreading velocity":0.1,
"ridge coordinates": [[[8000e3,-100e3],[8000e3,100e3]]]}],

"composition models": [
{"model":"tian water content", "compositions":[0], "min depth": 0, "max depth": 3e3, "lithology":"sediment", "initial water content":3, "cutoff pressure":1},
{"model":"tian water content", "compositions":[0], "min depth": 3e3, "max depth": 7e3, "lithology":"MORB", "initial water content":1, "cutoff pressure":16},
{"model":"tian water content", "compositions":[0], "min depth": 7e3, "max depth": 11e3, "lithology":"gabbro", "initial water content":0.5, "cutoff pressure":26},
{"model":"tian water content", "compositions":[0], "min depth": 11e3, "max depth": 20e3, "lithology":"peridotite", "initial water content":2, "cutoff pressure":10}]
},

{"model":"subducting plate", "name":"Slab",
"coordinates":[[2000e3,-100e3],[2000e3,100e3]],
"dip point":[0,0],"max depth":10000e3,
"segments":[{"length":250e3,"thickness":[300e3],"top truncation":[-50e3],"angle":[0,60]},
{"length":300e3, "thickness":[300e3],"top truncation":[-50e3], "angle":[60,80]},
{"length":500e3, "thickness":[300e3],"top truncation":[-50e3], "angle":[80,60]},
{"length":300e3, "thickness":[300e3],"top truncation":[-50e3], "angle":[60,40]},
{"length":300e3, "thickness":[300e3],"top truncation":[-50e3], "angle":[40,20]}],

"composition models":[
{"model":"tian water content", "compositions":[0], "density":3300, "min distance slab top":0, "max distance slab top":3e3, "lithology":"sediment", "initial water content":3, "cutoff pressure":1},
{"model":"tian water content", "compositions":[0], "density":3300, "min distance slab top":3e3, "max distance slab top":7e3, "lithology":"MORB", "initial water content":1, "cutoff pressure":16},
{"model":"tian water content", "compositions":[0], "density":3300, "min distance slab top":7e3, "max distance slab top":11e3, "lithology":"gabbro", "initial water content":0.5, "cutoff pressure":26},
{"model":"tian water content", "compositions":[0], "density":3300, "min distance slab top":11e3, "max distance slab top":20e3, "lithology":"peridotite", "initial water content":2, "cutoff pressure":10}],

"temperature models":[{"model":"mass conserving",
"reference model name": "plate model",
"density":3300,
"adiabatic heating":true,
"spreading velocity":0.1,
"subducting velocity":0.1,
"ridge coordinates":[[[8000e3,-100e3],[8000e3,100e3]]],
"coupling depth":80e3,
"forearc cooling factor":1.0,
"taper distance":100e3,
"min distance slab top":-200e3, "max distance slab top":300e3}]
}
]
}
32 changes: 32 additions & 0 deletions cookbooks/2d_cartesian_hydrated_slab/doc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
(part:user_manual:chap:cookbooks:sec:2d_cartesian_hydrated_slab)=
2D Hydrated Subducting Plate
======================

A simple setup of a subducting plate in a Cartesian box which contains hydrated lithologies. There are four lithologies, a 3 km
thick sediment layer, a 4 km thick mid-ocean ridge basalt (MORB) layer, a 4 thick gabbro layer, and a 9 km thick peridotite layer. The lithologies are specified to have an upper bound on the amount of bound water that they can hold of 3 wt%, 1 wt%, 0.5 wt%, and 2 wt% for sediment, MORB, gabbro, and peridotite, respectively.

The relevant part of the World Builder file for prescribing the water content within the unsubducted oceanic plate looks like this:

:::{literalinclude} ../2d_cartesian_hydrated_slab.wb
:language: json
:lineno-start: 22
:lines: 22-36
:::

while the relevant part of the World Builder file for prescribing the water content within the subducting oceanic plate looks like this:

:::{literalinclude} ../2d_cartesian_hydrated_slab.wb
:language: json
:lineno-start: 38
:lines: 38-65
:::

And the bound water content within the subducting plate looks like this:

:::{figure} bound-water_isotherms.png
:name: slab_bound_water
:alt: 3D Cartesian Rift cookbook temperature contour.
:align: center

The background is coloured by the bound wt% water, and isotherms are overlain on top at from 273 K to 1373 K at intervals of 100 K.
:::
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion cookbooks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ Cookbooks

This section contains self-contained cookbooks on how to design different geodynamic setups. Cookbook folders contain World Builder parameter files, grid output files, and optionally a documentation folder called `doc`. The documentation folder contains markdown files and figures, which are incorporated into the online documentation and explain particular features about the cookbook.


```{toctree}
:hidden:
3d_cartesian_rift/doc/README
3d_cartesian_transform_fault/doc/README
simple_subduction_2d_cartesian/doc/README
simple_subduction_2d_chunk/doc/README
2d_cartesian_hydrated_slab/doc/README
```

0 comments on commit b7ddfcc

Please sign in to comment.