Skip to content

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

Full 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