Add error-controlled DP5(4) integration and trusted first-crossing localization, including non-monotonic energy thresholds and representable-time stepping. Preserve adaptive state and independent step/time retry grants across RayPool, refinement and movie scheduling. Expose numerical controls, record actual persistent-sample costs, and add v3 lens-map provenance with legacy v2 RK4 import. Use DP54 by default and select an 8M Schwarzschild maximum step from bounded scans and a two-run 4K comparison. Retain the conservative minimum-step guard and document critical-ray and backend capability limits. Archive self-contained benchmark inputs and raw output; keep fixed RK4 HDR references explicit. Validation: make -B -j4 BUILD_TYPE=Debug test passed; explicit RK4 HDR references have zero differences. Bounded convergence checks, benchmark reproduction, Release build and focused reviews passed. No numerical-relativity backend is added.
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Run the standalone critical-classification reference check
|
|
# (benchmarks/adaptive_step_bounds_2026-10-05/critical_ref_check.c).
|
|
#
|
|
# benchmarks/adaptive_step_bounds_2026-10-05/run_critical_ref.sh [OUT_DIR]
|
|
#
|
|
# OUT_DIR defaults to <repo>/local/adaptive_step_bounds_2026-10-05. All output
|
|
# stays under OUT_DIR; the tracked benchmark directory holds only the sources.
|
|
# This is a diagnostic probe (see the C file header); it makes no pass/fail
|
|
# claim about the exactly-critical physical outcome.
|
|
set -euo pipefail
|
|
|
|
SOURCE=$(cd "$(dirname "$0")" && pwd)
|
|
root=$(cd "$SOURCE/../.." && pwd)
|
|
OUT=${1:-$root/local/adaptive_step_bounds_2026-10-05}
|
|
BIN=/tmp/opencode/step_bounds
|
|
|
|
mkdir -p "$OUT/raw" "$OUT/logs" "$BIN"
|
|
cd "$OUT"
|
|
OUT=$PWD
|
|
|
|
{
|
|
echo "### building critical_ref_check"
|
|
set -x
|
|
cc -std=c11 -O2 -Wall -Wextra -Wpedantic -I"$root/src" \
|
|
"$SOURCE/critical_ref_check.c" "$root/src/geodesic.c" \
|
|
"$root/src/asymptotic.c" "$root/src/asymptotic_schwarzschild.c" \
|
|
"$root/src/spacetime_common.c" "$root/src/observer.c" -lm \
|
|
-o "$BIN/critical_ref_check"
|
|
echo "### command: critical_ref_check"
|
|
time "$BIN/critical_ref_check"
|
|
set +x
|
|
} > logs/critical_ref.log 2>&1
|
|
|
|
cat logs/critical_ref.log
|
|
echo "outputs under $OUT"
|