Featured image of post Limited Variational Reconstruction v2: formulation and validation

Limited Variational Reconstruction v2: formulation and validation

Updated 2026-09-29. This post collects the mathematical definition, method-development path, Lax shock-band refinement, and the completed or active production evidence for Limited Variational Reconstruction v2 (LVR v2). Raw solver output remains outside this repository. The linked study records contain the exact configurations, executable and mesh hashes, commands, manifests, and acceptance checks.

Purpose and current status

LVR changes the reconstruction solve itself. It does not first compute an unlimited high-order polynomial and then replace or rescale that polynomial in a separate limiter pass. A shock sensor built from cell averages and an explicit limited second-order reconstruction selects a penalty that pulls the high-order variational reconstruction toward the limited second-order polynomial. The reconstruction system remains linear in the high-order coefficients during each solve, while its target and penalty strength depend nonlinearly on the current cell averages.

The current candidate is LVR v2:

  • P3 variational reconstruction;
  • a characteristic WBAP-limited explicit Green–Gauss O2 polynomial used for both sensing and the penalty target;
  • the pressure-jump/compression product gate;
  • a shock-supported pressure-extremum correction that closes the weak-gate shoulder beside a strong one-dimensional shock;
  • conditional retention and a bounded, one-neighbour seed extension;
  • positivity protection of the O2 facial states;
  • HQM_OPT derivative weights as the primary candidate and Factorial weights as a maintained comparison;
  • maximum penalty fraction $\alpha_{max}=0.5$ in the canonical v2 setting.

The internal configuration value gateMode=8 selects this implementation. It is an enum value, not an “eighth formula”; the public method name is LVR v2.

Evidence setCurrent state
Lax shock-band reductioncomplete; near-shock plateau oscillation reduced by about 94%
Extended one-dimensional and cylinder validationcomplete, with the recorded Roe double-rarefaction limitation
Canonical 13-method compact matrixall 78 runs complete
Canonical 13-method DM240U matrix on thtj1all 13 accepted runs complete
Structured 400 x 400 2-D Riemann on thtj1all four runs complete
Delaunay 246U 2-D Riemann on thtj1all four accepted runs and final snapshots complete

Terminology used in this post

TermMeaning in these studies
cell mean or cell averagefinite-volume conserved state stored for one cell
O2 or Explicit GG O2linear, formally second-order polynomial built by an explicit Green–Gauss gradient
P3degree-three polynomial reconstruction, formally fourth order in a smooth region
VRthe unpenalized variational reconstruction solve
LVRVR with the shock-dependent penalty toward a limited O2 target
LVR v2the selected product gate plus shock-supported pressure-extremum correction defined below
WBAPthe characteristic face-based weighted biased averaging limiter used for the selected O2 target
Barththe scalar Barth limiter available as an alternative O2 target
3WBAPthe code’s conventional fully limited P3 WBAP path
CWBAPthe code’s conventional compact WBAP variant for fully limiting P3
HQM_OPT, Factorialtwo derivative-weight schemes used to define the P3 variational-reconstruction functional
Rusanov or Roe M2local Lax–Friedrichs/Rusanov numerical flux in the DNDSR configuration
Roe M8/M9entropy-fixed, H-corrected Roe-family flux variants tested in the extended studies
$\rho$density
$\rho E$total energy per unit volume
$\chi$normalized LVR gate $\alpha/\alpha_{max}$ used in contour plots

Reconstruction penalty: self-contained definition

Consider one finite-volume cell $i$. Its cell mean is fixed during a reconstruction solve. The unknown $\mathbf r_i$ contains all non-mean polynomial coefficients for every reconstructed physical variable in that cell. Let $\mathcal N(i)$ be the cells sharing an internal face with cell $i$. The ordinary linear variational-reconstruction block equation is

$$ \mathbf A_i\mathbf r_i =\sum_{j\in\mathcal N(i)}\mathbf B_{ij}\mathbf r_j+\mathbf b_i. $$
SymbolDefinition
$i$cell whose reconstruction is being updated
$j$face-neighbour cell of $i$
$\mathcal N(i)$set of cells sharing an internal face with $i$
$\mathbf r_i$vector of high-order polynomial coefficients in cell $i$, excluding the fixed mean
$\mathbf A_i$cell-local diagonal block of the variational-reconstruction system
$\mathbf B_{ij}$block coupling neighbour $j$ into cell $i$
$\mathbf b_i$terms fixed during this reconstruction solve, including dependence on current cell means

The unpenalized block Jacobi or block Gauss–Seidel target is

