You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/man/Tutorial_NumericalModel_3D.md
+44-15Lines changed: 44 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,8 @@ Temp = fill(1350.0, nx,ny,nz);
38
38
Much of the options are explained in the 2D tutorial, which can directly be transferred to 3D.
39
39
Therefore, we will start with a simple subduction setup, which consists of a horizontal part that has a mid-oceanic ridge on one explained
40
40
41
-
We use a lithospheric structure. Note that if the lowermost layer has the same phase as the mantle, you can define `Tlab` as the lithosphere-asthenosphere boundary which will automatically adjust the phase depending on temperature
41
+
We use a lithospheric structure, which can be specified with the `LithosphericPhases` structure, where you can indicate `Layers` (the thickness of each lithospheric layer, starting from the top), and `Phases` the phases of the corresponding layers.
42
+
Note that if the lowermost layer has the same phase as the mantle, you can define `Tlab` as the lithosphere-asthenosphere boundary which will automatically adjust the phase depending on temperature
Next, lets consider a somewhat more complicated setup
90
+
Next, lets consider a somewhat more complicated setup with curved slabs, an overriding plate and a thermal structure that transitions from half-space cooling to a slab that is heated from both sides
90
91
91
92
```julia
93
+
nx,ny,nz =512,512,128
94
+
x =range(-1000,1000, nx);
95
+
y =range(-1000,1000, ny);
96
+
z =range(-660,0, nz);
97
+
Grid =CartData(XYZGrid(x,y,z));
98
+
92
99
Phases =fill(2,nx,ny,nz);
93
100
Temp =fill(1350.0, nx,ny,nz);
94
101
```
95
102
96
-
Overriding plate
103
+
Overriding plate with a 30 km crust and mantle lithosphere that where T<1250 celsius
The starting thermal age at the trench is that of the horizontal part of the oceanic plate (which is different along-trench, given that we have 3 mid oceanic ridge segments!):
133
+
We want to add a smooth transition from a halfspace cooling 1D thermal profile to a slab that is heated by the surrounding mantle below a decoupling depth `d_decoupling`.
Finally, it is often nice to see the deformation of the plate when it subducts. A simple way to do that is to put a `stripes` on top using `addStripes`, which has the same phase as the subducting crust.
# Adding complex geometries to a model setup including sedimentary basins, lithospheric thinning and an accretionary prism
2
+
3
+
4
+
## Goal
5
+
6
+
This tutorial visualizes simplified geological as it is done here for a passive margin where lithospheric thinning, sedimentary basin and accretionary prism occur. The simplification is based on a polygon structure for a pseudo-3D model. While the structure can have a random shape in the `x`- and `z`-direction, in the `y`-direction only the extent is variable.
7
+
8
+
## Steps
9
+
10
+
#### 1. Set up your simplified background model
11
+
Before adding specific geological features, a general simplified model setup is necessary. The construction is made by using the `addBox!` function. For the model the discontinuities are in 15, 45, 145, and 945 km depth.
12
+
13
+
```julia
14
+
using GeophysicalModelGenerator
15
+
16
+
# number of cells in every direction
17
+
nx =100
18
+
ny =100
19
+
nz =200
20
+
21
+
# define domain size
22
+
x =LinRange(0.0,800.0,nx)
23
+
y =LinRange(0.0,800.0,ny)
24
+
z =LinRange(-660,50,nz)
25
+
Cart =CartData(XYZGrid(x, y, z))
26
+
27
+
# initialize phase and temperature matrix
28
+
Phase =ones(Int32,size(X))
29
+
Temp =ones(Float64,size(X))*1350
30
+
31
+
# add different phases: crust->2, Mantle Lithosphere->3 Mantle->1
To include the geological structures of a passive margin into the model, we use polygons for depths of up to 150 km. In the example, the sediment basin shows a more trapezoidal (2D in `x`-/`z`-direction) shape, while the thinning of the plate has a more triangular (2D in `x`-/`z`-direction). More complex structures can be build using arbitrarily sized polygons in `x`- and `z`-direction, wheraes in the `y`-direction only the length can be varied (specified by two values). The `x`- and `z`-values of the points need to be in the same order for selecting the correct point (P1(1/3), P2(2/2) --> xlim(1,2), ylim(3,2)).
41
+
42
+
43
+
```julia
44
+
# xlim: x-coordinates of the points, same ordering as zlim
45
+
# zlim: z-coordinates of the points, same ordering as xlim
46
+
# ylim: limits the object within the two ylim values
47
+
# unlimited number of points possible to create the polygon
After importing and looking at the file to paraview, some unresolved areas might be visible as they are visible in this model. That is due to the resolution and shape of the polygon. To reduce those artefacts an increase in resolution or a change of the polygon angle might help.
If you want to run the entire example, you can find the .jl code [here](https://github.com/JuliaGeodynamics/GeophysicalModelGenerator.jl/blob/main/tutorial/Tutorial_polygon_geometry.jl)
0 commit comments