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.tomlFull 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