Set of input scripts to readily learn how to create more complex input setup for [email protected] (https://github.com/JuliaGeodynamics/LaMEM.jl)
Individual report: 3 pages of text max (figures not included)
- Scientific questions: What are you trying to answer/solve? Why this model setup? How can the model setup can help solve the questions? What are the parameters that need to be investigated?
- Modelling approach: Model setup, geometry, boundary conditions (top, bottom, etc), thermal and mechanical material properties and investigated parameters.
- Modelling results: Describe modelling results, including figures produced using paraview.
- Discussion/perspectives: What did you learn? What are the limitations? How can it be improved? What would be the next step? How do the models compare to a real/natural case?
Important
For the figures make sure you have the axis properly labelled, provide colorbar and caption for all fields and contour/glyphs. Annotate time (CTRL+SPACE Annotate time) Explore the control of 1 or 2 parameters Hand-over March 29th - 2024 Attach the Julia script to your report (send per mail)
Falling blocks 3D | Falling block 2D |
---|---|
![]() |
![]() |
Falling block - free surface 2D | Plume emplacement - stagnant LID 2D |
---|---|
![]() |
![]() |
Folding 2D | Rifting 2D |
---|---|
![]() |
![]() |
Subduction 2D | Landscape Modelling |
---|---|
![]() |
![]() |
Julia_introduction/IntroJulia.md
phase_diagrams_4_LaMEM/
sudo apt-get install imagemagick
convert -delay 2 -loop 0 *.png 01.gif -scale 584x626 gif_name.gif
[Hirth, G. & Kohlstedt (2003), D. Rheology of the upper mantle and the mantle wedge: A view from the experimentalists]
- "Dry_Olivine_diff_creep-Hirth_Kohlstedt_2003"
- "Wet_Olivine_diff_creep-Hirth_Kohlstedt_2003_constant_C_OH"
- "Wet_Olivine_diff_creep-Hirth_Kohlstedt_2003"
[Rybacki and Dresen, 2000, JGR]
- "Dry_Plagioclase_RybackiDresen_2000"
- "Wet_Plagioclase_RybackiDresen_2000"
[Ranalli 1995]
- "Dry_Olivine-Ranalli_1995"
- "Wet_Olivine-Ranalli_1995"
- "Wet_Quarzite-Ranalli_1995"
- "Quarzite-Ranalli_1995"
- "Mafic_Granulite-Ranalli_1995"
- "Plagioclase_An75-Ranalli_1995"
[Carter and Tsenn (1986). Flow properties of continental lithosphere - page 18]
- "Quartz_Diorite-Hansen_Carter_1982"
[J. de Bremond d'Ars et al./Tectonophysics (1999). Hydrothermalism and Diapirism in the Archaean: gravitational instability constrains. - page 5]
- "Diabase-Caristan_1982"
- "Tumut_Pond_Serpentinite-Raleigh_Paterson_1965"
[Mackwell, Zimmerman & Kohlstedt (1998). High-temperature deformation]
- "Maryland_strong_diabase-Mackwell_et_al_1998"
[Ueda et al (PEPI 2008)]
- "Wet_Quarzite-Ueda_et_al_2008"
[Huismans et al 2001]
- "Diabase-Huismans_et_al_2001"
- "Granite-Huismans_et_al_2001"
[Burg And Podladchikov (1999)]
- "Dry_Upper_Crust-Schmalholz_Kaus_Burg_2009"
- "Weak_Lower_Crust-Schmalholz_Kaus_Burg_2009"
- "Olivine-Burg_Podladchikov_1999"
[Rybacki and Dresen, 2000, JGR]
- "Dry_Plagioclase_RybackiDresen_2000"
- "Wet_Plagioclase_RybackiDresen_2000"
[Hirth, G. & Kohlstedt (2003), D. Rheology of the upper mantle and the mantle wedge: A view from the experimentalists]
- "Wet_Olivine_disl_creep-Hirth_Kohlstedt_2003"
- "Wet_Olivine_disl_creep-Hirth_Kohlstedt_2003_constant_C_OH"
- "Dry_Olivine_disl_creep-Hirth_Kohlstedt_2003"
[SchmalholzKausBurg(2009), Geology (wet olivine)]
- "Wet_Upper_Mantle-Burg_Schmalholz_2008"
- "Granite-Tirel_et_al_2008"
[Urai et al.(2008)]
- "Ara_rocksalt-Urai_et_al.(2008)"
[Bräuer et al. (2011) Description of the Gorleben site (PART 4): Geotechnical exploration of the Gorleben salt dome - page 126]
- "RockSaltReference_BGRa_class3-Braeumer_et_al_2011"
[Mueller and Briegel (1978)]
- "Polycrystalline_Anhydrite-Mueller_and_Briegel(1978)"
[Guyot and Dorn (1967) and Poirier (1985)]
- "Olivine_Peierls-Kameyama_1999"
The code snipped shows how to add a velocity box to a LaMEM model.
vel_box = VelocityBox( cenX = 1.0, # X-coordinate of center of box
cenY = 1.0, # Y-coordinate of center of box
cenZ = 1.0, # Z-coordinate of center of box
widthX = 1.0, # Width of box in x-direction
widthY = 2.0, # Width of box in y-direction
widthZ = 0.1, # Width of box in z-direction
vx = 1.0, # Vx velocity of box (default is unconstrained)
vy = 0.0, # Vy velocity of box (default is unconstrained)
vz = 0.0, # Vz velocity of box (default is unconstrained)
advect = 0) # box advection flag
add_vbox!(model, vel_box)
Simple example on how to set in flow/outflow boundary conditions on left and right walls for the lithosphere
model.BoundaryConditions = BoundaryConditions( bvel_face = "Left", # Face identifier (Left; Right; Front; Back; CompensatingInflow)
bvel_face_out = 1, # Velocity on opposite side: -1 for inverted velocity; 0 for no velocity; 1 for the same direction of velocity
bvel_bot = -100.0, # bottom coordinate of inflow window
bvel_top = 0.0, # top coordinate of inflow window
bvel_velin = 1.0, # inflow velocity for each time interval(Multiple values required if velin_num_periods>1)
bvel_velout = 1.0) # outflow velocity (if not specified, computed from mass balance)
Example showing how to load Askja volcano topography to LaMEM
Topo = import_topo( lat=[64.55,65.55],
lon=[-18.0+360,-15.6+360],
file="@earth_relief_15s.grd")
# choose projection point (center usually)
proj = ProjectionPoint( Lon = -16.8,
Lat = 65.05);
Topo_cart = convert2CartData(Topo, proj)
# Create a grid to be saved
Topo_LaMEM = CartData(xyz_grid(-20:.2:20,
-20:.2:20,
0 ));
Topo_LaMEM = project_CartData( Topo_LaMEM,
Topo,
proj )
add_box!(model; xlim = (-2000.0, 0.0),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
phase = LithosphericPhases(Layers=[20 80], Phases=[1 2 0] ),
T = SpreadingRateTemp( Tsurface = Tair,
Tmantle = Tmantle,
MORside = "left",
SpreadingVel= 0.5,
AgeRidge = 0.01;
maxAge = 80.0 ) )
T_box = PhaseTransition(
ID = 0, # Phase_transition law ID
Type = "Box", # A box-like region
PTBox_Bounds = [1980 ,2000, -4, 4, -160, 0.0], # box bound coordinates: [left, right, front, back, bottom, top]
BoxVicinity = 1, # 1: only check particles in the vicinity of the box boundaries (*2 in all directions)
number_phases = 1,
PhaseInside = -1, # Phase within the box [use -1 if you don't want to change the phase inside the box]
PhaseOutside = -1, # Phase outside the box [use -1 if you don't want to change the phase outside the box. If combined with OutsideToInside, all phases that come in are set to PhaseInside]
PhaseDirection = "BothWays", # [BothWays=default; OutsideToInside; InsideToOutside]
PTBox_TempType = "linear", # Temperature condition witin the box [none, constant, linear, halfspace]
PTBox_topTemp = 20, # Temp @ top of box [for linear & halfspace]
PTBox_botTemp = 1280, # Temp @ bottom of box [for linear & halfspace]
PTBox_thermalAge = 120, # Thermal age, usually in geo-units [Myrs] [only in case of halfspace]
PTBox_cstTemp = 1200, # Temp within box [only for constant T]
)
add_phasetransition!(model, T_box)