Skip to content

GLM damping length on a seam ​

IDGroupMilestoneBackendsFigureRegression
G2Seam studiesM6 (#68)FNL onlyyes—

Case and scope ​

The GLM damping rate is ch2/cp2=αch/L with [mhd] glm_damping_length L a fixed length or min-cell (the finest spacing; with runtime AMR it is frozen at the spacing of max_level, D-M5-9). A per-level length, each level damping at its own spacing, does not exist. G2 asks whether it would matter, bracketing it between the coarse and the finest spacings on A2's source-free CPAW.

Models and numerics ​

ItemChoiceCode
Equationsideal MHD with mixed GLM, γ=5/3, glm_ch 2.0, glm_alpha 0.18models
Damping lengthglm_damping_length = 1.0, the coarse spacing Lx/N, or min-cellset_glm_damping, adam_flume_mhd_object.F90
Space, timeWENO5 flux splitting on characteristic variables; SSP Runge–Kutta 5 stages, CFL 0.4as in AD
Seam operatorsmean + tricubic, reflux onnumerics
D_fluxthe seam floor of [diagnostics] divb_fluxcompute_dflux_norms, adam_flume_fnl_object.F90

Initial and boundary conditions ​

ItemValue
Casethe cpaw leg of AD: source-free CPAW, [0,5]×[0,5/2], quadtree, two x seams (x∈[0.6,1.6] refined)
Gridrefined and uniform N = 64 / 128
Boundariesperiodic in x, y; extrapolation in z
Final time10 periods
Ranks2, FNL

Input files ​

FileRole
src/tests/flume/verification/amr-divb/make_amr_divb.py cpawthe CPAW inputs (--glm-damping-length: 1.0, the coarse spacing, min-cell)
src/tests/flume/verification/amr-divb/amr_divb_oracle.py growththe seam floor and its growth
src/tests/flume/verification/make_doc_runs.sh <runs> divb (FNL), make_doc_figures.py --only glm-dampingre-runs the CPAW with the coarse spacing and min-cell (--glm-damping-length), N=64 and 128; the 1.0 runs are those of AD

Results ​

G2: the seam D_flux per damping length

FNL: the seam maximum of D_flux on the source-free CPAW for the three damping lengths, refined N=64 and 128. The re-runs reproduce the table below (the medians of the second half): every length bounded, min-cell doubling the floor at N=128.

glm_damping_lengthrate ch2/cp2 (N = 128)seam D_flux floor N = 64 / 128× uniform (N = 128)growth N = 128
1.0 (A2)0.365.39⋅10−4 / 5.43⋅10−51190.72
coarse spacing Lx/N20.66.96⋅10−4 / 5.32⋅10−51161.02
min-cell (finest spacing)41.28.30⋅10−4 / 1.07⋅10−42331.01

Related cases: AD is the A2 baseline (first row); the uniform-grid cleaning is GLM divergence cleaning.

Findings ​

  • Every length keeps the seam divergence bounded (growth 0.72 to 1.02 over 10 periods).
  • Strong damping raises the seam floor: min-cell doubles it at N=128 against the coarse spacing or the domain-scale length; a per-level length (between the coarse and the finest spacings) would sit between them.
  • The D-M5-9 freeze stays (the plan's choice): its cost on this test is at most that factor 2 on the floor, with the damping rate fixed through regrids. No per-level option is added.