$$ \mathbf G_i=\mathbf A_i^{-1} \left(\sum_{j\in\mathcal N(i)}\mathbf B_{ij}\mathbf r_j+\mathbf b_i\right). $$

Here $\mathbf G_i$ means the update the original VR scheme would produce before relaxation. Let $\mathbf r_i^{O2}$ be the coefficient vector of the explicit, limited O2 polynomial. LVR adds the local quadratic penalty

$$ J_i^{LVR}=\frac{\lambda_i}{2} (\mathbf r_i-\mathbf r_i^{O2})^T\mathbf A_i (\mathbf r_i-\mathbf r_i^{O2}), $$

where $\lambda_i\ge0$ is the unbounded penalty strength and the superscript $T$ denotes transpose. Choosing the penalty matrix as $\lambda_i\mathbf A_i$ is the key algebraic step: it preserves the cached local inverse structure. The penalized cell equation becomes

$$ (1+\lambda_i)\mathbf A_i\mathbf r_i =\sum_{j\in\mathcal N(i)}\mathbf B_{ij}\mathbf r_j +\mathbf b_i+\lambda_i\mathbf A_i\mathbf r_i^{O2}. $$

Define the bounded penalty fraction

$$ \alpha_i=\frac{\lambda_i}{1+\lambda_i}, \qquad 0\le\alpha_i\le1. $$

The exact penalized block target and relaxed iteration are then

$$ \mathbf T_i=(1-\alpha_i)\mathbf G_i+\alpha_i\mathbf r_i^{O2}, $$$$ \mathbf r_i^{new} =(1-\omega_i)\mathbf r_i^{old}+\omega_i\mathbf T_i. $$
SymbolDefinition
$J_i^{LVR}$quadratic penalty added in cell $i$
$\lambda_i$unbounded penalty strength; $0$ gives ordinary VR and $\lambda_i\rightarrow\infty$ gives the O2 target
$\alpha_i$bounded penalty fraction corresponding to $\lambda_i$
$\mathbf r_i^{O2}$limited explicit O2 target polynomial in cell $i$
$\mathbf T_i$exact local target of the penalized block equation
$\omega_i$existing block Jacobi/GS/SOR relaxation factor
$\mathbf r_i^{old},\mathbf r_i^{new}$coefficient vectors before and after one reconstruction iteration

Thus $\alpha_i=0$ exactly recovers the original VR update. The limit $\alpha_i=1$ selects $\mathbf r_i^{O2}$ directly. No new cell-block inversion is required. A different penalty matrix would generally require recomputing the local inverse.

The O2 target and all sensor values are rebuilt from the current cell-average conservative state at every residual evaluation. They remain fixed during the reconstruction subiterations of that residual evaluation. The solve is therefore linear in $\mathbf r_i$ even though the residual-to-residual mapping is nonlinear in the evolving cell means.

O2 target and original shock gate

The selected O2 reference starts from an explicit Green–Gauss gradient. A face-based characteristic WBAP limiter acts on that gradient, and a facial positivity contraction may pull the O2 polynomial toward the cell mean. This same finalized polynomial supplies both the sensor values and $\mathbf r_i^{O2}$. Barth-based LVR remains available as a separately labelled ablation; unqualified “LVR v2” in this post means the WBAP-based path.

For an internal face $f$, let $L$ and $R$ identify the cells on its two sides, and let the unit normal $\mathbf n_f$ point from $L$ to $R$. The O2 polynomials provide face pressure $p_{L,f},p_{R,f}$, velocity $\mathbf v_{L,f},\mathbf v_{R,f}$, and sound speed $c_{L,f},c_{R,f}$. Define

$$ j_{p,f}=\frac{2|p_{R,f}-p_{L,f}|} {\max(p_{L,f}+p_{R,f},\varepsilon_{p,f})}, $$$$ j_{c,f}=\frac{\max\left(0, (\mathbf v_{L,f}-\mathbf v_{R,f})\mathbin{\cdot}\mathbf n_f\right)} {\max((c_{L,f}+c_{R,f})/2,\varepsilon_{c,f})}. $$
SymbolDefinition
$f$one internal face
$L,R$cells on the left and right of $f$ relative to $\mathbf n_f$
$\mathbf n_f$unit face normal directed from $L$ to $R$
$p_{L,f},p_{R,f}$limited-O2 pressures reconstructed to face $f$
$\mathbf v_{L,f},\mathbf v_{R,f}$limited-O2 velocities reconstructed to face $f$
$c_{L,f},c_{R,f}$sound speeds derived from the limited-O2 face states
$j_{p,f}$nondimensional pressure-jump indicator
$j_{c,f}$nondimensional normal-compression indicator; it is zero in expansion
$\varepsilon_{p,f},\varepsilon_{c,f}$small scale-aware denominator guards, not tuning parameters

