Boussinesq PETSc Validation Results#
This page records the current analytical-validation status after routing the
solver = "boussinesq" analytical cases through the PETSc Boussinesq runtime.
The public validation label remains boussinesq. Internally, steady
analytical Boussinesq cases now use a pure steady PETSc SNESVI solve with
flow.runtime_backend = "petsc" and
flow.surface_interaction_model = "vi_obstacle". Transient analytical
Boussinesq cases now use PETSc TS with SNESVI through
flow.surface_interaction_model = "ts_vi_obstacle".
Latest Automated Results#
The following commands were run on 2026-05-06 in the WSL PETSc environment
through install/enter_wsl_dev.sh --headless.
Check |
Command |
Result |
Duration |
|---|---|---|---|
Pytest PETSc analytical validation suite |
|
|
|
Documentation validation batch for |
|
|
|
The committed report consumed by the validation gallery is:
validation_cases/reports/latest/boussinesq_both.json. It was generated at
2026-05-06T07:41:24.118686+00:00 and records failed_case_count = 0.
Validation Gallery Pages#
Open these pages first in the generated HTML build:
Validation Benchmarks shows the refreshed Boussinesq batch line:
21/21 cases passed.Boussinesq Hillslope Interception 1D is the main PETSc VI obstacle diagnostic page.
Capability Gallery is the gallery entry point.
The hillslope interception figure was regenerated with the PETSc method line in the plot footer.
Fig. 80 Boussinesq hillslope interception validation, rendered for the documentation gallery with the PETSc VI obstacle method annotation.#
Case Coverage#
These 21 analytical validation cases use the PETSc-backed Boussinesq route in the latest batch report.
Regime |
Documentation page |
Method |
|---|---|---|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Steady |
PETSc SNESVI, pure steady, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
|
Transient |
PETSc TS + SNESVI, |
Hillslope Interception Diagnostic#
The migration is mostly a runtime substitution. The main exception remains the steady hillslope interception case. The PETSc VI solve is numerically clean, but the interception position differs from the historical no-drain analytical intersection.
Quantity |
Current value |
Interpretation |
|---|---|---|
Analytical interception x |
|
Historical no-drain Boussinesq profile intersected with topography. |
PETSc VI numerical interception x |
|
Contact front from the hard obstacle solve. |
Interception x error |
|
Below the current |
Cross-row head spread |
|
Quasi-1D uniformity is preserved. |
Topography overshoot |
|
The obstacle constraint is respected. |
This offset is not interpreted as a nonlinear convergence failure. The analytical reference solves a no-drain profile and then intersects it with the topography, while the PETSc VI method solves a constrained obstacle problem with an active surface-contact zone and surface reaction.