Skip to content

Continental rifting

Divergent walls with a weak crustal seed that localises a rift.

Run it with:

bash
julia -t auto --project=. main.jl cases/extension.toml

Full case file — cases/extension.toml:

toml
# ══════════════════════════════════════════════════════════════════════════════
# Continental extension (Brune et al. style).  Two walls pulled apart, weak
# crustal seed in the centre localises strain → rift develops.
# ══════════════════════════════════════════════════════════════════════════════

[model]
case = "extension"

dim   = 2
xsize = 800000.0
ysize = 200000.0
nx    = 201
ny    = 51
mnx   = 4
mny   = 4

gx = 0.0
gy = 9.81
pinit = 0.0

eta_min = 1e18
eta_max = 1e24

maxxystep = 0.5
maxtkstep = 20.0
maxtmstep = 3.1556e12
ntot      = 100

do_stokes        = true
do_heat          = true
do_advect        = true
do_adiabatic     = false
do_shear_heating = true
do_friction      = true
do_phase_change  = false
do_melting       = false
do_free_surface  = true
do_radiogenic    = true

fe_order_v = 2
fe_order_p = 1
fe_order_T = 1
n_picard   = 3
picard_tol = 1e-3

nonlinear_method = "picard"
newton_damping   = 1.0

solver_type  = "mumps"
krylov_tol   = 1e-7
krylov_maxit = 200
gmg_levels   = 3

output_dir   = "output/extension"
output_every = 10
str_min      = 1e-18

T_top = 273.0
T_bot = 1623.0

trench_x            = 0.0
plate_thickness     = 120000.0
plate_age           = 0.0
continent_thickness = 120000.0
air_thick           = 20000.0

# Walls pull apart at 1 cm/yr each
x_plate_left   = 0.0
x_plate_right  = 0.0
vx_plate       = -3.171e-10    # left wall moves leftward (–1 cm/yr)
vx_plate_right =  3.171e-10    # right wall moves rightward (+1 cm/yr)

air_rock_id    = 1
surface_smooth = 0.0

# Rocks: 1=air, 2=weak seed, 3=continental crust, 4=lith mantle, 5=asthenosphere
[[rock]]
nu0=1e18
ro0=1000.0
alpha=0.0
beta=0.0
cp=1000.0
kt=50.0
ht=0.0
mm=1.0
dh=0.0
dv=0.0
ss=0.0
a0=0.0
b0=0.0
a1=0.0
b1=0.0
e0=0.0
e1=1.0
nu_min=1e18
nu_max=1e19
immobile=false
G=0.0

[[rock]]   # weak seed (low cohesion, easy yield)
nu0=1e20
ro0=2700.0
alpha=3e-5
beta=0.0
cp=1000.0
kt=2.5
ht=1e-6
mm=1.0
dh=0.0
dv=0.0
ss=0.0
a0=1e6
b0=0.0
a1=1e5
b1=0.0
e0=0.0
e1=0.05
nu_min=1e18
nu_max=1e21
immobile=false
G=2e10

[[rock]]   # continental crust
nu0=1e22
ro0=2750.0
alpha=3e-5
beta=0.0
cp=1000.0
kt=2.5
ht=1e-6
mm=1.0
dh=0.0
dv=0.0
ss=0.0
a0=2e7
b0=0.6
a1=2e6
b1=0.06
e0=0.0
e1=0.2
nu_min=1e19
nu_max=1e24
immobile=false
G=3e10

[[rock]]   # lithospheric mantle
nu0=1.97e17
ro0=3300.0
alpha=3e-5
beta=1e-11
cp=1000.0
kt=3.0
ht=2.5e-8
mm=1.0
dh=154000.0
dv=0.3
ss=0.0
a0=3e7
b0=0.1
a1=3e6
b1=0.0
e0=0.0
e1=0.2
nu_min=1e19
nu_max=1e24
immobile=false
G=7e10

[[rock]]   # asthenosphere
nu0=1.97e17
ro0=3300.0
alpha=3e-5
beta=1e-11
cp=1000.0
kt=3.0
ht=2.5e-8
mm=2.3
dh=154000.0
dv=0.3
ss=3e4
a0=1e6
b0=0.03
a1=1e5
b1=0.01
e0=0.0
e1=0.1
nu_min=1e18
nu_max=1e23
immobile=false
G=7e10