For a nonnegative indicator $z$, its cubic start-to-full response is

$$ S(z;z_0,z_1)= \begin{cases} 0,&z\le z_0,\\ q^2(3-2q),&z_0\lt z\lt z_1,\\ 1,&z\ge z_1, \end{cases} \qquad q=\frac{z-z_0}{z_1-z_0}. $$

Here $z_0$ is the threshold below which the response is exactly zero, $z_1$ is the threshold at which the response reaches one, and $q$ is the normalized position between them. Let $\mathcal F(i)$ be the internal faces incident on cell $i$. The original product-gate response is

$$ a_i=\max_{f\in\mathcal F(i)}\left\{ \alpha_{max}S(j_{p,f};j_{p0},j_{p1})S(j_{c,f};j_{c0},j_{c1}) \right\}. $$
SymbolDefinition
$a_i$original pressure-jump/compression product-gate value in cell $i$
$\mathcal F(i)$set of internal faces incident on cell $i$
$j_{p0},j_{p1}$pressure-jump start and full-response thresholds
$j_{c0},j_{c1}$compression start and full-response thresholds
$\alpha_{max}$configured upper bound for the penalty fraction

The product makes the gate exactly zero when either pressure jump or compression is absent. This suppresses activation at a pure contact, shear layer, or expansion.

LVR v2 near-shock correction

The original product gate left a weakly covered shoulder beside the Lax right-moving shock because the strongest pressure jump and strongest compression occurred on different faces. Threshold and $\alpha_{max}$ tuning could not repair this geometric offset. LVR v2 therefore detects a shock-supported pressure extremum next to the already-detected core.

Let $p_i$ be the cell-average pressure. A neighbour $j\in\mathcal N(i)$ is pressure-equal when

$$ |p_j-p_i|\le\tau_p\max(|p_i|,|p_j|,\varepsilon), $$

where $\tau_p$ is a relative tolerance and $\varepsilon=10^{-30}$ only guards zero pressure in the comparison. Pressure-equal neighbours are omitted from the extremum calculation. Let $\mathcal N_v(i)$ be the remaining pressure-varying neighbours. The normalized extremum magnitude is

$$ e_i= \begin{cases} \dfrac{p_i-\max_{j\in\mathcal N_v(i)}p_j} {\max\left(|p_i|,\left|\max_{j\in\mathcal N_v(i)}p_j\right|,\varepsilon\right)}, &p_j\lt p_i\ \text{for every }j\in\mathcal N_v(i),\\[1.0em] \dfrac{\min_{j\in\mathcal N_v(i)}p_j-p_i} {\max\left(|p_i|,\left|\min_{j\in\mathcal N_v(i)}p_j\right|,\varepsilon\right)}, &p_j\gt p_i\ \text{for every }j\in\mathcal N_v(i),\\[1.0em] 0,&\text{otherwise}. \end{cases} $$

The first branch detects a strict local maximum among pressure-varying neighbours; the second detects a strict local minimum. The correction is not seeded in boundary-adjacent cells. Let $n_{eq,i}$ be the number of pressure-equal face neighbours. The correction requires $n_{eq,i}\ge m_t$. The parameter $m_t$ is a neighbour count, not a number of halo layers.

The original gate in neighbouring cells supplies the shock-support value

$$ s_i=\max_{j\in\mathcal N(i)}\frac{a_j}{\alpha_{max}}. $$

The instantaneous extremum response, retained response, and correction seed are

$$ r_i=S(e_i;e_0,e_1)S(s_i;s_0,s_1), $$$$ r_i^{ret}=\eta\frac{\alpha_i^{old}}{\alpha_{max}}S(s_i;s_0,s_1), $$$$ c_i=\alpha_{max}\max(r_i,r_i^{ret}). $$

The final LVR v2 penalty fraction is

