Plutonic squishy / sluggish lid
Convection beneath a weak, yielding lid (intermediate mobility). Starter template.
Run it with:
bash
julia -t auto --project=. main.jl cases/examples/squishy_lid.tomlFull case file — cases/examples/squishy_lid.toml:
toml
# ══════════════════════════════════════════════════════════════════════════════
# EXAMPLE TEMPLATE — Plutonic "squishy" / sluggish lid (Venus-style regime)
#
# Whole-domain thermal convection beneath a weak, deformable lid — intermediate
# between the mobile (plate-tectonic) and stagnant-lid end-members. A strongly
# temperature-dependent (Arrhenius) viscosity stiffens the cold top, while a LOW
# yield stress lets that lid deform sluggishly instead of locking up. An
# off-centre hot perturbation breaks symmetry and nucleates convection.
#
# Diagnostic to watch: surface mobility M = V_surf / V_rms in bench.csv
# (M ~ O(1) mobile, M ≪ 1 stagnant; the squishy/sluggish lid sits in between).
# STARTER TEMPLATE, data-driven path. Lower the yield (a0/b0) for a more mobile
# lid, raise it toward stagnant. Tune before production. y = depth, positive DOWN.
# ══════════════════════════════════════════════════════════════════════════════
[model]
case = "squishy_lid" # unknown name → data-driven layers/init_T
[mesh]
dim = 2
xsize = 2000000.0 # 2000 km wide (aspect 2:1)
ysize = 1000000.0 # 1000 km deep
nx = 161
ny = 81
mnx = 4
mny = 4
[gravity]
gy = 9.81
[time]
maxxystep = 0.5
maxtmstep = 3.1556e13 # ~1 Myr cap
ntot = 500
[rheology]
eta_min = 1e19
eta_max = 1e25
[temperature]
T_top = 273.0
T_bot = 1773.0 # hot base (high Rayleigh number)
[physics]
do_stokes = true
do_heat = true
do_advect = true
do_adiabatic = false
do_shear_heating = true
do_friction = true # yielding lets the lid deform (squishy)
do_free_surface = false
do_radiogenic = false
# Closed convecting box: free-slip on all four walls.
[boundary_velocity]
bc_left = "free_slip"
bc_right = "free_slip"
bc_surface = "free_slip"
bc_deep = "free_slip"
[fe]
n_picard = 3
picard_tol = 1e-3
[solver]
type = "mumps"
[output]
dir = "output/squishy_lid"
every = 10
# ── Single mantle rock: Arrhenius creep + LOW yield (the "squishy" knob) ──────
[[rock]]
nu0=1e21 # reference viscosity
ro0=3300.0
alpha=3e-5
beta=0.0
cp=1000.0
kt=3.0
ht=0.0
mm=1.0
dh=120000.0 # activation energy → T-dependent viscosity
dv=0.0
ss=0.0
a0=1e7 # cohesion (Pa) — low, so the lid yields
b0=0.05 # friction coefficient — low → "squishy" lid
a1=1e6 # weakened cohesion
b1=0.01
e0=0.0
e1=0.5 # strain-softening window
nu_min=1e19
nu_max=1e25
immobile=false
G=0.0
# ── Geometry: single convecting layer everywhere ─────────────────────────────
[[layer]]
name = "mantle"
rock_id = 1
shape = "background"
# ── Initial temperature: conductive geotherm + off-centre hot blob ───────────
[[init_T]]
name = "geotherm"
shape = "background"
profile = "linear"
T_top = 273.0
T_bot = 1773.0
[[init_T]]
name = "perturbation"
shape = "gaussian"
profile = "gaussian"
xc = 700000.0 # off-centre → breaks left/right symmetry
yc = 800000.0
r0 = 120000.0
dT = 200.0
T_base = 1773.0