feat(libmeanfield): centrifugal + pressure
This commit is contained in:
30
experiments/README.md
Normal file
30
experiments/README.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Accuracy experiments
|
||||
|
||||
This directory is deliberately separate from `tests/`. It uses Catch2 only as
|
||||
an MPI-aware runner, selector, configuration host, and failure reporter. A run
|
||||
fails only when the calculation is invalid (for example, non-finite output or a
|
||||
failed linear solve); measured accuracy is written as data, not as a regression
|
||||
tolerance.
|
||||
|
||||
`experiment_main.cpp` registers the `experiment` Catch2 reporter. It collects
|
||||
rows recorded with `record_experiment_result` and writes one wide CSV table on
|
||||
MPI rank zero. Each row carries sweep parameters and numerical metrics, so
|
||||
results can be plotted or compared across commits.
|
||||
|
||||
The initial budget has three sweeps at fixed mesh and polynomial orders:
|
||||
|
||||
1. linear-solver tolerance: `1e-8`, `1e-10`, `1e-12`, `1e-14`;
|
||||
2. production quadrature boost: `0`, `4`, `8`;
|
||||
3. reference-space decomposition: numerical field/potential error, analytic
|
||||
projection error, and numerical-to-projection gap.
|
||||
|
||||
Run only the budget and choose its output path with:
|
||||
|
||||
```text
|
||||
./mean_field_experiments --experiment-output gravity_budget.csv --catch2 "[accuracy]"
|
||||
```
|
||||
|
||||
The executable needs the same dependencies, generated module mapping, and
|
||||
configuration registration as the existing Catch2 test executable. Add
|
||||
`experiment_main.cpp` and `gravity_accuracy_budget.cpp` as a second executable
|
||||
next to that target; do not add them to the ordinary test executable.
|
||||
Reference in New Issue
Block a user