$$ \alpha_i=\max\left(a_i,c_i,\max_{j\in\mathcal N(i)}c_j\right). $$
SymbolDefinition
$p_i,p_j$cell-average pressures in cells $i$ and $j$
$\tau_p$relative tolerance used to classify pressure-equal neighbours
$\mathcal N_v(i)$neighbours whose pressure is not pressure-equal to $p_i$
$e_i$normalized strict pressure-extremum magnitude
$n_{eq,i}$number of pressure-equal face neighbours
$m_t$minimum pressure-equal neighbour count required for a correction seed
$s_i$nearby support from the original product gate, normalized by $\alpha_{max}$
$e_0,e_1$extremum start and full-response thresholds
$s_0,s_1$shock-support start and full-response thresholds
$r_i$instantaneous correction response
$\eta$retained fraction from the preceding reconstruction/RHS update
$\alpha_i^{old}$corrected penalty fraction from that preceding update
$r_i^{ret}$response retained while current shock support remains present
$c_i$correction seed before its one-neighbour extension
$\alpha_i$final LVR v2 penalty fraction used in the reconstruction update

Because $c_i\gt0$ requires original-gate support in a face neighbour, a seed can be at most one face-graph hop from the original support ${i:a_i\gt0}$. The final neighbour maximum extends that seed by one more hop. The v2 correction can therefore reach at most two face-neighbour hops from the original detected region, but it is not a uniform two-layer dilation: the first-hop cell must pass every extremum, support, boundary, and equal-neighbour test. The selected runs set the separate generic gateHaloLayers value to zero.

The canonical v2 parameters are:

Mathematical symbolConfiguration fieldValueMeaning
$j_{p0},j_{p1}$pressureJumpStart, pressureJumpFull0.04, 0.16pressure-jump start and full response
$j_{c0},j_{c1}$compressionStart, compressionFull0.03, 0.13compression start and full response
$\alpha_{max}$alphaMax0.50maximum penalty fraction
$e_0,e_1$oscillationExtremumStart, oscillationExtremumFull0.001, 0.008extremum start and full response
$s_0,s_1$oscillationSupportStart, oscillationSupportFull0.02, 0.15nearby shock-support start and full response
$\eta$oscillationRetention0.95retained response fraction
$\tau_p$oscillationTransverseTolerance$10^{-8}$pressure-equal relative tolerance
$m_t$oscillationMinTransverseNeighbours2required pressure-equal neighbour count
$n_h$gateHaloLayers0extra generic face-graph halo depth

The equal-neighbour guard deliberately recognizes the locally one-dimensional extruded Lax topology. It is experimentally validated but is not yet a mesh-independent multidimensional shock criterion.

Formulation progress

StageResult
Initial penalty studyEstablished the exact $\mathbf A_i$-weighted convex pull and showed that cached block inverses remain valid.
O2 target comparisonReplaced the initial Barth-only target with a selectable characteristic WBAP target; the WBAP target became canonical.
Derivative-weight tuningCompared Factorial and HQM_OPT reconstruction functionals; HQM_OPT reduced the Lax shoulder oscillation and improved the cylinder residual behavior.
Product-gate tuningTuned $j_{p0},j_{p1},j_{c0},j_{c1},\alpha_{max}$ on Lax and the Mach-20 cylinder, while retaining exactly zero penalty in smooth cells.
LVR v2 correctionAdded the shock-supported extremum correction, retention, equal-neighbour guard, and bounded seed extension.
Flux and case extensionTested Rusanov, Roe M8/M9, Sod, Toro 123, two-shock, Shu–Osher, and the cylinder.
Multidimensional productionCompleted aligned and unstructured Double Mach reflection, the 13-method DM240U matrix, and both structured and matched-cell-count Delaunay 2-D Riemann comparisons.

The detailed development reports are initial validation, parameter tuning, WBAP O2 retuning, HQM_OPT joint tuning, shock-band correction, and extended v2 validation. These links require access to the private study repository.

Lax shock-band reduction

At $t=0.15$ on the maintained 400-cell Lax tube, the original product gate left a pressure overshoot/undershoot on the constant state immediately beside the right-moving shock. The corrected v2 gate expanded from five to nine active cells and nearly flattened this shoulder without changing the curved Mach-20 cylinder result.

MethodWrong-direction pressure excursionWrong-direction density excursionDownstream left-plateau pressure rangeDensity $L_1$Active cells
Fully limited P3 3WBAP000.07173not reduced in this studyall
Original product LVR, WBAP O2, HQM_OPT0.114520.043560.09046$4.208\times10^{-3}$5
LVR v2, WBAP O2, HQM_OPT0.006860.002790.00495$4.284\times10^{-3}$9
LVR v2, WBAP O2, Factorial0.008080.003130.01502$5.725\times10^{-3}$9

For this right-moving shock, the nearly constant region immediately to its left is the downstream, post-shock plateau. For HQM_OPT, the correction reduces the pressure excursion by 94.0% and that plateau’s pressure range by 94.5%, while density $L_1$ rises only 1.8%. On the Mach-20 cylinder, corrected and original HQM_OPT histories are numerically identical: final absolute density $L_1$ residual $1.405\times10^{-8}$, 684 active cells, no wall or far-field activation, a two-cell centerline shock, and stagnation density 6.11134.

Lax shock-band outcome

Adaptive downstream plateau flatness comparison

Gate refinement around the Lax shock

Extended compact-case validation

The extended study used exact cell-averaged Riemann solutions and an independent 20,000-cell characteristic WENO5 reference for Shu–Osher. Roe M8 and M9 reduce Lax, Sod, two-shock, and Shu–Osher errors relative to Rusanov, but both Roe variants stall on the Toro 123 double-rarefaction case with the tested positivity configuration. Rusanov remains the robust cylinder choice.

Representative density $L_1$ values for LVR v2/HQM_OPT are:

CaseRusanovRoe M8Roe M9
Lax0.0043100.0035940.003602
Sod0.0014910.0012820.001285
Toro 123 double rarefaction0.004974stalledstalled
Two-shock0.098270.096480.09630
Shu–Osher0.030550.023410.02359

The v2 correction is intentionally narrow: it fixes the Lax weak-gate gap, remains inactive on the curved cylinder bow shock, and does not turn the whole post-shock Shu–Osher wave train into an O2 solution.

Lax near-shock detail

ShuOsher method comparison

Canonical 13-method matrix

The thtj1 campaign compares 13 configurations:

  1. Explicit GG O2 with WBAP limiting;
  2. LVR v2 with WBAP O2 target, HQM_OPT weights, $\alpha_{max}=0.5$;
  3. the same with $\alpha_{max}=1$;
  4. LVR v2 with WBAP O2 target, Factorial weights, $\alpha_{max}=0.5$;
  5. the same with $\alpha_{max}=1$;
  6. LVR v2 with Barth O2 target, HQM_OPT weights, $\alpha_{max}=0.5$;
  7. the same with $\alpha_{max}=1$;
  8. LVR v2 with Barth O2 target, Factorial weights, $\alpha_{max}=0.5$;
  9. the same with $\alpha_{max}=1$;
  10. fully limited P3 3WBAP with HQM_OPT weights;
  11. fully limited P3 3WBAP with Factorial weights;
  12. fully limited P3 CWBAP with HQM_OPT weights;
  13. fully limited P3 CWBAP with Factorial weights.

The compact suite contains the Mach-20 cylinder plus Lax, Sod, Toro 123, two-shock, and Shu–Osher: 78 runs in total. Every run completed. The two tables below present every case twice. The first layout overlays all 13 methods in one plot. The second uses a controlled $2\times2$ layout to isolate method family, derivative weights, $\alpha_{max}$, and O2-target limiter.

All 13 methods in one layout

Each row gives the full case and a detailed view. Shock-tube details include states on both sides of the selected wave. Toro 123 has no shock, so its detail crosses the right rarefaction front. The Shu–Osher detail focuses on the post-shock entropy-wave train. For the steady cylinder, the complementary detail is the absolute density $L_1$ residual history because it distinguishes convergence floors that are hidden by the final centerline profile.

CaseFull view, all 13 methodsDetailed view, all 13 methods
Mach-20 cylinderMach-20 cylinder centerline density, all 13 methodsMach-20 cylinder residual history, all 13 methods
Lax shock tubeLax full view, all 13 methodsLax shock detail, all 13 methods
Sod shock tubeSod full view, all 13 methodsSod shock detail, all 13 methods
Toro 123 double rarefactionToro 123 full view, all 13 methodsToro 123 rarefaction detail, all 13 methods
Two-shock problemTwo-shock full view, all 13 methodsTwo-shock detail, all 13 methods
Shu–OsherShuOsher full view, all 13 methodsShuOsher post-shock wave detail, all 13 methods

The separate all-method Shu–Osher shock-front detail is also retained:

ShuOsher shock-front detail, all 13 methods

Controlled $2\times2$ factor layouts

Each $2\times2$ figure uses the same four comparisons:

  1. Explicit O2, LVR v2, 3WBAP, and CWBAP with HQM_OPT weights;
  2. HQM_OPT versus Factorial derivative weights;
  3. LVR v2 with $\alpha_{max}=0.5$ versus $\alpha_{max}=1$;
  4. WBAP-based versus Barth-based LVR v2 O2 targets.
CaseFull-view $2\times2$ layoutDetailed-view $2\times2$ layout
Mach-20 cylinderMach-20 cylinder full factor gridMach-20 cylinder residual factor grid
Lax shock tubeLax full factor gridLax shock-detail factor grid
Sod shock tubeSod full factor gridSod shock-detail factor grid
Toro 123 double rarefactionToro 123 full factor gridToro 123 rarefaction-detail factor grid
Two-shock problemTwo-shock full factor gridTwo-shock detail factor grid
Shu–OsherShuOsher full factor gridShuOsher post-shock wave factor grid

The separate $2\times2$ Shu–Osher shock-front detail is:

ShuOsher shock-front factor grid

Reading the matrix

The principal observations are:

  • Explicit O2 is robust but visibly diffusive.
  • WBAP/HQM_OPT LVR v2 with $\alpha_{max}=0.5$ gives the flattest selected Lax downstream state while remaining sharper than Explicit O2.
  • Barth-based targets broaden strong shocks more visibly.
  • High-order LVR and conventional P3 limiters preserve substantially more Shu–Osher wave amplitude than Explicit O2.
  • The cylinder residual histories separate methods whose final centerline profiles look similar but whose convergence floors differ substantially.

Double Mach reflection

The DMR sequence tests shock geometry, the Mach-reflection triple point, the downstream slip line, wall jet, primary vortex, and Kelvin–Helmholtz roll-up. The triple point is the junction of the incident shock, reflected shock, and Mach stem. The slip line issues downstream from this junction.

Development campaign

Aligned UniformDM240 contains 230,400 quadrilateral cells. Its Rusanov and Roe M9 sweeps reached $t=0.25$. LVR produces a smooth triple point and delayed slip-line roll-up; halving the time step preserves that result. Fully limited 3WBAP produces more small-scale activity but also a more irregular triple point. The current interpretation is a perturbation-seeding hypothesis: 3WBAP’s irregular shock junction seeds stronger downstream disturbances, whereas LVR leaves the high-order slip line unlimited but supplies it with a quieter initial perturbation.

Replacing the aligned mesh with the nominal $h=1/240$ Delaunay DM240U mesh produces 609,468 triangles. Both LVR variants then resolve a long coherent roll-up train while their gate stays concentrated on the shock system. This shows that LVR does not inherently suppress smooth shear-layer instability. The test changes topology, orientation, perturbation spectrum, and cell count, so it does not isolate mesh noise or prove mesh-converged accuracy.

DM240U methodWall timeFinal density rangeValidation
Explicit GG O2/WBAP3,028 s$[1.37913,22.49664]$complete
LVR v2/HQM_OPT11,713 s$[1.33734,22.46597]$reconstructed completion after supervisor loss
LVR v2/Factorial15,874 s$[1.33547,22.83554]$complete
P3 3WBAP/HQM_OPT26,148 s$[1.31685,22.17635]$complete
P3 3WBAP/Factorial27,807 s$[1.30258,22.00308]$complete

Aligned DM240 Rusanov and Roe M9 comparison

DM240U five-method comparison

DM240U LVR gate comparison

Canonical 13-method DM240U production on thtj1

All 13 accepted rows completed on the same 609,468-cell Delaunay mesh with unrotated Roe M9, ESDIRK4, 625 steps of $4\times10^{-4}$ to $t=0.25$, 56 MPI ranks, cell-centered VTKHDF output, and no point output. Final local and remote snapshot hashes agree. The all-method figures use one shared density range $1\le\rho\le24$. The normalized LVR gate is $\chi=\alpha/\alpha_{max}$, so $\chi=0$ is an inactive penalty and $\chi=1$ is the configured maximum penalty.

Canonical DM240U density, full domain

Canonical DM240U density, Mach-stem detail

Canonical DM240U LVR gate, full domain

Canonical DM240U LVR gate, Mach-stem detail

Two-dimensional Riemann problem

Structured 400 x 400 production

The structured campaign uses 160,000 quadrilateral cells on $[0,1]^2$, unrotated Roe M9, ESDIRK4, 3,200 steps of $2.5\times10^{-4}$ to $t=0.8$, and 56 MPI ranks on thtj1. Both LVR v2 rows use the WBAP O2 target and $\alpha_{max}=0.5$; the references are fully limited P3 3WBAP. All four runs completed with exit code zero, 3,200 final-step markers, finite positive final states, empty validation-error lists, and nonempty cell-centered VTKHDF snapshots.

Structured 2-D Riemann density

Structured 2-D Riemann LVR gate

Delaunay 246U production

The unstructured control uses $h=1/246$, 160,420 counterclockwise triangles, 80,703 nodes, and the same domain, initial states, boundary name, flux, time step, final time, and four spatial methods. The cell count differs from the structured reference by only 420 cells.

All four rows completed 3,200 steps at $t=0.8$, returned exit code zero, retained finite positive density and energy, reported no validation errors, and wrote nonempty final cell-centered VTKHDF snapshots. Every snapshot and run record was copied back with matching remote and local SHA-256 hashes.

MethodJobState at refreshSlurm elapsedMinimum $\rho$Minimum $\rho E$
LVR v2/WBAP/HQM_OPT11790760complete01:56:230.1201550.229760
LVR v2/WBAP/Factorial11790784complete01:54:340.1195980.231224
P3 3WBAP/HQM_OPT11790785complete12:05:340.1255200.247447
P3 3WBAP/Factorial11790786complete03:59:540.1196680.236326

246U 2-D Riemann final density comparison

246U 2-D Riemann LVR gate

The fixed method order and shared range $0.1\le\rho\le1.8$ make the four final cell-centered density fields directly comparable.

The last completed row can be audited through these remote files on thtj1:

  • Slurm output: /fs2/home/advance/zhy/studies/limited_variational_reconstruction/2026-09-28_riemann2d_400_pilot/slurm_246u/riemann2d-246u-11790785.out
  • solver standard output: /fs2/home/advance/zhy/data/lvr/riemann2d_246u_m9_20260928/raw/3wbap_hqm_20260928T154338Z_thtj1-246u-m9-t08_11790785/stdout.log
  • absolute residual CSV: /fs2/home/advance/zhy/data/lvr/riemann2d_246u_m9_20260928/raw/3wbap_hqm_20260928T154338Z_thtj1-246u-m9-t08_11790785/riemann2d_.log
  • run record: /fs2/home/advance/zhy/studies/limited_variational_reconstruction/2026-09-28_riemann2d_400_pilot/records/3wbap_hqm_20260928T154338Z_thtj1-246u-m9-t08_11790785.json

Main findings

  1. The $\mathbf A_i$-weighted penalty is algebraically compatible with the existing block Jacobi/GS/SOR machinery. It produces an exact convex target without rebuilding the cached cell inverse.
  2. A characteristic WBAP-limited O2 target is materially better than the Barth target for the selected strong-shock comparisons, although the Barth path remains useful as an ablation.
  3. The original pressure-jump/compression product gate localizes shocks and avoids pure expansions and shear layers, but its two indicators can be spatially offset beside a strong shock.
  4. LVR v2’s shock-supported extremum correction closes that Lax gate gap and reduces the shoulder oscillation by about 94% without changing the curved cylinder bow-shock solution.
  5. LVR v2 preserves convergence advantages over fully limited high-order schemes in the steady cylinder and is consistently much cheaper than fully limited 3WBAP in the current multidimensional runs.
  6. The DMR results show that a quiet LVR triple point can delay slip-line roll-up, while the unstructured-mesh control shows that LVR still resolves substantial Kelvin–Helmholtz structure when perturbations are supplied by the mesh. Vortex count alone is not an accuracy metric.
  7. The structured and completed unstructured 2-D Riemann contours show that the derivative-weight choice changes the developed interaction substantially, even when the LVR gate remains concentrated on discontinuities.

Limitations and next steps

  1. Replace the equal-pressure-neighbour count with a geometric tangential smoothness test based on the limited-O2 pressure-gradient direction. This is needed for a mesh-independent multidimensional v2 gate.
  2. Repeat Lax and multidimensional cases on refinement sequences to measure the physical width of the corrected band and verify that plateau flatness is not tied to the current spacing.
  3. Repeat the structured and Delaunay 2-D Riemann comparisons on a refinement sequence to separate derivative-weight sensitivity from mesh-scale effects.
  4. Separate DMR perturbation seeding from dissipation using matched degrees of freedom, time-resolved slip-line growth, and one common imposed disturbance.
  5. Retain the Toro 123 positivity failure as a hard screen for Roe variants; gate widening must not be accepted by shock-tube appearance alone.
  6. For Shu–Osher, assess post-shock phase, amplitude, $L_1/L_2$, total variation, and gate overlays together.

Complete figure atlas

The atlas below embeds every top-level PNG generated by the studies used in this post. It intentionally excludes duplicate PDFs and internal rendering tiles.

Initial method validation (10 figures)
FigureFigure
cylinder cal balanced alphacylinder cal balanced pressure
cylinder centerline densitycylinder comparison
cylinder limited variational reconstruction a099cylinder limited variational reconstruction selected
cylinder o2 barthlax comparison
lax detailslax selective limited region
Initial parameter tuning (2 figures)
FigureFigure
cylinder centerline density with theorylax parameter effects
Uniform-start cylinder convergence (1 figure)
FigureFigure
uniform start comparison
WBAP O2 reference retuning (7 figures)
FigureFigure
cylinder canonical comparisoncylinder selected gate
cylinder tuning effectslax detailed comparison
lax tuning effectslvr versions comparison
refined round overview
HQM_OPT joint tuning (5 figures)
FigureFigure
cylinder canonical comparisoncylinder tuning effects
lax detailed comparisonlax tuning effects
scheme comparison
LVR v2 shock-band gate (3 figures)
FigureFigure
lax gate refinementlax preshock flatness
shock band outcome
LVR v2 extended validation (13 figures)
FigureFigure
cylinder flux rotation comparisonlax flux comparison
lax near shock detaillax target weight comparison
shu osher flux comparisonshu osher method comparison
shu osher target weight comparisonsod flux comparison
sod near shock detailsod target weight comparison
toro123 target weight comparisontwo shock flux comparison
two shock target weight comparison
Double Mach reflection development (41 figures)
FigureFigure
dm240 3wbap factorial t025 full Rdm240 3wbap factorial t025 mach stem R
dm240 3wbap hqm t025 full Rdm240 3wbap hqm t025 mach stem R
dm240 dm240u m9 lvr hqm full comparisondm240 dm240u m9 lvr hqm mach stem comparison
dm240 dm240u mesh comparisondm240 lvr chi full comparison
dm240 lvr chi mach stem comparisondm240 lvr v2 factorial t025 full R
dm240 lvr v2 factorial t025 full chidm240 lvr v2 factorial t025 mach stem R
dm240 lvr v2 factorial t025 mach stem chidm240 lvr v2 hqm t025 full R
dm240 lvr v2 hqm t025 full chidm240 lvr v2 hqm t025 mach stem R
dm240 lvr v2 hqm t025 mach stem chidm240 m9 3wbap factorial t025 full R
dm240 m9 3wbap factorial t025 mach stem Rdm240 m9 3wbap hqm t025 full R
dm240 m9 3wbap hqm t025 mach stem Rdm240 m9 lvr hqm halfdt full comparison
dm240 m9 lvr hqm halfdt mach stem comparisondm240 m9 lvr v2 factorial t025 full R
dm240 m9 lvr v2 factorial t025 full chidm240 m9 lvr v2 factorial t025 mach stem R
dm240 m9 lvr v2 factorial t025 mach stem chidm240 m9 lvr v2 hqm t025 full R
dm240 m9 lvr v2 hqm t025 full chidm240 m9 lvr v2 hqm t025 mach stem R
dm240 m9 lvr v2 hqm t025 mach stem chidm240 m9 o2 wbap t025 full R
dm240 m9 o2 wbap t025 mach stem Rdm240 o2 wbap t025 full R
dm240 o2 wbap t025 mach stem Rdm240 rusanov m9 full comparison
dm240 rusanov m9 mach stem comparisondm240u m9 available full density
dm240u m9 available mach stem densitydm240u m9 lvr weights full chi
dm240u m9 lvr weights mach stem chi
Canonical 13-method matrix (30 figures)
FigureFigure
cylinder all 13 methodscylinder factor grid
cylinder residual factor gridcylinder residual history
dm240u chi full lvr8dm240u chi mach stem lvr8
dm240u density full all13dm240u density mach stem all13
lax all 13 methodslax factor grid
lax shock detail all 13 methodslax shock detail factor grid
shu osher all 13 methodsshu osher factor grid
shu osher shock detail all 13 methodsshu osher shock detail factor grid
shu osher wave detail all 13 methodsshu osher wave detail factor grid
sod all 13 methodssod factor grid
sod shock detail all 13 methodssod shock detail factor grid
toro123 all 13 methodstoro123 factor grid
toro123 shock detail all 13 methodstoro123 shock detail factor grid
two shock all 13 methodstwo shock factor grid
two shock shock detail all 13 methodstwo shock shock detail factor grid
Two-dimensional Riemann campaigns (4 figures)
FigureFigure
riemann2d 246u m9 chi lvr2riemann2d 246u m9 density all4 current
riemann2d m9 chi lvr2riemann2d m9 density all4
by Harry
Built with Hugo
Theme Stack designed by Jimmy