Preserve bounded validation evidence and historical failures
This commit is contained in:
1 parent
cdbb9c42f6
commit
263f3b0c7a
239 files changed
+74191
No files matched your search
@@ -0,0 +1,64 @@
|
||||
CPUREF-0.3 local integration and review — 2026-10-13
|
||||
|
||||
Result: PASS. First local execution only; no retry or tolerance change.
|
||||
15 core tests + 5 supplemental tests passed, plus 1 open-corner negative-control
|
||||
method (identity/SRT, seeds 1/2, 1/8 coarse steps). The supplemental suite includes
|
||||
the v0.2-to-v0.3 diagnostic-field delta check; this is not physical-field equality.
|
||||
|
||||
Scope: fixed doubly periodic 16x16 coarse grid, one static 2:1 patch covering
|
||||
[4,12)^2, 16x16 active fine cells with halo 4. Evidence concerns transport,
|
||||
corner handling, validity, ownership, conservation and bookkeeping only.
|
||||
It does not validate interface accuracy, viscosity/stress transfer, long-time
|
||||
stability, production GPU equivalence, dynamic AMR or Jet integration.
|
||||
|
||||
Static review completed before execution; no substantive objection within this
|
||||
scope. Checked arrival_f phase, even integer tick and +2 advancement, collision
|
||||
order, both fine hops, ghost validity/poisoning, eight uniquely keyed corner-pass
|
||||
links, coalescence ownership and budget semantics. bookkeeping_check subtracts
|
||||
interface_residual and is not independent conservation evidence. Core tests
|
||||
provide a separate scalar transport/SRT oracle and active-leaf totals. Negative
|
||||
control sums leaves outside the reference helpers, but uses reference masks and
|
||||
collision budgets; do not describe every aspect as independent.
|
||||
|
||||
Delivery: five Python files were moved from review staging into the parent
|
||||
multigrid directory without changing bytes. cpu_reference_v0.2.py is retained
|
||||
only as the supplemental diagnostic comparison fixture, loaded explicitly.
|
||||
Seven delivered artifact SHA256 values match the supplied originals both before
|
||||
and after execution. No reference algorithm, test assertion or tolerance edits.
|
||||
Grok's original README and stdout remain unchanged alongside the local evidence.
|
||||
|
||||
Local environment: /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python
|
||||
Python 3.10.13; NumPy 1.26.4; Linux 6.8.0-138-generic x86_64, glibc 2.35.
|
||||
Grok reported Python 3.13.5 / NumPy 2.5.3; both original and local outputs are kept.
|
||||
Process-only environment:
|
||||
OPENBLAS_NUM_THREADS=1
|
||||
PYTHONDONTWRITEBYTECODE=1
|
||||
PYTHONNOUSERSITE=1
|
||||
PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid
|
||||
CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py
|
||||
Working directory: /home/frank14f/CelerisLab/tests/validation/multigrid
|
||||
Each script was executed sequentially by the following command, replacing SCRIPT
|
||||
with test_cpu_reference.py, test_tron_additions.py, then
|
||||
test_open_corner_negative_control.py (absolute paths in results_horsea.json):
|
||||
/usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B SCRIPT
|
||||
The stdlib-only parent runner had the same hard limits. stdout and stderr of all
|
||||
three scripts went to one shared stdout_horsea.txt; any nonzero exit would have
|
||||
stopped subsequent execution. Per-case step ceiling of 8 was verified statically;
|
||||
no grid, seed or step expansion. Peak child RSS across the run: 37.5 MiB.
|
||||
Combined local stdout/stderr plus command metadata: 9013 bytes (<2 MiB).
|
||||
|
||||
Observed evidence: identity versus scalar oracle max difference 0; SRT max
|
||||
2.776e-16. Eight-step SRT mass drift -1.535e-12 passes the unchanged delivered
|
||||
mass-scaled 1e-14 tolerance (approximately 2.56e-12 absolute). Open-corner SRT
|
||||
maximum drift reaches 2.078e-3; closed negative-control drift stays <=5.684e-14.
|
||||
The eight-step mass tolerance is not an absolute 1e-14 bound.
|
||||
|
||||
Increment: only new files under tests/validation/multigrid. No src, old test,
|
||||
MULTIGRID_VERIFICATION_STRATEGY.md, DynamisLab, dependency, environment or Git
|
||||
commit/push changes. No CelerisLab/Simulation/pycuda imports or GPU/solver runs.
|
||||
The original 269-file hash baseline and Git status are in baseline.json; final
|
||||
verification and new-file sizes/line counts/SHA256 are in manifest.json. Ordinary
|
||||
git diff omits these untracked additions; the manifest describes this increment.
|
||||
No generated bytecode or duplicate candidate copies were retained.
|
||||
|
||||
Stopped after this authorized test-only integration for joint review.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Grok independent tests for CPUREF-0.3 (2026-10-13)
|
||||
|
||||
Runner: Grok's isolated sandbox (not aws-la, not Horsea). Python 3.13.5, NumPy 2.5.3, Linux x86_64. No installs, no Horsea/remote writes.
|
||||
Command: `OPENBLAS_NUM_THREADS=1 prlimit --as=268435456 python test_cpu_reference.py` then `test_tron_additions.py` and `test_open_corner_negative_control.py` (reference copied unchanged to `cpu_reference.py`; `CPU_REFERENCE_PATH` accepted).
|
||||
Budget: <=8 coarse steps per case, address space capped at 256 MiB, peak RSS ~43 MiB, stdout <2 MiB.
|
||||
|
||||
SHA256
|
||||
- cpu_reference_v0.3.py (Drive 1G_a5i4ywwAgz20Binl9jI_d_SyXvfCJK): bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
- test_cpu_reference.py: ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca
|
||||
- test_tron_additions.py: 8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4
|
||||
- test_open_corner_negative_control.py: 59a6f8ca80cdd63cb7827fbebf9b4b555c3793f19dd6bca801544ec10b5cbe1b
|
||||
- stdout_final.txt (20 unittest OK): 73e4ef01138842981daaa534390f1463839e63833c11f4e8872f94f8eaadc717
|
||||
- stdout_open_corner.txt: 927f8233957fe08f671cf3716e810431c40331caa4cf406da2b09793337c7ee8
|
||||
- contract still ee8010e763d38937b95c34dadaf97415cdb8b6c23e3c79a9f1f32bd5d4e112f6
|
||||
|
||||
Result: 20/20 pass (15 core adapted from v0.2 suite + 5 additions: NaN masks, 8 unique corner keys/packets, coalesce_paths reconstructed test-side, hop2_valid, v0.2↔v0.3 field delta) plus open-corner negative control OK. Reference unchanged.
|
||||
|
||||
Adaptations vs v0.2 tests: drop explosion_count; fine_valid_after→hop2_valid; closure_error→bookkeeping_check; corner_packets keyed lower_left_q8 etc. (8 unique); coalesce_paths rebuilt in tests; invalid tick (odd/float/bool/str) rejected; even tick advances by 2.
|
||||
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"head": "6e3756c587ec08ab6a55c4a1a5f4671822d3f0a0",
|
||||
"git_status": " M pyproject.toml\n M setup.py\n M src/CelerisLab/__init__.py\n M src/CelerisLab/body/__init__.py\n M src/CelerisLab/body/ddf_patch.py\n M src/CelerisLab/body/manager.py\n M src/CelerisLab/body/preprocess/flag_overlay.py\n M src/CelerisLab/common/__init__.py\n M src/CelerisLab/common/checkpoint.py\n M src/CelerisLab/config.py\n M src/CelerisLab/configs/CONFIG.md\n M src/CelerisLab/cuda/__init__.py\n M src/CelerisLab/cuda/compiler_v2.py\n M src/CelerisLab/cuda/context.py\n M src/CelerisLab/lbm/__init__.py\n M src/CelerisLab/lbm/curved_links.py\n M src/CelerisLab/lbm/field.py\n M src/CelerisLab/lbm/initializers.py\n M src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh\n M src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh\n M src/CelerisLab/lbm/kernels/config/config_grid.h\n M src/CelerisLab/lbm/kernels/config/config_method.h\n M src/CelerisLab/lbm/kernels/config/config_objects.h\n M src/CelerisLab/lbm/kernels/config/config_physics.h\n M src/CelerisLab/lbm/kernels/kernel_v2.cu\n M src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh\n M src/CelerisLab/lbm/kernels/operators/collision_trt.cuh\n M src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh\n M src/CelerisLab/lbm/kernels/step/aux_kernels.cu\n M src/CelerisLab/lbm/kernels/step/esopull_sync.cu\n M src/CelerisLab/lbm/kernels/step/init_flow.cu\n M src/CelerisLab/lbm/kernels/step/one_step_double.cu\n M src/CelerisLab/lbm/kernels/step/one_step_esopull.cu\n M src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh\n M src/CelerisLab/lbm/stepper.py\n M src/CelerisLab/simulation.py\n M tests/integration/test_body_sync_e2e.py\n M tests/integration/test_ddf_patch.py\n M tests/integration/test_sync_bodies_skeleton.py\n M tests/integration/test_unified_obs.py\n M tests/postproc/experiment.ipynb\n M tests/validation/run_kan99b_rotating_cylinder.py\n M tests/validation/run_sah04_st_matrix.py\n M tests/validation/test_sensor_accuracy.py\n?? docs/design/README.md\n?? docs/design/integrated_architecture.md\n?? docs/design/multi_level_grid_architecture.md\n?? docs/design/multi_level_summary.md\n?? docs/design/multi_level_visual_reference.md\n?? docs/design/spatial_coupling_refinement.md\n?? docs/multilevel_grid_architecture_analysis.md\n?? research/audit-2026-10-09/REVIEW.zh-CN.md\n?? research/audit-2026-10-09/architecture-cpu-results.json\n?? research/audit-2026-10-09/architecture-report.md\n?? research/audit-2026-10-09/numerical-report.md\n?? research/audit-2026-10-09/numerical_collision_results.json\n?? research/audit-2026-10-09/numerical_compile_results.json\n?? research/audit-2026-10-09/numerical_semantics_results.json\n?? research/audit-2026-10-09/root-initializers-report.md\n?? research/audit-2026-10-09/state-report.md\n?? research/audit-2026-10-09/state_results.json\n?? research/design-2026-10-09/Contracts.lean\n?? research/design-2026-10-09/PLAN.zh-CN.md\n?? research/design-2026-10-09/api-architecture-study.md\n?? research/design-2026-10-09/grid-study.md\n?? research/design-2026-10-09/jet-study.md\n?? research/design-2026-10-09/jet_closure_check.py\n?? research/design-2026-10-09/jet_closure_results.json\n?? research/design-2026-10-09/math-and-history.md\n?? research/design-2026-10-09/math-checks.json\n?? research/design-2026-10-09/math_checks.py\n?? research/j1-2026-10-12/REVIEW.md\n?? research/j1-2026-10-12/baseline-status.txt\n?? research/j1-2026-10-12/baseline.json\n?? research/j1-2026-10-12/incremental.diff\n?? research/j1-2026-10-12/results.json\n?? research/j2-slot-2026-10-12/REVIEW.md\n?? research/j2-slot-2026-10-12/baseline-status.txt\n?? research/j2-slot-2026-10-12/baseline.json\n?? research/j2-slot-2026-10-12/incremental.diff\n?? research/j2-slot-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/REVIEW.md\n?? research/j3-coverage-2026-10-12/baseline-status.txt\n?? research/j3-coverage-2026-10-12/baseline.json\n?? research/j3-coverage-2026-10-12/incremental.diff\n?? research/j3-coverage-2026-10-12/negative-budget-20744.h5\n?? research/j3-coverage-2026-10-12/negative-end-20760.h5\n?? research/j3-coverage-2026-10-12/restart-21280.h5\n?? research/j3-coverage-2026-10-12/restart-reference-21296.h5\n?? research/j3-coverage-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/verification.json\n?? research/j3-lag-2026-10-12/REVIEW.md\n?? research/j3-lag-2026-10-12/baseline-status.txt\n?? research/j3-lag-2026-10-12/baseline.json\n?? research/j3-lag-2026-10-12/end-21280.h5\n?? research/j3-lag-2026-10-12/incremental.diff\n?? research/j3-lag-2026-10-12/results.json\n?? research/j3-lag-2026-10-12/start-20760.h5\n?? research/j3-lag-2026-10-12/trajectory.h5\n?? research/j3-offline-2026-10-12/REVIEW.md\n?? research/j3-offline-2026-10-12/lags.csv\n?? research/j3-offline-2026-10-12/localization.png\n?? research/j3-offline-2026-10-12/regions.csv\Line truncated
|
||||
"hashes": {
|
||||
".cursor/rules/cuda-style.mdc": "5810cf8cff793a11ba5dedafaa8a4e7d7d3debb728d837ca1903ff6dc8d6fdb9",
|
||||
".cursor/rules/project-layout.mdc": "aeed1cd9d48447bcfcfb6a77250af7c5a3d500de4c6b2591c5684696fa04c3ec",
|
||||
".cursor/rules/python-style.mdc": "ece75cb724d7dc46cb8dab7ecf8d710a90b503001da0d506ea4bf772ce395e21",
|
||||
".cursorignore": "9f072faa815a6c6d4dc791a424201404f0f623338681ae3d2fcbdf86db1bd035",
|
||||
".gitignore": "de25151f4cfdf29ca64032e509398e1829c7ded2449ccff803b2fd87d859ae6c",
|
||||
"LICENSE": "e98392425e9a0007d0d69f0f7c912c2dc1b59061a6197223962aac45599c76ea",
|
||||
"README.md": "982d0df8b766b1d5017ba702b75e8b3cec8d22f57af8f434be27ea251652596c",
|
||||
"docs/audit/audit_round2.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"docs/audit/body_refactor_notes.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"docs/audit/config_diagnosis.md": "b601652df0cac36a8faf2b317b11853221353716a25184cd9b2dc41373a7f183",
|
||||
"docs/audit/kernel_layer_audit.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"docs/design/README.md": "98242c6960866d9b75aaf363f703edf02c4210bc38da1a340e9f6add49c6a3ce",
|
||||
"docs/design/integrated_architecture.md": "c26b0d301321fe4b86d83d11c7e0b8d0c0545ee2995afa563966f004e9788132",
|
||||
"docs/design/multi_level_grid_architecture.md": "e56a67d9129f2e3c311342e21a3fb2ed14bd492dd881949b251d5d9ac577bdee",
|
||||
"docs/design/multi_level_summary.md": "eebf23e0bec9b154e5ce2128e2806e7558a7d4824b2c700cfd16afd1158b2354",
|
||||
"docs/design/multi_level_visual_reference.md": "cad4bfbd561e5650ec297334529334b662a1ed35f7373c61f34ee22ecf1f66bd",
|
||||
"docs/design/spatial_coupling_refinement.md": "36c878c7afad524999d89fa842297a98a0433e0283e78b36ca734ddbf8723ed8",
|
||||
"docs/multilevel_grid_architecture_analysis.md": "90309730b1759d63531cb258c30db990ab71ca1b56ae47d0bbe2f4e2ae52012c",
|
||||
"docs/performance_analysis.md": "ba01aaa4d3c02b61a8dc55fd00518ac291ebbed79b6574190d6b7234a1158fcb",
|
||||
"docs/tests_overview.md": "ffc9591fd7baa4261b2c1ce9cfa7aa13a3554a8d5df712035806266a5eaade3f",
|
||||
"docs/validation_specs/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"docs/validation_specs/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"docs/validation_specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"docs/validation_specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"docs/validation_specs/exp_ctrl_matrix.md": "b7250576c23292988b6ef4bcfd080f611d41edc413c3cebd0eadcc8596049470",
|
||||
"docs/validation_specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"output/round3_compatibility_summary.md": "319f2e6abde4b34cc4ec90ef461d8ebb85dd5a3ac1736cfa7a3fb110f2a69df9",
|
||||
"pyproject.toml": "f24ab9ad3a6a728a9382b1bce2e721612fc76635f35c6f96dfddaa853b6e5a9c",
|
||||
"research/audit-2026-10-09/REVIEW.zh-CN.md": "2841fd3aa7a6baedbe1079d90915c8b05212b133824ed6abccaa1f09656eaefe",
|
||||
"research/audit-2026-10-09/architecture-cpu-results.json": "e1b809210005c8765b13fddbb5ed710d15f6fcbb4c5788a4064f3e88808433ef",
|
||||
"research/audit-2026-10-09/architecture-report.md": "861079dc3f4ced9fdc41bfb22002d32e190c0d630d3ba2f138f9dc7a949b8371",
|
||||
"research/audit-2026-10-09/numerical-report.md": "970330b3a593f79f09866ce6ae82bc0ddd81226230d0a6ff06ae8ae756ee80da",
|
||||
"research/audit-2026-10-09/numerical_collision_results.json": "51e5c263bb8cde82cedef2ccfdbf5ef657742a80218d7896b1ff877516e59693",
|
||||
"research/audit-2026-10-09/numerical_compile_results.json": "c3b0ae02072a2ec408ada7513b542ec255f6855cb743a3ed7f91bd8f31504f44",
|
||||
"research/audit-2026-10-09/numerical_semantics_results.json": "b95b065b594aa2911740dab216f87936c9bf7f7fa25acfda93b5738443564035",
|
||||
"research/audit-2026-10-09/root-initializers-report.md": "ca448457c444949d5d0e1e10fa7121064510b77fc4c3512580900f0299219867",
|
||||
"research/audit-2026-10-09/state-report.md": "f8708807efc2e109810c5955f7c1884a932668c0b3cb2963c2df3b09f2a3d5c4",
|
||||
"research/audit-2026-10-09/state_results.json": "da9170df3e11231c73f20e5e79ed68e08966673d1dd52004ea6b6a279afc0dcd",
|
||||
"research/design-2026-10-09/Contracts.lean": "2442d9a778ef20e8af3fecf23be6fea6d73c6299ff744c9664b652bc5ee3f034",
|
||||
"research/design-2026-10-09/PLAN.zh-CN.md": "0341dd7ee306a040340c8e5dedb07a109e931c27dbf3c994d072aa78e3b6bc67",
|
||||
"research/design-2026-10-09/api-architecture-study.md": "d6fb45ec784f0e1db55fb9f34e137b9f551db0b9b39fd4f0ef247a78fc34eedf",
|
||||
"research/design-2026-10-09/grid-study.md": "4435dc1275ec5e15b118becc6ac391f306195d1e5beaa58037b1aff3bb2465c7",
|
||||
"research/design-2026-10-09/jet-study.md": "a362142ef04a5ad5dbb4c9db9d221b1199dccec53780c8f2da49a15201cfe529",
|
||||
"research/design-2026-10-09/jet_closure_check.py": "fde45d0f8518740ef5c0bf0fe7635d6adaf9a2e789927dd4e68e991c138ddc30",
|
||||
"research/design-2026-10-09/jet_closure_results.json": "12cf7d400a206f9f9ec9ea6ad251fe6bb0232e27bcbed22fbc1ead2c0fc7d249",
|
||||
"research/design-2026-10-09/math-and-history.md": "64f8c82e4949d6f58b46faa09800958714859c36cad20bbeeae8b449ae7a6099",
|
||||
"research/design-2026-10-09/math-checks.json": "94750381954317cde8d649db26beaed8ea945666572a05030ca2b4d97d384011",
|
||||
"research/design-2026-10-09/math_checks.py": "4254983a783fe4bad8888b3d7c243c87d991c7bbf242edb0f56f25cbaefee890",
|
||||
"research/j1-2026-10-12/REVIEW.md": "13004a4f140acdcf59acb57e9e2dda1bb95763d30060f822a7c206c94b813a9f",
|
||||
"research/j1-2026-10-12/baseline-status.txt": "ac398360e05b746b89ae0c3acfe202b5122e650a3bb1ff234ab26f874a303e64",
|
||||
"research/j1-2026-10-12/baseline.json": "ad7afdf7b3913d11c07343e971fe2f43c2d1a2b99e3d5904a6ba89e3bb0b24fb",
|
||||
"research/j1-2026-10-12/checkpoint-gpu.log": "adfe3d77d2e6c6f6184dccc0267b4404b20a7709505d5ff5affed0ed4a618083",
|
||||
"research/j1-2026-10-12/cpu.log": "60cac097f7c4f11401df2aacb43a248640555e7628d2829c4680c71db34e9640",
|
||||
"research/j1-2026-10-12/gpu-validation.log": "d1e9f2aea17a85eddcd94b81c700738ce073214857b55c28abd1219ff1edbed7",
|
||||
"research/j1-2026-10-12/gpu.log": "8659a78ea52bbf8eb923d46ea71636ce63cd322352d5c98a74f631e666dd8cfb",
|
||||
"research/j1-2026-10-12/incremental.diff": "a454c23da7b0011645949c0fbf64d0c41ecfdab5642b1b7c5119868005d3c721",
|
||||
"research/j1-2026-10-12/results.json": "449f8a17dacac0fc6d2489c4b10bac330dbbbdb38fad3ce54f739ac8c6d48e85",
|
||||
"research/j2-slot-2026-10-12/REVIEW.md": "10c4a94ffc32e0a2c4e0f6593b7cfc28479b5869f279f0b9d0b708fa3a47d1e6",
|
||||
"research/j2-slot-2026-10-12/baseline-status.txt": "812616e2d941efcf854e1b37d6e662dda1aaf2b69074fcc04017133e13b72166",
|
||||
"research/j2-slot-2026-10-12/baseline.json": "e82a1844145fd0cbc585c581b29f80b56193f122cfe1dfa7578f26904a720285",
|
||||
"research/j2-slot-2026-10-12/cli.log": "9482ad7101d501f27f92e204b2f3ae5c6d91bd887b525aa31cb4a2a188f3cb92",
|
||||
"research/j2-slot-2026-10-12/cpu.log": "91aba5961006909fbbb860429a9d3cfc930112a0d74c7788bc51c0a5897b47e5",
|
||||
"research/j2-slot-2026-10-12/gpu-serialization-failure.log": "df804e53b35e7ddaad79a17842b4b5fd9d834e29ca2d56edb00e835848d09200",
|
||||
"research/j2-slot-2026-10-12/gpu-validation.log": "223351b52c70fa4523289f3a1b3db435a11286379253280470900ffe397580a6",
|
||||
"research/j2-slot-2026-10-12/incremental.diff": "c9e391bc91438cd912c1ed5a419705d4388522f672c67a066cfc055e814e699f",
|
||||
"research/j2-slot-2026-10-12/results.json": "7d35ca7989aed5380e0a45de7f583972566fc516a051da63c53b35514e267494",
|
||||
"research/j3-coverage-2026-10-12/REVIEW.md": "7293f3f3442855c8521698605aab504e026915a7bf1e77f5a24710d89a812443",
|
||||
"research/j3-coverage-2026-10-12/baseline-status.txt": "31c949b11b20d7cd4202dba16882b5712aa1653da0cb2da2f0ebd69bf488040e",
|
||||
"research/j3-coverage-2026-10-12/baseline.json": "d8844104f2665a25bfc417ee29becf89ab3955fac9105b5ddb12cfb1fe2a55b0",
|
||||
"research/j3-coverage-2026-10-12/gpu-validation.log": "505cd5a5db46d7984aefb2a614151c25c4ace0e7d2a52e02c3e4f9792fd8eb95",
|
||||
"research/j3-coverage-2026-10-12/incremental.diff": "98aa7855d5d6b91b4509a924c8a5aabab4339ba29c7e7dc2d91262c48e3848ca",
|
||||
"research/j3-coverage-2026-10-12/negative-budget-20744.h5": "c09d75fc4a2cff68039a0956bd9d32b79b9cd3a6b386c72b4db54c214b110cd8",
|
||||
"research/j3-coverage-2026-10-12/negative-end-20760.h5": "bd0bd063579d625e358762b1fdde5ac11bfcf739646a847fb77a4a2031011b9b",
|
||||
"research/j3-coverage-2026-10-12/restart-21280.h5": "3e89c12c16f91f76ca9acd909e0fa7d42df6fbb5e870b299aa08ca42bc3e3dc9",
|
||||
"research/j3-coverage-2026-10-12/restart-reference-21296.h5": "7192f510dd7820675aa1de130f55514136fba782cf77f92545189918a7e0c328",
|
||||
"research/j3-coverage-2026-10-12/results.json": "02460981ad49c9cc13b4246abad1d8afd2599c61bfb545a6e32da9bbcd5c0db1",
|
||||
"research/j3-coverage-2026-10-12/verification.json": "205986efd2b41635721b7fd20288be982348c765180102c7102750ba088f3a28",
|
||||
"research/j3-lag-2026-10-12/REVIEW.md": "f388b64b0cc0413dc9865afda90ed24de666dda0d6cdb821b4363ce1b73631b3",
|
||||
"research/j3-lag-2026-10-12/baseline-status.txt": "e0b69879084f54afac1a3bc3701f1de9819068190c815ae84421f02f83cad9f7",
|
||||
"research/j3-lag-2026-10-12/baseline.json": "5e9a920813fe3d775110af85af92970d5245a7040ace804445e432353b77e489",
|
||||
"research/j3-lag-2026-10-12/end-21280.h5": "19a94e9e8db6dd9ac981effe06032c351992250b58768d9c090409193893d588",
|
||||
"research/j3-lag-2026-10-12/gpu-availability.log": "b227a519b8286849cfdf842573bd451803da048c6b27af9517f6b8964cd3aa39",
|
||||
"research/j3-lag-2026-10-12/gpu-diagnostic.log": "97956b517072b7c34e2e29e2a23f87eafb19b9eda786a4b8149e4a2eaed76ee9",
|
||||
"research/j3-lag-2026-10-12/host-check.log": "b2b6d262934b3abf9e0f0bdbde14b339cb977f7bffe391c17b51b5d067862dda",
|
||||
"research/j3-lag-2026-10-12/incremental.diff": "ebdf66c72daf17b926482f79a1a30bf0eb2d27fc930a7bb62e5449ebcf72fcc7",
|
||||
"research/j3-lag-2026-10-12/results.json": "00435ac7e402943e55e702fac1beb5af8cafe71967999658bcde2b29077b1fa8",
|
||||
"research/j3-lag-2026-10-12/start-20760.h5": "6c4cba5928c77566c2afc32231311a3986831c18fea766faadebb101243399e2",
|
||||
"research/j3-lag-2026-10-12/trajectory.h5": "2b51f8ec5e0cc8ca72c73ac1b51dd611158368e6d6de791d85150fa111ea1986",
|
||||
"research/j3-offline-2026-10-12/REVIEW.md": "d9902c58498e73c29e054b23adb968f7e1e14421cba5c58d03bbc5a50159ae79",
|
||||
"research/j3-offline-2026-10-12/cpu-analysis.log": "bc02a9b197fc15ae1b503ca54655a7622d4361f9b45b7848ff9c387ea3665f11",
|
||||
"research/j3-offline-2026-10-12/lags.csv": "fbd9addd413f24c47f4411317e872265bb774e8e1724fe169412befa860ae94d",
|
||||
"research/j3-offline-2026-10-12/localization.png": "a72907638e32b0ecfc2205bea438e7b408f40aad86217ce6ad9b4877840c9cfc",
|
||||
"research/j3-offline-2026-10-12/regions.csv": "3a8fc640b61d70e3b7f73d2bf8ac2bd3f720adf39a90dfda6180430e0489efae",
|
||||
"research/j3-offline-2026-10-12/results.json": "cdb857bea6f4e06ed15acf773505ce6d5147f8cb8ce0a53cc368ee267cde6361",
|
||||
"research/j3-reservoir-2026-10-12/REVIEW.md": "1ea5f860728584ea6cbe40ba3994e40471102d8e2cf6d93e28fe47222cba0cab",
|
||||
"research/j3-reservoir-2026-10-12/baseline-status.txt": "0ef1a8c9878c4053ebc1a7d4bace6d4ec38bf27ace167b4239ddbb1c6c897e20",
|
||||
"research/j3-reservoir-2026-10-12/baseline.json": "847fefd1eae971985d34d04d89ee6d6f1c91f6940c54fe351d112faba7bc6838",
|
||||
"research/j3-reservoir-2026-10-12/cpu.log": "b33f6c1a1b0ee67968c4cff85d491e46e30e0d6c796b552629714ab8b5dcead0",
|
||||
"research/j3-reservoir-2026-10-12/gpu-availability-sandbox.log": "1d58470512e583a0acfabf6896ee5f31e5b493b8231aed54b864f64eb275b02c",
|
||||
"research/j3-reservoir-2026-10-12/gpu-validation.log": "ff04024db197e332f37c912a96413e3251fd0186947348ffbc33af6f4a899f2c",
|
||||
"research/j3-reservoir-2026-10-12/incremental.diff": "fae312831d71e46dd477a640b06ed927853a9e735d26bf9f5868927fa31cfa56",
|
||||
"research/j3-reservoir-2026-10-12/results.json": "49685de7679a14860258abf1753aaa6d116ad709b868d907ddb40e74c9b845ea",
|
||||
"research/repair-2026-10-10/TRON_HANDOFF.md": "f8aaa3d99cd133c2055d4adf396a0a57d14f6006aea19e87611bd1c2c1b53a88",
|
||||
"research/repair-2026-10-10/baseline-hashes.json": "d6a7d5f9ec5bceb0e7927d55603d9c5e70105982cd945723454659b19ab476e6",
|
||||
"research/repair-2026-10-10/baseline-status.txt": "074088d793014e3b8154c58718058c7d300fb45595f5129fa957ef1e4cec38e2",
|
||||
"research/repair-2026-10-10/checkpoint-domain-2026-10-12.diff": "292b4bafe7a62d4fbbf7c165eb99929336edfcaa16b15f34f72ab71fcd928391",
|
||||
"research/repair-2026-10-10/classic-results.json": "a5d15305f516fd378b54cf9029102be58a83a55a7bad4b8e058fcfe0cc9898f4",
|
||||
"research/repair-2026-10-10/classic-signals.npz": "820c9a0b0713d7455f0a5839ac2cd5ee706086d1a26461225dcdb095673421e2",
|
||||
"research/repair-2026-10-10/final-gpu.log": "988bb97256d17b88c14f3793b15880d727ecb285abe62e7d2ae27a16729651c3",
|
||||
"research/repair-2026-10-10/final-unit.log": "a892a39ecf88125558538cadce2cb5dc46d106b993b164e03da4ebb0eee68cef",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"research/repair-2026-10-10/original-user-files/tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"research/repair-2026-10-10/provenance.json": "a81b7e32ecf7182c9617df1b39bbb063a05ef89290ad501bac4573cd5e8a6832",
|
||||
"research/repair-2026-10-10/repair-architecture.md": "49be42ff5c994017f3175e17efda14d84f0b68f8ecd239f66ccee38415b60c5a",
|
||||
"research/repair-2026-10-10/repair-numerical.md": "0272ebfa8c519aad161c520542cf53156574661609b91fd5ccad7955fdf2bd7b",
|
||||
"research/repair-2026-10-10/repair-state.md": "4d4aa1ec0c11a87d2c8380912e7ed74cf5c910ae42e5cc529effde36c9020969",
|
||||
"research/repair-2026-10-10/simplification-checks.log": "c9f15e870d02003480adf1a7f2fe4a9aca66c1934c4477619f05c8a4798ba85b",
|
||||
"setup.py": "bf07df7ec19de56710d2bb5f61873e09710cd059d46837dc3aa54f3e09ff9e06",
|
||||
"src/CelerisLab/__init__.py": "21cc469bd6e970a1f9ff5970c8eea4602065e41fc881854759ee565ee55c10c6",
|
||||
"src/CelerisLab/body/__init__.py": "d6ec221d51eaf7b1da11ef320b399599cf5b9422e5bc271a7264a273033e6928",
|
||||
"src/CelerisLab/body/action_smoother.py": "b1a23ee6bbd4850b172cb8738c5c3546ee465a54189e6af9d8044f023d4687dc",
|
||||
"src/CelerisLab/body/coupling/__init__.py": "c931f7eb318d48408c3e2febcc6917c88c8dcc1697cbf4329b1f340d94c35763",
|
||||
"src/CelerisLab/body/coupling/soa_packer.py": "8ec26fd55ef74801bbd5ab6bd3d0a7dabc750cbd498aaac2ca4c61a0108ad3c9",
|
||||
"src/CelerisLab/body/ddf_patch.py": "60fcfb7441e73bf290bcff41ca3a83da3e7ddad765d7247464e8f02e3043b4e2",
|
||||
"src/CelerisLab/body/geometry/__init__.py": "ada88980ab672959aca9aa3a4c4aade3219524b2ab68110cd2a2f41e3e0ca90a",
|
||||
"src/CelerisLab/body/geometry/base.py": "cceca14361ca2f34d34a3e43730e1a79b8ca81be00f0dd62e884db32b479419f",
|
||||
"src/CelerisLab/body/geometry/circle.py": "7605ca7c21103f1d801ac73ab8dd18dffbdac425b2dee7b8858b283628a9e436",
|
||||
"src/CelerisLab/body/manager.py": "eac22c9ac92c26e89c10bb089fb3c4156e4eb7bd0c1b1f6fe6dd32e2940a020e",
|
||||
"src/CelerisLab/body/objects.py": "71692d098ebb5ab2d0e614cb9b7854f048b8b33fbe6707e61fd0e8ac35745017",
|
||||
"src/CelerisLab/body/preprocess/__init__.py": "dfd9d58bc07f626ab23a70053e31b88a6d9165d2e4c76a4e9f48abe674d3d2ec",
|
||||
"src/CelerisLab/body/preprocess/flag_overlay.py": "831fc9e9736b758847759a085ff133eb49ec91318ace4fda76f85960138ee300",
|
||||
"src/CelerisLab/body/registry.py": "fbb7327780adbdc6da15ebdb799980daf32df22ee974af0893d7409f177bbb68",
|
||||
"src/CelerisLab/body/sync_plan.py": "a73ac9ee361b2120d0b7bbebeaa2ccbf924ba27bd95d4dd4b383c10a39b2a409",
|
||||
"src/CelerisLab/common/__init__.py": "d4dbde78bc97fccc9eabac9abae8f0f15c112c10ff8e9b45bd9401d4723df1ef",
|
||||
"src/CelerisLab/common/_types.py": "aad2ff1a9033d4fd68783ad7123afb47201ddc58785cb6dc0246947037072a5f",
|
||||
"src/CelerisLab/common/checkpoint.py": "5b7caf3896167a3f37c539b58837de6eb3f8085fa7bf5f821a09666cc16d43a4",
|
||||
"src/CelerisLab/common/pathline.py": "a1b6efcc0a076d0f1dc8d49a595779426d7d5626b00072a59bac710ff02ad046",
|
||||
"src/CelerisLab/common/preprocess.py": "7fc78a08857cf8e98519500b094a1d896af189b6b15658ff9b388ed51bed4515",
|
||||
"src/CelerisLab/common/render.py": "0e055476257eb2bcd11e733766e52195de02f8fad228f570a3511a7c831bdc29",
|
||||
"src/CelerisLab/common/streakline/__init__.py": "13ff1cfa416fdd721a08a659e76b5a5a99b8d3201add10a83b7b0bc654bc1eec",
|
||||
"src/CelerisLab/common/streakline/_config.py": "a9185ef68e9c7b5d5a1dc0b04a28341e2ad91d13c145a7c106636a878cf0a605",
|
||||
"src/CelerisLab/common/streakline/_integrate.py": "3fbd4368b2c8d0e7fda40dc65aac5df02b085008b4c68acd83cb7ae45d33a13b",
|
||||
"src/CelerisLab/common/streakline/_render.py": "236cd637414ee318c4d66f9aed32110d8dc42a100d65fde06172f7cd0ba62c65",
|
||||
"src/CelerisLab/common/streakline/_streakline.py": "1a3e08daa706b5f83cdeb337e9a945a36ddf7583c40af1d0bb9d825ac954df37",
|
||||
"src/CelerisLab/config.py": "2f1bba7515f5bc08cb3a8d140bcafe7fa0689e01b3b06494697bb2956a71530e",
|
||||
"src/CelerisLab/configs/CONFIG.md": "41cafdbe525366c08aa9d0416ea026ccf0026ba7123b8a9b65f968a80d928e3a",
|
||||
"src/CelerisLab/configs/config_body.json": "055f261f0828ca1d4f2bb694bd15b72bbcabe31d552326208f28e37f761adab1",
|
||||
"src/CelerisLab/configs/config_lbm.json": "17e4311f1f250c6ece59177a8b6ff856b69a016c7c10267e774b030a0a390865",
|
||||
"src/CelerisLab/configs/config_lbm_flume_mrt_zouhe.json": "8f593321db05a563a42931603a228d61cbcba06dfbe113262d5cd0ad93c0fe79",
|
||||
"src/CelerisLab/configs/config_lbm_flume_trt_regularized.json": "f4bba8e6a4339fc3c4eb14f6e2f57c4b22993c73703c773d853edfbe34736e56",
|
||||
"src/CelerisLab/configs/config_lbm_three_cylinder_triangle.json": "eeb8e7149dbe4aa6b3a9562802735aa950750dfbe2d972a0727e788573afa817",
|
||||
"src/CelerisLab/cuda/__init__.py": "0d01dff9f0399c8baba822aab5ca0122a135f011008ed8a499ebd9f7e5b06aea",
|
||||
"src/CelerisLab/cuda/compiler_v2.py": "c4cc3ec4445c8d75e6a253dd87963877117a722bc73b9d4811806fc6045d08c1",
|
||||
"src/CelerisLab/cuda/context.py": "013dd4ec6d01d2fbd11afdfb103eac6a273bd9f798d663d761b851eeb27885e9",
|
||||
"src/CelerisLab/cuda/obs_layout.py": "5ffb2c3aeeaaaaeb64f2cd8febfbcf4ad9919e5414020ad753cfade0683b21c2",
|
||||
"src/CelerisLab/lbm/__init__.py": "7f60fb3aaae81501b510d08c2fedff44fcb05657260eb10b6f5cc91e7204306b",
|
||||
"src/CelerisLab/lbm/curved_links.py": "587f3f4638688c09c0850bef2f314780d03f06c9211abc5fd773fbeecabc3326",
|
||||
"src/CelerisLab/lbm/descriptors.py": "c9f025dfc14da43b989047b84cc22bd05d5cc92c9ec695c1da68fdfb788e3f2b",
|
||||
"src/CelerisLab/lbm/equilibrium.py": "2fb2f2bb7ff326d23abce80fc2a4c0907b17740ea3e29fe6ae079c5044783826",
|
||||
"src/CelerisLab/lbm/field.py": "0e727eacc3706add4d8d15c418e9b631050871f831698d3ac689dd5f2c701b9b",
|
||||
"src/CelerisLab/lbm/initializers.py": "dacf9586963e862d6d0a98ef1a066036be6f91e9d423720661d8ef2c1fb2df6a",
|
||||
"src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh": "aba3748c564ed91b161d268ef8b737b7c7be96a823063d201f3da684dd845233",
|
||||
"src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh": "4bd761e81b32f4bb3238fbb1f6ea890cde0cc987cd8bbeb54e9df8b0e1b57914",
|
||||
"src/CelerisLab/lbm/kernels/boundary/esopull_curved_helpers.cuh": "b9b474bc4edaff05681c5443235472d04072d0d775fc0eb9c5967faef52b0258",
|
||||
"src/CelerisLab/lbm/kernels/boundary/ibm_kernels.cuh": "e6909b547dc8d64cdd8a76a90660243a8f5fee535caa161b52b4dd8b7c29934b",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/channel_stabilized.cuh": "efe077afcbb6b731256a987c2fd79a1dbc470c902f87070d60421ea6cb13d4e2",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh": "f3cec54c8873c65b3dca4375605d2c89a8727765884d3954c235242fdff9c6ba",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/equilibrium.cuh": "f0964c811b2c41a5aaa1c6d99c490b06e850c634eb8749f1f05ef61f93c2de1d",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/regularized.cuh": "943d4a571818bacb89c70bccfaac202691121e3e385803ce6309123a0a03ddaf",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh": "e73e66b853b1e4e0e30d8f4185d832aa414ce670a1813ce2b5459f2887f71f89",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh": "de8b213a6da42c2e5e9f8966199fc66ea4541b85144a90f3f5dbad3c6ab63b97",
|
||||
"src/CelerisLab/lbm/kernels/boundary/outlet/pressure_neq.cuh": "c8b2adc66d12fe602076ddc9693c5c208711fcaddb58aa9a31401a269f51c4c4",
|
||||
"src/CelerisLab/lbm/kernels/boundary/planar_velocity.cuh": "0b2f9e0bd483c199637e5672dc0ffc460bc383dd1804805befbeb4c5d8c708d1",
|
||||
"src/CelerisLab/lbm/kernels/config.h": "7d1124125e0b354558297934460e64c760fb68cdd7bf6d01a1238bb2eaab8c37",
|
||||
"src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"src/CelerisLab/lbm/kernels/config/config_obs.h": "c11e2249359145b5c4cbaaf0487506fa77c1f4b82c7c169ddc574aa0babcd727",
|
||||
"src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"src/CelerisLab/lbm/kernels/core/descriptors.cuh": "8440bc14857da9007982650f828a23608eec9f7cc4bf772e8c8dc1239cb45356",
|
||||
"src/CelerisLab/lbm/kernels/core/flags.cuh": "0025705f24710330d9d9195f713879bfb650a85a3449baef0e196b831af104ab",
|
||||
"src/CelerisLab/lbm/kernels/core/layout.cuh": "1fbd820021c89ac3efcde24145996cb0147769e607e498e61f308ed3e0b13706",
|
||||
"src/CelerisLab/lbm/kernels/core/obs.cuh": "b742b77c9f61e1f020fe9922c3838ae9d855e17b381154958b58f10a22938922",
|
||||
"src/CelerisLab/lbm/kernels/core/params.cuh": "6e18bf730d936d940e3d85452f0714a2eaae31bf41002f9fd520ec5b372878dd",
|
||||
"src/CelerisLab/lbm/kernels/core/precision.cuh": "849df14b4cce50af52399e4b8f3e997196f3ae5f1163f68e28df3e6b2507a8c4",
|
||||
"src/CelerisLab/lbm/kernels/kernel_v2.cu": "c7bd3fb705b77261ba2441c52a24a7e6a7865c165cba088a1b75201c4d29c408",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh": "aee444eb60c47a3fd518dca975d1af05425a0818a0ec6c3fb3f6150f60c2cb44",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_srt.cuh": "6b7ff842f392c8f853d2d1a97cc69bfe50f21283f73e659404da07cf6c95f5e1",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_trt.cuh": "9725b9840b9ad8b4ec7be61ff5d06d3151e86d1a87585c13f2fbf934d0d2c5f6",
|
||||
"src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh": "969a430c1af03f32e3bd0df95d805e64f56334717c44dd4ba208ba503062a24b",
|
||||
"src/CelerisLab/lbm/kernels/operators/helpers.cuh": "0b3a4d95d7d19f5fec09e5423b8f4cc99f8a226b541967425967330da5a051ec",
|
||||
"src/CelerisLab/lbm/kernels/operators/macro.cuh": "e27c1c410dc857be98da4596568e405eeaf88701d291ac0e398aa9cd23dee740",
|
||||
"src/CelerisLab/lbm/kernels/operators/turbulence_smag.cuh": "ff7f000297ee0817e255ad9fcb6a13b647e3ddd5b206518d35f38d2895a9f501",
|
||||
"src/CelerisLab/lbm/kernels/step/aux_kernels.cu": "bb7f07d898f0d5151e5bd0f45e6bd819c5e83a345a265b73204906ac3cc29db4",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_macro.cu": "c73116020ca217ede1e4de27c8269c31f9d91e33433ac8252a21e9b14187c50f",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_sync.cu": "c0ff3e72900c3ab89a05dd03684e96d3b740cf1672d565727fc2af165933d087",
|
||||
"src/CelerisLab/lbm/kernels/step/init_flow.cu": "305be3bb12fc0d039acec1701baabcf0e8a35e683c49c34f2af8ca9867d2b29c",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_double.cu": "f9f8242b38e8e0cf8425b75e2b0215bc15363c62eaa0fb43c761b8e0931bfdc9",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_esopull.cu": "aa223b2744ae6c9125673df311a96ce588032c1ba58bebb11fd33ecb990f8ed4",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh": "dd5a9091628b079efd97e53fd49e52d09dcee88529235db77a5648e02937af6e",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_single_buffer.cuh": "77ed4ab9a0ebc5ff62a91a7c39066ef395391ae36e9040a69fb2bd8b1626dc79",
|
||||
"src/CelerisLab/lbm/kernels/streaming/pull_double_buffer.cuh": "b65d741ed78b7b62f99531ba0c0ce1936663d8dc9640e7d7d16c707f1baf6549",
|
||||
"src/CelerisLab/lbm/stepper.py": "e9e51e3a902fbda086d4707c0487e7b1dea6246fab290a24d82bd52d4296410e",
|
||||
"src/CelerisLab/simulation.py": "34d69e71844f553790c5a2bed0f8fbfb912a9498e95b500d1ef2ad41cae3b424",
|
||||
"tests/audit/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"tests/audit/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"tests/audit/body\u5220\u51cf\u529f\u80fd.md": "e9f308a8cd0f0e7df5441c32a15f84c0bae50bc0e56b8728f6c6f2cf78596673",
|
||||
"tests/audit/body\u91cd\u6784\u7b14\u8bb0.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"tests/audit/\u517c\u5bb9\u6027\u6d4b\u8bd5.md": "9c1721a33b381b9c3810545772b022913da06617711b5ba13a3c2c991b81a7f7",
|
||||
"tests/audit/\u5ba1\u8ba1.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"tests/audit/\u5ba1\u8ba1\u62a5\u544a_kernel_layer.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"tests/conftest.py": "fa0ec26667872c9c1011d608310d2551fd24719b5d216f06d923ff4c74c73237",
|
||||
"tests/integration/__init__.py": "c354e43ba09b55a8013a2df2069438740b5f48b5917d855e52e33ab5d7da5a6c",
|
||||
"tests/integration/_cases.py": "ab76ca1096d2d10fb05b3539aa8ed3c7e549619bae6900ac98723f6c3c908f2d",
|
||||
"tests/integration/test_body_sync_e2e.py": "d29f01771f3512a4b3ad06fae4ee952327d7fd9f0476942402fe92e9e327fcec",
|
||||
"tests/integration/test_ddf_patch.py": "dda2abba32ca13e17098232f2831a0b1b66439c35f8931d9997a0257250c1281",
|
||||
"tests/integration/test_numerical_gpu.py": "002a6745929bd5ee86a9491ea9bc3f97602fb825ea17262ea190c9311881100e",
|
||||
"tests/integration/test_runtime_contracts_gpu.py": "775e578e2e8072af32fc740b2698abbb79454235a0f3ee929ac4c75d747f8db5",
|
||||
"tests/integration/test_state_gpu.py": "dde0948941e8abbc5ea10a3acb3a35abbaea576f36ecee0f1120fbcf7454d60b",
|
||||
"tests/integration/test_sync_bodies_skeleton.py": "65f55a0980659b49ae0027f0642a27e2ebaead226ef083f233e878150884b07c",
|
||||
"tests/integration/test_unified_obs.py": "4a681536099741d92bdc258525fe3374cbdbeba0d49996e53808381a1b6a13fa",
|
||||
"tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"tests/postproc/run_exp_ctrl_matrix_streakline.py": "529d5f31a3862080f890c65177502b589710b2d960ddf131abaf7dc2f9e2a96f",
|
||||
"tests/postproc/run_exp_ctrl_matrix_vorticity.py": "b7e0c4113111b9b677f321750c0055656ccfa4f45c25fe7846f3ed22f30d1467",
|
||||
"tests/postproc/run_kan99b_streakline.py": "a2bbf3fc629ea170d2d4879317dbf2b81c43378a328100ac1f2ee8d9895666cb",
|
||||
"tests/postproc/run_stealth_steady_sweep.py": "3c32c4dede7da77fd6cfbd3f7b1ff43bb11390aaba621883ec96c6c7fdad5af7",
|
||||
"tests/postproc/streakline_triangle_clean.png": "aa6669de7af6f82e98af25698a15f494e9cea20cb911ad9a30fe52597d33bb79",
|
||||
"tests/postproc/vorticity_triangle_clean.png": "f831b8143b50f038d5920a0658469622655f34176d30cf7216feff108aa2ecaf",
|
||||
"tests/screening/run_config_sweep.py": "5030c99923815ed6ad39110cb56f748c579ff4c66c7c1a368ad1a6008017e2ff",
|
||||
"tests/specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"tests/specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"tests/specs/exp_ctrl_matrix.md": "5d9dd2e703582572eb68afe3a7096ea43ec82aa03418d20ed283c5365031e433",
|
||||
"tests/specs/kan99b.md": "b7e0669f0a6b677d902204f3427d1b3ac254bfe70c37d9cf995fb3e8f1fedfb1",
|
||||
"tests/specs/sah04.md": "33dbe5e0fd63738abd055c4aa403c191b6de04e6efdbc568f1942c6d23c7459f",
|
||||
"tests/specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"tests/unit/__init__.py": "17f57920d9c1ff46096ceb2af008eb38c4b98dc81ffa3c3d310e758e80ca1cd4",
|
||||
"tests/unit/cpp/collision_regression.cpp": "f17acdff74ab82a62dc5402b42e3f6a149c262e89b140494164d6ebd630f5e14",
|
||||
"tests/unit/cpp/planar_velocity.cpp": "8dea266984edc69d4e0e68007e038d7a587e99f84e33478d6656a66a56680933",
|
||||
"tests/unit/cpp/reservoir.cpp": "c3eacaf0271400eb45ad559b571a8f7faa2a809d5f1857ffeb5592addce2cd0c",
|
||||
"tests/unit/cpp/semantic_regression.cpp": "99dba074c0c0a32ea76026e7d54fc60af8e6d3dc5315c8900c470b4518878f39",
|
||||
"tests/unit/cpp/slot_profile.cpp": "31ac58ccab175bf79fa59fc46d4c0842df18ab0a5e5916be84760d9da2b75788",
|
||||
"tests/unit/test_body_flags.py": "ac6409157924e15a13a3d2cc2f1a09014b8b0198ba17c824f412ff20b19e2aac",
|
||||
"tests/unit/test_build_contracts.py": "7bb237425e8bb481f312fa4841c484e280731e13c7cbb9a53dad3e7f98984ac3",
|
||||
"tests/unit/test_context_ownership.py": "299fed30dd0f9bd4dadd8b27f50df2a6367bdb0ab2ca3f391f215fde7241f35a",
|
||||
"tests/unit/test_equilibrium.py": "1ecbcc4547b1c846b75320463d828d6a36b6aae73208084fae476b1001c1bb50",
|
||||
"tests/unit/test_initializers.py": "8b4e3358d925614984265ae73c142006b48fd1c3918cf84901f18afd9fe68c3a",
|
||||
"tests/unit/test_numerical_operators.py": "6d1d560ef553a2af7adac7db3e325d96d7fe39073d5fe3e0e982439537385b27",
|
||||
"tests/unit/test_pending_edits.py": "905a0dff23b123e8e38aaf364984c810fe51c39acd64aa271e343a4701d3d024",
|
||||
"tests/unit/test_planar_velocity.py": "b656da0880b4234b1db805544edbe0d2473cbcc7c2c869c71d8251337f62a982",
|
||||
"tests/unit/test_reservoir.py": "e718c78a53c3941aba7feb8ae4e8bb0b1726c1145de84febf91220c1917991c9",
|
||||
"tests/unit/test_simulation_lifecycle.py": "77abdc33218c35e9c8b62dbd99ceddbaccd8417e7f0b539ea8859ea0175c663a",
|
||||
"tests/unit/test_slot_velocity.py": "6a9494de9a32c350389ccbed58af48951f6b25a21a258537d2e8b73eb67cb11d",
|
||||
"tests/unit/test_state_regressions.py": "0f69cfeb83428192f95688c76abcae7e5b9cf5f27c52bca4ac20c7f320044374",
|
||||
"tests/unit/test_sync_plan.py": "983313ef783143231fa5a392f85f3bac011184773ccaf5d946504c206cabb721",
|
||||
"tests/validation/analyze_j3_saved_frames.py": "438f67dac682b94c4950626f8de4fdcde48c3a4e9ecf8fdf1b0ada4b6e0e781a",
|
||||
"tests/validation/diagnose_j3_lags.py": "286fcd65b3261667a847b9b26e213d0af92cf459faa6bbd774f78c8479ce31d7",
|
||||
"tests/validation/multigrid/MULTIGRID_VERIFICATION_STRATEGY.md": "d4f3473da44abee6031a0e1bd4d0ca589077a18f15d2461836e4d2ebb98e458a",
|
||||
"tests/validation/run_j1.py": "51b758a271ff358f931b3140a80082294a67e66c2fec0f8c19319e37f92aadc4",
|
||||
"tests/validation/run_j2_slot.py": "b7d2d3aa06fcafc3ac62ed4a50892afbdb7f86e5720ce75a39ce317b6f571dad",
|
||||
"tests/validation/run_j3_coverage.py": "329869519b7078e854d96241a7aad8ef93f35ac9be83f0be502c3a93523c3b13",
|
||||
"tests/validation/run_j3_reservoir.py": "47535bc3569ce68c888d38978bc4f9077fd763a17829c20c081be52bb18a2903",
|
||||
"tests/validation/run_kan99b_rotating_cylinder.py": "323186429a100f36b41ab9b81ade2da6a47e93be3ccb7034a3a6b97f4ee8eb00",
|
||||
"tests/validation/run_perf_baseline.py": "93dde2eb1132f45ea69e1e285ff421dc97a83651a22c79571f299c1909650721",
|
||||
"tests/validation/run_poiseuille.py": "e529288e2ffa8e00d281a9006723954d60a96ae4d025e8f28656c09287d4ff46",
|
||||
"tests/validation/run_sah04_st_matrix.py": "9b9c0ce063e07a316846635ee769b837ed26be6bf039f78f4219c10b516f8006",
|
||||
"tests/validation/test_sensor_accuracy.py": "c6038a9e7a597a1738814bd15e6ecf357cfd271cdc2a132d47943c5280ac0ef9"
|
||||
},
|
||||
"multigrid_before": [
|
||||
"tests/validation/multigrid/MULTIGRID_VERIFICATION_STRATEGY.md"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"old_files_checked": 269,
|
||||
"old_files_changed": [],
|
||||
"git_status_removed_entries": [],
|
||||
"git_status_new_entries_before_manifest": [
|
||||
"?? tests/validation/multigrid/cpu_reference.py",
|
||||
"?? tests/validation/multigrid/cpu_reference_v0.2.py",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/README.txt",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/README_grok.md",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/baseline.json",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/results_horsea.json",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/stdout_grok.txt",
|
||||
"?? tests/validation/multigrid/cpuref_0_3_evidence/stdout_horsea.txt",
|
||||
"?? tests/validation/multigrid/test_cpu_reference.py",
|
||||
"?? tests/validation/multigrid/test_open_corner_negative_control.py",
|
||||
"?? tests/validation/multigrid/test_tron_additions.py"
|
||||
],
|
||||
"seven_original_hashes_match": true,
|
||||
"substantive_objections": [],
|
||||
"delivered_byte_deviations": [],
|
||||
"tests": {
|
||||
"core": 15,
|
||||
"supplement": 5,
|
||||
"negative_control": 1,
|
||||
"all_passed": true,
|
||||
"attempts_per_script": 1
|
||||
},
|
||||
"new_files_except_this_manifest": [
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpu_reference.py",
|
||||
"bytes": 21501,
|
||||
"lines": 475,
|
||||
"sha256": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpu_reference_v0.2.py",
|
||||
"bytes": 20196,
|
||||
"lines": 441,
|
||||
"sha256": "b6adbad7da625ef6a6b97958ea9625030ed92676d0cada48e061c87bcf7ca8c9"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/README.txt",
|
||||
"bytes": 4133,
|
||||
"lines": 64,
|
||||
"sha256": "1947ee0232b88b3cc2c506d0b0af5ba051ecc94aa8f7f09228ef3939cc95919b"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/README_grok.md",
|
||||
"bytes": 1751,
|
||||
"lines": 18,
|
||||
"sha256": "065947e15b2242bce7d3eb05a3acdbb59939c621dcd5d31540ad4a1bd4416818"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/baseline.json",
|
||||
"bytes": 39291,
|
||||
"lines": 278,
|
||||
"sha256": "0daaccee41cabeb17a00e2405e2c7fd0b80d36f2d01778eb39c9fd22b13d2d47"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/results_horsea.json",
|
||||
"bytes": 2281,
|
||||
"lines": 79,
|
||||
"sha256": "914389afc39752bcd4132aa21fc8d5cbcf0ca75b1efd6a49becab15c2fa3361b"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/stdout_grok.txt",
|
||||
"bytes": 7143,
|
||||
"lines": 84,
|
||||
"sha256": "73e4ef01138842981daaa534390f1463839e63833c11f4e8872f94f8eaadc717"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/cpuref_0_3_evidence/stdout_horsea.txt",
|
||||
"bytes": 9013,
|
||||
"lines": 130,
|
||||
"sha256": "457f1d2173496554c87ca6e61df518c0b8f1e0a28cdfd94b94ebbb61bc459d70"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/test_cpu_reference.py",
|
||||
"bytes": 21144,
|
||||
"lines": 481,
|
||||
"sha256": "ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/test_open_corner_negative_control.py",
|
||||
"bytes": 3779,
|
||||
"lines": 68,
|
||||
"sha256": "59a6f8ca80cdd63cb7827fbebf9b4b555c3793f19dd6bca801544ec10b5cbe1b"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/test_tron_additions.py",
|
||||
"bytes": 11340,
|
||||
"lines": 229,
|
||||
"sha256": "8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"started_utc": "2026-10-13T03:42:59.253863+00:00",
|
||||
"cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"python_executable": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"environment": {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"
|
||||
},
|
||||
"limits": {
|
||||
"address_space_bytes": [
|
||||
268435456,
|
||||
268435456
|
||||
],
|
||||
"output_file_bytes": [
|
||||
2097152,
|
||||
2097152
|
||||
],
|
||||
"core_bytes": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"max_coarse_steps_per_case": 8
|
||||
},
|
||||
"runs": [
|
||||
{
|
||||
"test_script": "test_cpu_reference.py",
|
||||
"command": [
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/test_cpu_reference.py"
|
||||
],
|
||||
"returncode": 0,
|
||||
"elapsed_seconds": 1.4467838869895786,
|
||||
"cumulative_child_peak_rss_MiB": 37.5
|
||||
},
|
||||
{
|
||||
"test_script": "test_tron_additions.py",
|
||||
"command": [
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/test_tron_additions.py"
|
||||
],
|
||||
"returncode": 0,
|
||||
"elapsed_seconds": 0.677576785965357,
|
||||
"cumulative_child_peak_rss_MiB": 37.5
|
||||
},
|
||||
{
|
||||
"test_script": "test_open_corner_negative_control.py",
|
||||
"command": [
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/test_open_corner_negative_control.py"
|
||||
],
|
||||
"returncode": 0,
|
||||
"elapsed_seconds": 0.8977452759863809,
|
||||
"cumulative_child_peak_rss_MiB": 37.5
|
||||
}
|
||||
],
|
||||
"stdout_bytes": 9013,
|
||||
"completed_utc": "2026-10-13T03:43:02.276695+00:00"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
=== CPUREF-0.3 Grok independent suite (15 core + 5 adapted additions) ===
|
||||
test_corner_pass_links_identity_marker (test_cpu_reference.TestFourCorners.test_corner_pass_links_identity_marker)
|
||||
Identity: a marker in the source's post-collision slot q must arrive exactly at K. ... ok
|
||||
test_four_corner_symmetry_srt (test_cpu_reference.TestFourCorners.test_four_corner_symmetry_srt)
|
||||
Mirror the lower-left SRT corner case to the other three corners; values must match. ... ok
|
||||
test_leaf_mass_momentum_8_steps (test_cpu_reference.TestIdentityTransportConservation.test_leaf_mass_momentum_8_steps) ... ok
|
||||
test_matches_independent_implementation (test_cpu_reference.TestIdentityTransportConservation.test_matches_independent_implementation) ... ok
|
||||
test_coalescence_slots_reads_owner (test_cpu_reference.TestOwnershipPoison.test_coalescence_slots_reads_owner) ... ok
|
||||
test_collision_and_explosion_counts (test_cpu_reference.TestOwnershipPoison.test_collision_and_explosion_counts) ... ok
|
||||
test_hop_sources_never_outer (test_cpu_reference.TestOwnershipPoison.test_hop_sources_never_outer) ... ok
|
||||
test_inputs_not_mutated_and_maps_readonly (test_cpu_reference.TestOwnershipPoison.test_inputs_not_mutated_and_maps_readonly) ... ok
|
||||
test_invalid_input_entries_ignored_and_poisoned (test_cpu_reference.TestOwnershipPoison.test_invalid_input_entries_ignored_and_poisoned) ... ok
|
||||
test_make_spec_api (test_cpu_reference.TestOwnershipPoison.test_make_spec_api) ... ok
|
||||
test_nonfinite_active_input_rejected (test_cpu_reference.TestOwnershipPoison.test_nonfinite_active_input_rejected) ... ok
|
||||
test_leaf_conservation_and_collision_moments_8_steps (test_cpu_reference.TestSRT.test_leaf_conservation_and_collision_moments_8_steps) ... ok
|
||||
test_matches_independent_implementation (test_cpu_reference.TestSRT.test_matches_independent_implementation) ... ok
|
||||
test_identity_changes_expected_packet (test_cpu_reference.TestSRTCornerOracle.test_identity_changes_expected_packet) ... ok
|
||||
test_srt_oracle (test_cpu_reference.TestSRTCornerOracle.test_srt_oracle) ... ok
|
||||
test_eight_unique_keys_and_child_packets (test_tron_additions.TestCornerIndividualPackets.test_eight_unique_keys_and_child_packets) ... ok
|
||||
test_coalesce_paths_reconstructed_test_side (test_tron_additions.TestRetainedDiagnostics.test_coalesce_paths_reconstructed_test_side) ... ok
|
||||
test_hop2_mask_semantics (test_tron_additions.TestRetainedDiagnostics.test_hop2_mask_semantics) ... ok
|
||||
test_srt_coarse_and_fine_nan_masks_equal (test_tron_additions.TestSRTNanMask.test_srt_coarse_and_fine_nan_masks_equal) ... ok
|
||||
test_diagnostic_field_delta (test_tron_additions.TestV02V03FieldDelta.test_diagnostic_field_delta)
|
||||
Compare top-level diagnostic keys and budget keys between v0.2 and v0.3. ... ok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Ran 20 tests in 0.480s
|
||||
|
||||
OK
|
||||
reference: /workspace/amr_tests_v03/cpu_reference_v0.3.py API CPUREF-0.3
|
||||
sha256 bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e cpu_reference_v0.3.py
|
||||
sha256 ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca test_cpu_reference.py
|
||||
sha256 8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4 test_tron_additions.py
|
||||
python 3.13.5 numpy 2.5.3 Linux-6.12.94+-x86_64-with-glibc2.41
|
||||
|
||||
reference corner_links lists 8 uniquely keyed corner-pass links
|
||||
|
||||
corner SRT symmetry values: {'LL': np.float64(0.02798201349283891), 'LR': np.float64(0.027982013492838912), 'UL': np.float64(0.02798201349283891), 'UR': np.float64(0.02798201349283891)}
|
||||
|
||||
[identity] leaf0=[255.98790565531962, 7.683069168222897, -5.122316610476732] leaf8=[255.98790565532028, 7.683069168222904, -5.122316610476715] drift=[6.536993168992922e-13, 7.105427357601002e-15, 1.687538997430238e-14]
|
||||
|
||||
[identity] max |ref - independent| over 3 steps = 0.000e+00
|
||||
|
||||
slots=100 (corner-pass 8), unique reads=400, max read multiplicity=1
|
||||
|
||||
counts: coarse cells collided once=192, fine twice=256, ghost explosion writes=320; tick validation OK
|
||||
|
||||
[srt] leaf0=[256.01002619890596, 7.680601714336587, -5.120130711410963] leaf8=[256.0100261989044, 7.680601714336586, -5.120130711410962] drift=[-1.5347723092418164e-12, -8.881784197001252e-16, 8.881784197001252e-16]
|
||||
|
||||
[srt] max |ref - independent| over 3 steps = 2.776e-16
|
||||
|
||||
[identity corner] expected=0.026777777777777775 got=np.float64(0.026777777777777775); srt-expected differs by 1.204e-03
|
||||
|
||||
[srt corner] expected=0.02798201349283891 got=np.float64(0.02798201349283891) diff=0.000e+00 (uncoalesced g8=0.028027777777777776)
|
||||
|
||||
[8 corner keys] ['lower_left_q7', 'lower_left_q8', 'lower_right_q5', 'lower_right_q6', 'upper_left_q5', 'upper_left_q6', 'upper_right_q7', 'upper_right_q8']; packets 3xg8+1xmid8, weights 0.25, avg=0.02798201349283891
|
||||
|
||||
[coalesce_paths test-side] 100 rows x 4; hist={('corner_pass', 'A', 'I'): 8, ('corner_pass', 'I', 'I'): 24, ('face_or_diag_from_patch', 'A', 'A'): 180, ('face_or_diag_from_patch', 'I', 'A'): 188}
|
||||
|
||||
[hop2_valid] matches independent derivation; valid inner=1060; reads hop2-valid=400
|
||||
|
||||
[srt masks] coarse+fine NaN masks equal over 3 steps; max diff 2.776e-16
|
||||
|
||||
[v0.2→v0.3 fields] removed=['coalesce_paths', 'explosion_count', 'fine_valid_after'] added=['hop2_valid']; budget rename closure_error→bookkeeping_check; corner_packets 4→8
|
||||
peak_rss_MiB 42.6171875
|
||||
RESULT OK testsRun 20
|
||||
|
||||
=== open-corner negative control ===
|
||||
test_open_vs_closed (__main__.OpenCornerNegativeControl.test_open_vs_closed) ... ok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Ran 1 test in 0.215s
|
||||
|
||||
OK
|
||||
[identity] coalesce rows closed=100 open=92 dropped=8
|
||||
[identity] seed=1 steps=1 closed: max|leaf drift|=5.551e-17 max|interface_residual|=2.109e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,5.551e-17,2.776e-17) max|interface_residual|=1.776e-15
|
||||
[identity] seed=1 steps=8 closed: max|leaf drift|=2.776e-16 max|interface_residual|=2.276e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,2.220e-16,2.776e-16) max|interface_residual|=2.665e-15
|
||||
[identity] seed=2 steps=1 closed: max|leaf drift|=3.331e-16 max|interface_residual|=1.971e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,1.665e-16,3.331e-16) max|interface_residual|=2.665e-15
|
||||
[identity] seed=2 steps=8 closed: max|leaf drift|=5.684e-14 max|interface_residual|=2.998e-15 | OPEN: max|leaf drift| (mass,mx,my)=(5.684e-14,2.220e-16,3.331e-16) max|interface_residual|=2.665e-15
|
||||
[srt] coalesce rows closed=100 open=92 dropped=8
|
||||
[srt] seed=1 steps=1 closed: max|leaf drift|=2.269e-14 max|interface_residual|=2.831e-15 | OPEN: max|leaf drift| (mass,mx,my)=(2.078e-03,8.560e-04,2.620e-04) max|interface_residual|=2.078e-03
|
||||
[srt] seed=1 steps=8 closed: max|leaf drift|=4.040e-14 max|interface_residual|=4.774e-15 | OPEN: max|leaf drift| (mass,mx,my)=(2.078e-03,8.560e-04,2.620e-04) max|interface_residual|=2.078e-03
|
||||
[srt] seed=2 steps=1 closed: max|leaf drift|=4.078e-14 max|interface_residual|=2.331e-15 | OPEN: max|leaf drift| (mass,mx,my)=(5.660e-04,2.359e-04,6.755e-04) max|interface_residual|=6.755e-04
|
||||
[srt] seed=2 steps=8 closed: max|leaf drift|=4.078e-14 max|interface_residual|=2.554e-15 | OPEN: max|leaf drift| (mass,mx,my)=(6.526e-04,5.767e-04,1.401e-03) max|interface_residual|=1.401e-03
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"started_utc": "2026-10-13T03:42:59.253863+00:00",
|
||||
"cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"python_executable": "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"environment": {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"
|
||||
},
|
||||
"limits": {
|
||||
"address_space_bytes": [
|
||||
268435456,
|
||||
268435456
|
||||
],
|
||||
"output_file_bytes": [
|
||||
2097152,
|
||||
2097152
|
||||
],
|
||||
"core_bytes": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"max_coarse_steps_per_case": 8
|
||||
},
|
||||
"runs": []
|
||||
}
|
||||
|
||||
COMMAND /usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B /home/frank14f/CelerisLab/tests/validation/multigrid/test_cpu_reference.py
|
||||
test_corner_pass_links_identity_marker (__main__.TestFourCorners)
|
||||
Identity: a marker in the source's post-collision slot q must arrive exactly at K. ... ok
|
||||
test_four_corner_symmetry_srt (__main__.TestFourCorners)
|
||||
Mirror the lower-left SRT corner case to the other three corners; values must match. ... ok
|
||||
test_leaf_mass_momentum_8_steps (__main__.TestIdentityTransportConservation) ... ok
|
||||
test_matches_independent_implementation (__main__.TestIdentityTransportConservation) ... ok
|
||||
test_coalescence_slots_reads_owner (__main__.TestOwnershipPoison) ... ok
|
||||
test_collision_and_explosion_counts (__main__.TestOwnershipPoison) ... ok
|
||||
test_hop_sources_never_outer (__main__.TestOwnershipPoison) ... ok
|
||||
test_inputs_not_mutated_and_maps_readonly (__main__.TestOwnershipPoison) ... ok
|
||||
test_invalid_input_entries_ignored_and_poisoned (__main__.TestOwnershipPoison) ... ok
|
||||
test_make_spec_api (__main__.TestOwnershipPoison) ... ok
|
||||
test_nonfinite_active_input_rejected (__main__.TestOwnershipPoison) ... ok
|
||||
test_leaf_conservation_and_collision_moments_8_steps (__main__.TestSRT) ... ok
|
||||
test_matches_independent_implementation (__main__.TestSRT) ... ok
|
||||
test_identity_changes_expected_packet (__main__.TestSRTCornerOracle) ... ok
|
||||
test_srt_oracle (__main__.TestSRTCornerOracle) ... ok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Ran 15 tests in 1.230s
|
||||
|
||||
OK
|
||||
reference: /home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py API CPUREF-0.3
|
||||
sha256 bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e cpu_reference.py
|
||||
sha256 ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca test_cpu_reference.py
|
||||
python 3.10.13 numpy 1.26.4 Linux-6.8.0-138-generic-x86_64-with-glibc2.35
|
||||
|
||||
reference corner_links lists 8 uniquely keyed corner-pass links
|
||||
|
||||
corner SRT symmetry values: {'LL': 0.02798201349283891, 'LR': 0.027982013492838912, 'UL': 0.02798201349283891, 'UR': 0.02798201349283891}
|
||||
|
||||
[identity] leaf0=[255.98790565531962, 7.683069168222897, -5.122316610476732] leaf8=[255.98790565532028, 7.683069168222904, -5.122316610476715] drift=[6.536993168992922e-13, 7.105427357601002e-15, 1.687538997430238e-14]
|
||||
|
||||
[identity] max |ref - independent| over 3 steps = 0.000e+00
|
||||
|
||||
slots=100 (corner-pass 8), unique reads=400, max read multiplicity=1
|
||||
|
||||
counts: coarse cells collided once=192, fine twice=256, ghost explosion writes=320; tick validation OK
|
||||
|
||||
[srt] leaf0=[256.01002619890596, 7.680601714336587, -5.120130711410963] leaf8=[256.0100261989044, 7.680601714336586, -5.120130711410962] drift=[-1.5347723092418164e-12, -8.881784197001252e-16, 8.881784197001252e-16]
|
||||
|
||||
[srt] max |ref - independent| over 3 steps = 2.776e-16
|
||||
|
||||
[identity corner] expected=0.026777777777777775 got=0.026777777777777775; srt-expected differs by 1.204e-03
|
||||
|
||||
[srt corner] expected=0.027982013492838916 got=0.02798201349283891 diff=-6.939e-18 (uncoalesced g8=0.028027777777777783)
|
||||
peak_rss_MiB 37.5
|
||||
|
||||
RUN_RESULT {"test_script": "test_cpu_reference.py", "command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/test_cpu_reference.py"], "returncode": 0, "elapsed_seconds": 1.4467838869895786, "cumulative_child_peak_rss_MiB": 37.5}
|
||||
|
||||
COMMAND /usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B /home/frank14f/CelerisLab/tests/validation/multigrid/test_tron_additions.py
|
||||
test_eight_unique_keys_and_child_packets (__main__.TestCornerIndividualPackets) ... ok
|
||||
test_coalesce_paths_reconstructed_test_side (__main__.TestRetainedDiagnostics) ... ok
|
||||
test_hop2_mask_semantics (__main__.TestRetainedDiagnostics) ... ok
|
||||
test_srt_coarse_and_fine_nan_masks_equal (__main__.TestSRTNanMask) ... ok
|
||||
test_diagnostic_field_delta (__main__.TestV02V03FieldDelta)
|
||||
Compare top-level diagnostic keys and budget keys between v0.2 and v0.3. ... ok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Ran 5 tests in 0.464s
|
||||
|
||||
OK
|
||||
reference: /home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py API CPUREF-0.3
|
||||
sha256 bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e cpu_reference.py
|
||||
sha256 ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca test_cpu_reference.py
|
||||
sha256 8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4 test_tron_additions.py
|
||||
python 3.10.13 numpy 1.26.4 Linux-6.8.0-138-generic-x86_64-with-glibc2.35
|
||||
|
||||
[8 corner keys] ['lower_left_q7', 'lower_left_q8', 'lower_right_q5', 'lower_right_q6', 'upper_left_q5', 'upper_left_q6', 'upper_right_q7', 'upper_right_q8']; packets 3xg8+1xmid8, weights 0.25, avg=0.027982013492838916
|
||||
|
||||
[coalesce_paths test-side] 100 rows x 4; hist={('corner_pass', 'A', 'I'): 8, ('corner_pass', 'I', 'I'): 24, ('face_or_diag_from_patch', 'A', 'A'): 180, ('face_or_diag_from_patch', 'I', 'A'): 188}
|
||||
|
||||
[hop2_valid] matches independent derivation; valid inner=1060; reads hop2-valid=400
|
||||
|
||||
[srt masks] coarse+fine NaN masks equal over 3 steps; max diff 2.776e-16
|
||||
|
||||
[v0.2→v0.3 fields] removed=['coalesce_paths', 'explosion_count', 'fine_valid_after'] added=['hop2_valid']; budget rename closure_error→bookkeeping_check; corner_packets 4→8
|
||||
peak_rss_MiB 37.4609375
|
||||
|
||||
RUN_RESULT {"test_script": "test_tron_additions.py", "command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/test_tron_additions.py"], "returncode": 0, "elapsed_seconds": 0.677576785965357, "cumulative_child_peak_rss_MiB": 37.5}
|
||||
|
||||
COMMAND /usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B /home/frank14f/CelerisLab/tests/validation/multigrid/test_open_corner_negative_control.py
|
||||
test_open_vs_closed (__main__.OpenCornerNegativeControl) ... ok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Ran 1 test in 0.703s
|
||||
|
||||
OK
|
||||
[identity] coalesce rows closed=100 open=92 dropped=8
|
||||
[identity] seed=1 steps=1 closed: max|leaf drift|=5.551e-17 max|interface_residual|=2.109e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,5.551e-17,2.776e-17) max|interface_residual|=1.776e-15
|
||||
[identity] seed=1 steps=8 closed: max|leaf drift|=2.776e-16 max|interface_residual|=2.276e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,2.220e-16,2.776e-16) max|interface_residual|=2.665e-15
|
||||
[identity] seed=2 steps=1 closed: max|leaf drift|=3.331e-16 max|interface_residual|=1.971e-15 | OPEN: max|leaf drift| (mass,mx,my)=(0.000e+00,1.665e-16,3.331e-16) max|interface_residual|=2.665e-15
|
||||
[identity] seed=2 steps=8 closed: max|leaf drift|=5.684e-14 max|interface_residual|=2.998e-15 | OPEN: max|leaf drift| (mass,mx,my)=(5.684e-14,2.220e-16,3.331e-16) max|interface_residual|=2.665e-15
|
||||
[srt] coalesce rows closed=100 open=92 dropped=8
|
||||
[srt] seed=1 steps=1 closed: max|leaf drift|=2.269e-14 max|interface_residual|=2.831e-15 | OPEN: max|leaf drift| (mass,mx,my)=(2.078e-03,8.560e-04,2.620e-04) max|interface_residual|=2.078e-03
|
||||
[srt] seed=1 steps=8 closed: max|leaf drift|=4.040e-14 max|interface_residual|=4.774e-15 | OPEN: max|leaf drift| (mass,mx,my)=(2.078e-03,8.560e-04,2.620e-04) max|interface_residual|=2.078e-03
|
||||
[srt] seed=2 steps=1 closed: max|leaf drift|=4.078e-14 max|interface_residual|=2.331e-15 | OPEN: max|leaf drift| (mass,mx,my)=(5.660e-04,2.359e-04,6.755e-04) max|interface_residual|=6.755e-04
|
||||
[srt] seed=2 steps=8 closed: max|leaf drift|=4.078e-14 max|interface_residual|=2.554e-15 | OPEN: max|leaf drift| (mass,mx,my)=(6.526e-04,5.767e-04,1.401e-03) max|interface_residual|=1.401e-03
|
||||
|
||||
RUN_RESULT {"test_script": "test_open_corner_negative_control.py", "command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/test_open_corner_negative_control.py"], "returncode": 0, "elapsed_seconds": 0.8977452759863809, "cumulative_child_peak_rss_MiB": 37.5}
|
||||
@@ -0,0 +1,124 @@
|
||||
Local-stress observable v1 — Horsea review and single-run handoff
|
||||
2026-10-13, Asia/Shanghai. Observation-only; reference unchanged.
|
||||
|
||||
Actual result
|
||||
Exactly one execution of the delivered script: 7 runs x 32 coarse steps, exit 0.
|
||||
Original 22 Boolean hard checks plus 7 stress-finite checks: all 29 pass.
|
||||
Both ALL_HARD_CHECKS_PASS_V02 and ALL_HARD_CHECKS_PASS_WITH_STRESS are True.
|
||||
No retries, added cases, modified formulas, relaxed tolerances or new R thresholds.
|
||||
|
||||
Review status (separate from numerical results)
|
||||
Grok authored the implementation and ran it in an independent environment.
|
||||
The coordinating root reported an independent static review with no substantive
|
||||
issue. Claude's implementation-code review is paused due to an API error and
|
||||
has NOT completed. Claude's earlier specification discussion and the table's
|
||||
"implicit-definition checks" do not constitute a completed code review.
|
||||
Horsea read all 902 script lines, original stdout, table and manifest, reviewed
|
||||
the related reference paths and local reference sources below, and found no
|
||||
substantive numerical objection blocking this bounded diagnostic rerun.
|
||||
|
||||
Scope and static review
|
||||
Applied .github/skills/lbm-ref-architecture-guard/SKILL.md and its reference/
|
||||
architecture checklists. No applicable ancestor AGENTS.md was found.
|
||||
The incoming script is standalone NumPy+stdlib, with no runtime dependency on
|
||||
the previous shear script. Its original bytes are preserved. Architecture:
|
||||
main -> run_uniform(B/C) / run_composite(A/A_T) -> arrival populations ->
|
||||
sigma_xy_cell -> level-specific sigma restriction -> Fourier R and profiles.
|
||||
The composite advance uses the existing CPUREF-0.3 API without wrapping or
|
||||
changing its algorithm. The external recorder pins the reference before import;
|
||||
the diagnostic's printed REF_SHA_MATCH alone would not enforce that pin.
|
||||
|
||||
Reference findings (read-only, no imported reference packages)
|
||||
1. ref/lbmpy/src/lbmpy/macroscopic_value_kernels.py, strain_rate_tensor_getter:
|
||||
the second moment is formed from f minus equilibrium; S=-3*omega*Pi/(2*rho).
|
||||
2. ref/OpenLB/src/functors/lattice/latticePhysStrainRate2D.hh independently uses
|
||||
the negative nonequilibrium-moment sign and omega/(2*rho*cs^2*dt) conversion.
|
||||
3. ref/lbmpy/src/lbmpy/relaxationrates.py gives nu=(tau-.5)/3. Combining
|
||||
sigma=2*rho*nu*S yields -(1-1/(2*tau))*Pi_neq in lattice units.
|
||||
4. ref/OpenLB/src/core/unitConverter.h converts viscosity by dx^2/dt and
|
||||
pressure/stress by density*(dx/dt)^2. Here dx/dt=1 on both levels and density
|
||||
units match, so no additional scale factor belongs in this observation.
|
||||
5. Existing cpu_reference.py: paired D2Q9 ordering, physical patch offset,
|
||||
acoustic tau scaling, arrival_f input/output, tick increment 2, and owned
|
||||
leaf-cell masks. The pinned full reference was reviewed in the prior round;
|
||||
this review reread its maps, collision/explosion, leaf totals and advance path.
|
||||
|
||||
Verified definitions
|
||||
Initialization remains equilibrium of the exact cell-average sine velocity,
|
||||
not exact cell averages of nonlinear f_eq. Fine coordinates include patch offset.
|
||||
All final observations use coarse step 32: composite arrival_f tick=64,
|
||||
uniform B after 64 collide-stream substeps and C after 32. No extra collision.
|
||||
Pi_xy^neq=sum(cx*cy*f)-rho*ux*uy is evaluated per owned cell. Each level applies
|
||||
its own tau to obtain sigma BEFORE 2x2 volume averaging. Covered coarse values
|
||||
and fine ghosts are excluded. Velocity restriction averages rho/j before u=j/rho.
|
||||
R uses a_u=(2/256)*sum(u*sin) from the same run and final arrival state, not an
|
||||
analytic decay amplitude. This raw Fourier coefficient includes the cell-average
|
||||
sinc factor; the old decay fit amplitude uses its sinc-normalized template.
|
||||
The cosine stress projection and velocity projection use a common 16x16 grid.
|
||||
Signed horizontal profiles average columns 4:12 and retain all 16 rows; rows
|
||||
3,4,11,12 flank the patch faces. The transposed case reports R only, no profile.
|
||||
|
||||
Runtime evidence
|
||||
Existing Python 3.10.13 / NumPy 1.26.4, CPU only. run_once.py is a standalone
|
||||
stdlib recorder derived from the previous recorder; it does not execute or
|
||||
import the prior diagnostic. It checks all four delivered file hashes, the tar
|
||||
hash and reference hash before launch, and refuses existing logs/results.
|
||||
Parent and child both used /usr/bin/prlimit with soft=hard bounds:
|
||||
--as=268435456 --fsize=2097152 --core=0
|
||||
Process-only OPENBLAS_NUM_THREADS=1, PYTHONDONTWRITEBYTECODE=1,
|
||||
PYTHONNOUSERSITE=1, PYTHONOPTIMIZE=0; PYTHONPATH is only the current multigrid
|
||||
directory. CPU_REFERENCE_PATH explicitly selects its cpu_reference.py.
|
||||
results_horsea.json and stdout_horsea.txt retain full argv, environment, cwd,
|
||||
preflight SHA values, versions, times, exit status and measured RSS.
|
||||
UTC start/end: 2026-10-13 06:01:08.222086 / 06:01:10.671541
|
||||
Local start/end: 14:01:08 / 14:01:10 Asia/Shanghai.
|
||||
Child elapsed 2.435032 s; peak RSS 38.41796875 MiB; parent peak 18.75 MiB.
|
||||
Combined stdout/stderr with recorder metadata: 17091 bytes, below 2 MiB.
|
||||
|
||||
Grok and prior-result comparison
|
||||
comparison.json parses each of the 29 Boolean checks, the original 22 names,
|
||||
both all-pass markers, R values, ratios and every profile value. HARD CHECKS,
|
||||
STRESS FINITE CHECKS, SUMMARY_LINES and DECAY FITS blocks all match Grok
|
||||
exactly at printed precision. All recorded numeric differences are zero.
|
||||
The ten profile rows in SUMMARY_LINES contain 160 scalar entries total.
|
||||
Six current lambda values also match the prior local shear output at 8 decimal
|
||||
places (the precision emitted by this script). Prior 10-decimal values are
|
||||
retained in the comparison for provenance, not claimed freshly measured here.
|
||||
Full stdout hashes need not match across machines; paths, runtime and recorder
|
||||
metadata differ. Printed equality is not full-precision field equality.
|
||||
|
||||
R at coarse step 32 (diagnostic only):
|
||||
phi0: A=1.011774619306 B=.998555854025 C=1.008383635570
|
||||
phiPi/2: A=1.011850480751 B=.998555854025 C=1.008383635570
|
||||
A_T: 1.011850480751
|
||||
|
||||
Interpretation limits (separate from pass/fail checks)
|
||||
The retained transpose assertion covers u/rho, not stress. R_A_T agreeing with
|
||||
R_A at phiPi/2 is a reported observation, NOT a new stress-transpose hard test.
|
||||
Seven finite-stress checks do not establish local stress accuracy, convergence,
|
||||
interface stress-transfer correctness or any causal mechanism. One resolution,
|
||||
tau pair, patch and short window remain in scope. Composite conservation uses
|
||||
the reference leaf-total helper; this is not a new independent conservation
|
||||
oracle. Time-held ghosts and unscaled nonequilibrium transfer remain candidate,
|
||||
non-exhaustive explanations. No time-interpolated ghosts were implemented.
|
||||
|
||||
Frozen state and handoff
|
||||
baseline.json froze HEAD, Git status and 292 old-file hashes, including all
|
||||
previous CPUREF/shear evidence. Its stated hash scope excludes the read-only
|
||||
ref tree, symlinks and bytecode. Final manifest.json verifies the frozen files,
|
||||
original inputs and reference, and lists new paths/bytes/SHA256; its own SHA is
|
||||
reported in the handoff. Only this evidence directory and the delivered
|
||||
local_stress_observable_v1.py were added. No production imports, GPU/solver
|
||||
runs, installs, environment/SSH/system changes, DynamisLab access, commit or push.
|
||||
Stopped here for joint acceptance; Claude code review remains outstanding.
|
||||
|
||||
User authorization evidence, verbatim as relayed by the coordinating thread
|
||||
<transcript_evidence>
|
||||
assistant(Sentinel_65ef50edab8c819194404548b6b8e469): 新增的局部剪切应力观测已在 Grok 那边跑通,但同步到 Horsea 又被拦住:审查把上次许可限定为那一份文件。
|
||||
|
||||
你是否允许本轮 AMR 协作后续的代码、测试、日志和报告,经现有 SSH 同步到 Horsea,并只在 CelerisLab/tests/validation/multigrid 内审阅和运行小型 CPU 验证?包含这次新观测;每次仍限 256 MiB 内存、2 MiB 输出,不改环境或生产代码。
|
||||
user(Sentinel_d0d3a42b2c088191aa8aebc105fb1b27): 允许,你用GPU验证都行
|
||||
</transcript_evidence>
|
||||
The coordinating instruction narrows this run to CPU observation-only. Future
|
||||
GPU work was not performed or specified here; this is not unrestricted remote
|
||||
operation authorization. Input transfer was already complete when received.
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
# Local-stress observable v1 — R / ratio / profile table
|
||||
|
||||
Spec: `18_local_stress_observable_spec_v1.md`
|
||||
Reference: CPUREF-0.3 sha256 `bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e` (unchanged)
|
||||
Script: `local_stress_observable_v1.py`
|
||||
Stdout: `stdout_local_stress_observable_v1.txt`
|
||||
Arrival: CPUREF `State.coarse_f` / `State.fine_f` at `phase='arrival_f'` tick=64 after 32 `advance_coarse_once`; uniforms use post-stream `f` after collide→stream.
|
||||
Diagnostic values only — no thresholds or mechanism claim. φ probes phase structure only.
|
||||
|
||||
## Hashes
|
||||
| file | sha256 |
|
||||
|------|--------|
|
||||
| local_stress_observable_v1.py | 0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456 |
|
||||
| stdout_local_stress_observable_v1.txt | 6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4 |
|
||||
| cpu_reference_v0.3.py | bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e |
|
||||
|
||||
## Hard checks
|
||||
- ALL_HARD_CHECKS_PASS_V02 = True (22 Booleans, unchanged from shear v0.2)
|
||||
- ALL_HARD_CHECKS_PASS_WITH_STRESS = True (+7 finite stress-array checks)
|
||||
- runtime 0.77 s, CPU only, exit 0
|
||||
|
||||
## Scalar R at coarse step 32
|
||||
|
||||
| φ | R_A | R_B | R_C | R_A/R_B | R_A/R_C |
|
||||
|---|-----|-----|-----|--------|--------|
|
||||
| 0 | 1.011774619306 | 0.998555854025 | 1.008383635570 | 1.013237882716 | 1.003362791319 |
|
||||
| π/2 | 1.011850480751 | 0.998555854025 | 1.008383635570 | 1.013313853874 | 1.003438022057 |
|
||||
|
||||
Transposed A (φ=π/2): R_A_T = 1.011850480751 (R only; no profile). Matches R_A at φ=π/2.
|
||||
|
||||
## Signed horizontal-face profile s(j) (x-avg over columns [4,12), / ρ0 ν k a_u)
|
||||
|
||||
Face rows flagged: j = 3, 4, 11, 12 (patch faces at y=4 and y=12).
|
||||
|
||||
### φ = 0 — face rows
|
||||
| j | s_A | s_B | s_C | s_A−s_B | s_A−s_C |
|
||||
|---|-----|-----|-----|--------|--------|
|
||||
| 3 | 1.826885e-01 | 1.948086e-01 | 1.967259e-01 | -1.212007e-02 | -1.403738e-02 |
|
||||
| 4 | -2.146875e-01 | -1.948086e-01 | -1.967259e-01 | -1.987891e-02 | -1.796161e-02 |
|
||||
| 11 | -2.146875e-01 | -1.948086e-01 | -1.967259e-01 | -1.987891e-02 | -1.796161e-02 |
|
||||
| 12 | 1.826885e-01 | 1.948086e-01 | 1.967259e-01 | -1.212007e-02 | -1.403738e-02 |
|
||||
|
||||
### φ = π/2 — face rows
|
||||
| j | s_A | s_B | s_C | s_A−s_B | s_A−s_C |
|
||||
|---|-----|-----|-----|--------|--------|
|
||||
| 3 | -1.003712e+00 | -9.793689e-01 | -9.890078e-01 | -2.434262e-02 | -1.470367e-02 |
|
||||
| 4 | -9.868392e-01 | -9.793689e-01 | -9.890078e-01 | -7.470343e-03 | 2.168600e-03 |
|
||||
| 11 | 9.868392e-01 | 9.793689e-01 | 9.890078e-01 | 7.470343e-03 | -2.168600e-03 |
|
||||
| 12 | 1.003712e+00 | 9.793689e-01 | 9.890078e-01 | 2.434262e-02 | 1.470367e-02 |
|
||||
|
||||
Full 16-row profiles are in stdout `SUMMARY_LINES` / `PROFILE_*` blocks.
|
||||
|
||||
## Implicit-definition checks (Claude's three)
|
||||
1. a_u = each run's own projected amplitude from the same arrival state — **yes** (not U0·e^{−νk²t}).
|
||||
2. Profile x-average over patch columns x∈[4,12) for A/B/C — **yes**.
|
||||
3. Transposed run reports R only, no profile — **yes**; R_A_T = R_A(φ=π/2).
|
||||
@@ -0,0 +1,300 @@
|
||||
{
|
||||
"created_utc": "2026-10-13T05:59:18.680177+00:00",
|
||||
"head": "6e3756c587ec08ab6a55c4a1a5f4671822d3f0a0",
|
||||
"git_status": " M pyproject.toml\n M setup.py\n M src/CelerisLab/__init__.py\n M src/CelerisLab/body/__init__.py\n M src/CelerisLab/body/ddf_patch.py\n M src/CelerisLab/body/manager.py\n M src/CelerisLab/body/preprocess/flag_overlay.py\n M src/CelerisLab/common/__init__.py\n M src/CelerisLab/common/checkpoint.py\n M src/CelerisLab/config.py\n M src/CelerisLab/configs/CONFIG.md\n M src/CelerisLab/cuda/__init__.py\n M src/CelerisLab/cuda/compiler_v2.py\n M src/CelerisLab/cuda/context.py\n M src/CelerisLab/lbm/__init__.py\n M src/CelerisLab/lbm/curved_links.py\n M src/CelerisLab/lbm/field.py\n M src/CelerisLab/lbm/initializers.py\n M src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh\n M src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh\n M src/CelerisLab/lbm/kernels/config/config_grid.h\n M src/CelerisLab/lbm/kernels/config/config_method.h\n M src/CelerisLab/lbm/kernels/config/config_objects.h\n M src/CelerisLab/lbm/kernels/config/config_physics.h\n M src/CelerisLab/lbm/kernels/kernel_v2.cu\n M src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh\n M src/CelerisLab/lbm/kernels/operators/collision_trt.cuh\n M src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh\n M src/CelerisLab/lbm/kernels/step/aux_kernels.cu\n M src/CelerisLab/lbm/kernels/step/esopull_sync.cu\n M src/CelerisLab/lbm/kernels/step/init_flow.cu\n M src/CelerisLab/lbm/kernels/step/one_step_double.cu\n M src/CelerisLab/lbm/kernels/step/one_step_esopull.cu\n M src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh\n M src/CelerisLab/lbm/stepper.py\n M src/CelerisLab/simulation.py\n M tests/integration/test_body_sync_e2e.py\n M tests/integration/test_ddf_patch.py\n M tests/integration/test_sync_bodies_skeleton.py\n M tests/integration/test_unified_obs.py\n M tests/postproc/experiment.ipynb\n M tests/validation/run_kan99b_rotating_cylinder.py\n M tests/validation/run_sah04_st_matrix.py\n M tests/validation/test_sensor_accuracy.py\n?? docs/design/README.md\n?? docs/design/integrated_architecture.md\n?? docs/design/multi_level_grid_architecture.md\n?? docs/design/multi_level_summary.md\n?? docs/design/multi_level_visual_reference.md\n?? docs/design/spatial_coupling_refinement.md\n?? docs/multilevel_grid_architecture_analysis.md\n?? research/audit-2026-10-09/REVIEW.zh-CN.md\n?? research/audit-2026-10-09/architecture-cpu-results.json\n?? research/audit-2026-10-09/architecture-report.md\n?? research/audit-2026-10-09/numerical-report.md\n?? research/audit-2026-10-09/numerical_collision_results.json\n?? research/audit-2026-10-09/numerical_compile_results.json\n?? research/audit-2026-10-09/numerical_semantics_results.json\n?? research/audit-2026-10-09/root-initializers-report.md\n?? research/audit-2026-10-09/state-report.md\n?? research/audit-2026-10-09/state_results.json\n?? research/design-2026-10-09/Contracts.lean\n?? research/design-2026-10-09/PLAN.zh-CN.md\n?? research/design-2026-10-09/api-architecture-study.md\n?? research/design-2026-10-09/grid-study.md\n?? research/design-2026-10-09/jet-study.md\n?? research/design-2026-10-09/jet_closure_check.py\n?? research/design-2026-10-09/jet_closure_results.json\n?? research/design-2026-10-09/math-and-history.md\n?? research/design-2026-10-09/math-checks.json\n?? research/design-2026-10-09/math_checks.py\n?? research/j1-2026-10-12/REVIEW.md\n?? research/j1-2026-10-12/baseline-status.txt\n?? research/j1-2026-10-12/baseline.json\n?? research/j1-2026-10-12/incremental.diff\n?? research/j1-2026-10-12/results.json\n?? research/j2-slot-2026-10-12/REVIEW.md\n?? research/j2-slot-2026-10-12/baseline-status.txt\n?? research/j2-slot-2026-10-12/baseline.json\n?? research/j2-slot-2026-10-12/incremental.diff\n?? research/j2-slot-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/REVIEW.md\n?? research/j3-coverage-2026-10-12/baseline-status.txt\n?? research/j3-coverage-2026-10-12/baseline.json\n?? research/j3-coverage-2026-10-12/incremental.diff\n?? research/j3-coverage-2026-10-12/negative-budget-20744.h5\n?? research/j3-coverage-2026-10-12/negative-end-20760.h5\n?? research/j3-coverage-2026-10-12/restart-21280.h5\n?? research/j3-coverage-2026-10-12/restart-reference-21296.h5\n?? research/j3-coverage-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/verification.json\n?? research/j3-lag-2026-10-12/REVIEW.md\n?? research/j3-lag-2026-10-12/baseline-status.txt\n?? research/j3-lag-2026-10-12/baseline.json\n?? research/j3-lag-2026-10-12/end-21280.h5\n?? research/j3-lag-2026-10-12/incremental.diff\n?? research/j3-lag-2026-10-12/results.json\n?? research/j3-lag-2026-10-12/start-20760.h5\n?? research/j3-lag-2026-10-12/trajectory.h5\n?? research/j3-offline-2026-10-12/REVIEW.md\n?? research/j3-offline-2026-10-12/lags.csv\n?? research/j3-offline-2026-10-12/localization.png\n?? research/j3-offline-2026-10-12/regions.csv\Line truncated
|
||||
"hash_scope": "Tracked/nonignored untracked regular files and all prior baseline paths, including CPUREF and shear evidence. Excludes read-only ref tree, symlinks and bytecode.",
|
||||
"hashes": {
|
||||
".cursor/rules/cuda-style.mdc": "5810cf8cff793a11ba5dedafaa8a4e7d7d3debb728d837ca1903ff6dc8d6fdb9",
|
||||
".cursor/rules/project-layout.mdc": "aeed1cd9d48447bcfcfb6a77250af7c5a3d500de4c6b2591c5684696fa04c3ec",
|
||||
".cursor/rules/python-style.mdc": "ece75cb724d7dc46cb8dab7ecf8d710a90b503001da0d506ea4bf772ce395e21",
|
||||
".cursorignore": "9f072faa815a6c6d4dc791a424201404f0f623338681ae3d2fcbdf86db1bd035",
|
||||
".gitignore": "de25151f4cfdf29ca64032e509398e1829c7ded2449ccff803b2fd87d859ae6c",
|
||||
"LICENSE": "e98392425e9a0007d0d69f0f7c912c2dc1b59061a6197223962aac45599c76ea",
|
||||
"README.md": "982d0df8b766b1d5017ba702b75e8b3cec8d22f57af8f434be27ea251652596c",
|
||||
"docs/audit/audit_round2.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"docs/audit/body_refactor_notes.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"docs/audit/config_diagnosis.md": "b601652df0cac36a8faf2b317b11853221353716a25184cd9b2dc41373a7f183",
|
||||
"docs/audit/kernel_layer_audit.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"docs/design/README.md": "98242c6960866d9b75aaf363f703edf02c4210bc38da1a340e9f6add49c6a3ce",
|
||||
"docs/design/integrated_architecture.md": "c26b0d301321fe4b86d83d11c7e0b8d0c0545ee2995afa563966f004e9788132",
|
||||
"docs/design/multi_level_grid_architecture.md": "e56a67d9129f2e3c311342e21a3fb2ed14bd492dd881949b251d5d9ac577bdee",
|
||||
"docs/design/multi_level_summary.md": "eebf23e0bec9b154e5ce2128e2806e7558a7d4824b2c700cfd16afd1158b2354",
|
||||
"docs/design/multi_level_visual_reference.md": "cad4bfbd561e5650ec297334529334b662a1ed35f7373c61f34ee22ecf1f66bd",
|
||||
"docs/design/spatial_coupling_refinement.md": "36c878c7afad524999d89fa842297a98a0433e0283e78b36ca734ddbf8723ed8",
|
||||
"docs/multilevel_grid_architecture_analysis.md": "90309730b1759d63531cb258c30db990ab71ca1b56ae47d0bbe2f4e2ae52012c",
|
||||
"docs/performance_analysis.md": "ba01aaa4d3c02b61a8dc55fd00518ac291ebbed79b6574190d6b7234a1158fcb",
|
||||
"docs/tests_overview.md": "ffc9591fd7baa4261b2c1ce9cfa7aa13a3554a8d5df712035806266a5eaade3f",
|
||||
"docs/validation_specs/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"docs/validation_specs/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"docs/validation_specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"docs/validation_specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"docs/validation_specs/exp_ctrl_matrix.md": "b7250576c23292988b6ef4bcfd080f611d41edc413c3cebd0eadcc8596049470",
|
||||
"docs/validation_specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"output/round3_compatibility_summary.md": "319f2e6abde4b34cc4ec90ef461d8ebb85dd5a3ac1736cfa7a3fb110f2a69df9",
|
||||
"pyproject.toml": "f24ab9ad3a6a728a9382b1bce2e721612fc76635f35c6f96dfddaa853b6e5a9c",
|
||||
"research/audit-2026-10-09/REVIEW.zh-CN.md": "2841fd3aa7a6baedbe1079d90915c8b05212b133824ed6abccaa1f09656eaefe",
|
||||
"research/audit-2026-10-09/architecture-cpu-results.json": "e1b809210005c8765b13fddbb5ed710d15f6fcbb4c5788a4064f3e88808433ef",
|
||||
"research/audit-2026-10-09/architecture-report.md": "861079dc3f4ced9fdc41bfb22002d32e190c0d630d3ba2f138f9dc7a949b8371",
|
||||
"research/audit-2026-10-09/numerical-report.md": "970330b3a593f79f09866ce6ae82bc0ddd81226230d0a6ff06ae8ae756ee80da",
|
||||
"research/audit-2026-10-09/numerical_collision_results.json": "51e5c263bb8cde82cedef2ccfdbf5ef657742a80218d7896b1ff877516e59693",
|
||||
"research/audit-2026-10-09/numerical_compile_results.json": "c3b0ae02072a2ec408ada7513b542ec255f6855cb743a3ed7f91bd8f31504f44",
|
||||
"research/audit-2026-10-09/numerical_semantics_results.json": "b95b065b594aa2911740dab216f87936c9bf7f7fa25acfda93b5738443564035",
|
||||
"research/audit-2026-10-09/root-initializers-report.md": "ca448457c444949d5d0e1e10fa7121064510b77fc4c3512580900f0299219867",
|
||||
"research/audit-2026-10-09/state-report.md": "f8708807efc2e109810c5955f7c1884a932668c0b3cb2963c2df3b09f2a3d5c4",
|
||||
"research/audit-2026-10-09/state_results.json": "da9170df3e11231c73f20e5e79ed68e08966673d1dd52004ea6b6a279afc0dcd",
|
||||
"research/design-2026-10-09/Contracts.lean": "2442d9a778ef20e8af3fecf23be6fea6d73c6299ff744c9664b652bc5ee3f034",
|
||||
"research/design-2026-10-09/PLAN.zh-CN.md": "0341dd7ee306a040340c8e5dedb07a109e931c27dbf3c994d072aa78e3b6bc67",
|
||||
"research/design-2026-10-09/api-architecture-study.md": "d6fb45ec784f0e1db55fb9f34e137b9f551db0b9b39fd4f0ef247a78fc34eedf",
|
||||
"research/design-2026-10-09/grid-study.md": "4435dc1275ec5e15b118becc6ac391f306195d1e5beaa58037b1aff3bb2465c7",
|
||||
"research/design-2026-10-09/jet-study.md": "a362142ef04a5ad5dbb4c9db9d221b1199dccec53780c8f2da49a15201cfe529",
|
||||
"research/design-2026-10-09/jet_closure_check.py": "fde45d0f8518740ef5c0bf0fe7635d6adaf9a2e789927dd4e68e991c138ddc30",
|
||||
"research/design-2026-10-09/jet_closure_results.json": "12cf7d400a206f9f9ec9ea6ad251fe6bb0232e27bcbed22fbc1ead2c0fc7d249",
|
||||
"research/design-2026-10-09/math-and-history.md": "64f8c82e4949d6f58b46faa09800958714859c36cad20bbeeae8b449ae7a6099",
|
||||
"research/design-2026-10-09/math-checks.json": "94750381954317cde8d649db26beaed8ea945666572a05030ca2b4d97d384011",
|
||||
"research/design-2026-10-09/math_checks.py": "4254983a783fe4bad8888b3d7c243c87d991c7bbf242edb0f56f25cbaefee890",
|
||||
"research/j1-2026-10-12/REVIEW.md": "13004a4f140acdcf59acb57e9e2dda1bb95763d30060f822a7c206c94b813a9f",
|
||||
"research/j1-2026-10-12/baseline-status.txt": "ac398360e05b746b89ae0c3acfe202b5122e650a3bb1ff234ab26f874a303e64",
|
||||
"research/j1-2026-10-12/baseline.json": "ad7afdf7b3913d11c07343e971fe2f43c2d1a2b99e3d5904a6ba89e3bb0b24fb",
|
||||
"research/j1-2026-10-12/checkpoint-gpu.log": "adfe3d77d2e6c6f6184dccc0267b4404b20a7709505d5ff5affed0ed4a618083",
|
||||
"research/j1-2026-10-12/cpu.log": "60cac097f7c4f11401df2aacb43a248640555e7628d2829c4680c71db34e9640",
|
||||
"research/j1-2026-10-12/gpu-validation.log": "d1e9f2aea17a85eddcd94b81c700738ce073214857b55c28abd1219ff1edbed7",
|
||||
"research/j1-2026-10-12/gpu.log": "8659a78ea52bbf8eb923d46ea71636ce63cd322352d5c98a74f631e666dd8cfb",
|
||||
"research/j1-2026-10-12/incremental.diff": "a454c23da7b0011645949c0fbf64d0c41ecfdab5642b1b7c5119868005d3c721",
|
||||
"research/j1-2026-10-12/results.json": "449f8a17dacac0fc6d2489c4b10bac330dbbbdb38fad3ce54f739ac8c6d48e85",
|
||||
"research/j2-slot-2026-10-12/REVIEW.md": "10c4a94ffc32e0a2c4e0f6593b7cfc28479b5869f279f0b9d0b708fa3a47d1e6",
|
||||
"research/j2-slot-2026-10-12/baseline-status.txt": "812616e2d941efcf854e1b37d6e662dda1aaf2b69074fcc04017133e13b72166",
|
||||
"research/j2-slot-2026-10-12/baseline.json": "e82a1844145fd0cbc585c581b29f80b56193f122cfe1dfa7578f26904a720285",
|
||||
"research/j2-slot-2026-10-12/cli.log": "9482ad7101d501f27f92e204b2f3ae5c6d91bd887b525aa31cb4a2a188f3cb92",
|
||||
"research/j2-slot-2026-10-12/cpu.log": "91aba5961006909fbbb860429a9d3cfc930112a0d74c7788bc51c0a5897b47e5",
|
||||
"research/j2-slot-2026-10-12/gpu-serialization-failure.log": "df804e53b35e7ddaad79a17842b4b5fd9d834e29ca2d56edb00e835848d09200",
|
||||
"research/j2-slot-2026-10-12/gpu-validation.log": "223351b52c70fa4523289f3a1b3db435a11286379253280470900ffe397580a6",
|
||||
"research/j2-slot-2026-10-12/incremental.diff": "c9e391bc91438cd912c1ed5a419705d4388522f672c67a066cfc055e814e699f",
|
||||
"research/j2-slot-2026-10-12/results.json": "7d35ca7989aed5380e0a45de7f583972566fc516a051da63c53b35514e267494",
|
||||
"research/j3-coverage-2026-10-12/REVIEW.md": "7293f3f3442855c8521698605aab504e026915a7bf1e77f5a24710d89a812443",
|
||||
"research/j3-coverage-2026-10-12/baseline-status.txt": "31c949b11b20d7cd4202dba16882b5712aa1653da0cb2da2f0ebd69bf488040e",
|
||||
"research/j3-coverage-2026-10-12/baseline.json": "d8844104f2665a25bfc417ee29becf89ab3955fac9105b5ddb12cfb1fe2a55b0",
|
||||
"research/j3-coverage-2026-10-12/gpu-validation.log": "505cd5a5db46d7984aefb2a614151c25c4ace0e7d2a52e02c3e4f9792fd8eb95",
|
||||
"research/j3-coverage-2026-10-12/incremental.diff": "98aa7855d5d6b91b4509a924c8a5aabab4339ba29c7e7dc2d91262c48e3848ca",
|
||||
"research/j3-coverage-2026-10-12/negative-budget-20744.h5": "c09d75fc4a2cff68039a0956bd9d32b79b9cd3a6b386c72b4db54c214b110cd8",
|
||||
"research/j3-coverage-2026-10-12/negative-end-20760.h5": "bd0bd063579d625e358762b1fdde5ac11bfcf739646a847fb77a4a2031011b9b",
|
||||
"research/j3-coverage-2026-10-12/restart-21280.h5": "3e89c12c16f91f76ca9acd909e0fa7d42df6fbb5e870b299aa08ca42bc3e3dc9",
|
||||
"research/j3-coverage-2026-10-12/restart-reference-21296.h5": "7192f510dd7820675aa1de130f55514136fba782cf77f92545189918a7e0c328",
|
||||
"research/j3-coverage-2026-10-12/results.json": "02460981ad49c9cc13b4246abad1d8afd2599c61bfb545a6e32da9bbcd5c0db1",
|
||||
"research/j3-coverage-2026-10-12/verification.json": "205986efd2b41635721b7fd20288be982348c765180102c7102750ba088f3a28",
|
||||
"research/j3-lag-2026-10-12/REVIEW.md": "f388b64b0cc0413dc9865afda90ed24de666dda0d6cdb821b4363ce1b73631b3",
|
||||
"research/j3-lag-2026-10-12/baseline-status.txt": "e0b69879084f54afac1a3bc3701f1de9819068190c815ae84421f02f83cad9f7",
|
||||
"research/j3-lag-2026-10-12/baseline.json": "5e9a920813fe3d775110af85af92970d5245a7040ace804445e432353b77e489",
|
||||
"research/j3-lag-2026-10-12/end-21280.h5": "19a94e9e8db6dd9ac981effe06032c351992250b58768d9c090409193893d588",
|
||||
"research/j3-lag-2026-10-12/gpu-availability.log": "b227a519b8286849cfdf842573bd451803da048c6b27af9517f6b8964cd3aa39",
|
||||
"research/j3-lag-2026-10-12/gpu-diagnostic.log": "97956b517072b7c34e2e29e2a23f87eafb19b9eda786a4b8149e4a2eaed76ee9",
|
||||
"research/j3-lag-2026-10-12/host-check.log": "b2b6d262934b3abf9e0f0bdbde14b339cb977f7bffe391c17b51b5d067862dda",
|
||||
"research/j3-lag-2026-10-12/incremental.diff": "ebdf66c72daf17b926482f79a1a30bf0eb2d27fc930a7bb62e5449ebcf72fcc7",
|
||||
"research/j3-lag-2026-10-12/results.json": "00435ac7e402943e55e702fac1beb5af8cafe71967999658bcde2b29077b1fa8",
|
||||
"research/j3-lag-2026-10-12/start-20760.h5": "6c4cba5928c77566c2afc32231311a3986831c18fea766faadebb101243399e2",
|
||||
"research/j3-lag-2026-10-12/trajectory.h5": "2b51f8ec5e0cc8ca72c73ac1b51dd611158368e6d6de791d85150fa111ea1986",
|
||||
"research/j3-offline-2026-10-12/REVIEW.md": "d9902c58498e73c29e054b23adb968f7e1e14421cba5c58d03bbc5a50159ae79",
|
||||
"research/j3-offline-2026-10-12/cpu-analysis.log": "bc02a9b197fc15ae1b503ca54655a7622d4361f9b45b7848ff9c387ea3665f11",
|
||||
"research/j3-offline-2026-10-12/lags.csv": "fbd9addd413f24c47f4411317e872265bb774e8e1724fe169412befa860ae94d",
|
||||
"research/j3-offline-2026-10-12/localization.png": "a72907638e32b0ecfc2205bea438e7b408f40aad86217ce6ad9b4877840c9cfc",
|
||||
"research/j3-offline-2026-10-12/regions.csv": "3a8fc640b61d70e3b7f73d2bf8ac2bd3f720adf39a90dfda6180430e0489efae",
|
||||
"research/j3-offline-2026-10-12/results.json": "cdb857bea6f4e06ed15acf773505ce6d5147f8cb8ce0a53cc368ee267cde6361",
|
||||
"research/j3-reservoir-2026-10-12/REVIEW.md": "1ea5f860728584ea6cbe40ba3994e40471102d8e2cf6d93e28fe47222cba0cab",
|
||||
"research/j3-reservoir-2026-10-12/baseline-status.txt": "0ef1a8c9878c4053ebc1a7d4bace6d4ec38bf27ace167b4239ddbb1c6c897e20",
|
||||
"research/j3-reservoir-2026-10-12/baseline.json": "847fefd1eae971985d34d04d89ee6d6f1c91f6940c54fe351d112faba7bc6838",
|
||||
"research/j3-reservoir-2026-10-12/cpu.log": "b33f6c1a1b0ee67968c4cff85d491e46e30e0d6c796b552629714ab8b5dcead0",
|
||||
"research/j3-reservoir-2026-10-12/gpu-availability-sandbox.log": "1d58470512e583a0acfabf6896ee5f31e5b493b8231aed54b864f64eb275b02c",
|
||||
"research/j3-reservoir-2026-10-12/gpu-validation.log": "ff04024db197e332f37c912a96413e3251fd0186947348ffbc33af6f4a899f2c",
|
||||
"research/j3-reservoir-2026-10-12/incremental.diff": "fae312831d71e46dd477a640b06ed927853a9e735d26bf9f5868927fa31cfa56",
|
||||
"research/j3-reservoir-2026-10-12/results.json": "49685de7679a14860258abf1753aaa6d116ad709b868d907ddb40e74c9b845ea",
|
||||
"research/repair-2026-10-10/TRON_HANDOFF.md": "f8aaa3d99cd133c2055d4adf396a0a57d14f6006aea19e87611bd1c2c1b53a88",
|
||||
"research/repair-2026-10-10/baseline-hashes.json": "d6a7d5f9ec5bceb0e7927d55603d9c5e70105982cd945723454659b19ab476e6",
|
||||
"research/repair-2026-10-10/baseline-status.txt": "074088d793014e3b8154c58718058c7d300fb45595f5129fa957ef1e4cec38e2",
|
||||
"research/repair-2026-10-10/checkpoint-domain-2026-10-12.diff": "292b4bafe7a62d4fbbf7c165eb99929336edfcaa16b15f34f72ab71fcd928391",
|
||||
"research/repair-2026-10-10/classic-results.json": "a5d15305f516fd378b54cf9029102be58a83a55a7bad4b8e058fcfe0cc9898f4",
|
||||
"research/repair-2026-10-10/classic-signals.npz": "820c9a0b0713d7455f0a5839ac2cd5ee706086d1a26461225dcdb095673421e2",
|
||||
"research/repair-2026-10-10/final-gpu.log": "988bb97256d17b88c14f3793b15880d727ecb285abe62e7d2ae27a16729651c3",
|
||||
"research/repair-2026-10-10/final-unit.log": "a892a39ecf88125558538cadce2cb5dc46d106b993b164e03da4ebb0eee68cef",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"research/repair-2026-10-10/original-user-files/tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"research/repair-2026-10-10/provenance.json": "a81b7e32ecf7182c9617df1b39bbb063a05ef89290ad501bac4573cd5e8a6832",
|
||||
"research/repair-2026-10-10/repair-architecture.md": "49be42ff5c994017f3175e17efda14d84f0b68f8ecd239f66ccee38415b60c5a",
|
||||
"research/repair-2026-10-10/repair-numerical.md": "0272ebfa8c519aad161c520542cf53156574661609b91fd5ccad7955fdf2bd7b",
|
||||
"research/repair-2026-10-10/repair-state.md": "4d4aa1ec0c11a87d2c8380912e7ed74cf5c910ae42e5cc529effde36c9020969",
|
||||
"research/repair-2026-10-10/simplification-checks.log": "c9f15e870d02003480adf1a7f2fe4a9aca66c1934c4477619f05c8a4798ba85b",
|
||||
"setup.py": "bf07df7ec19de56710d2bb5f61873e09710cd059d46837dc3aa54f3e09ff9e06",
|
||||
"src/CelerisLab/__init__.py": "21cc469bd6e970a1f9ff5970c8eea4602065e41fc881854759ee565ee55c10c6",
|
||||
"src/CelerisLab/body/__init__.py": "d6ec221d51eaf7b1da11ef320b399599cf5b9422e5bc271a7264a273033e6928",
|
||||
"src/CelerisLab/body/action_smoother.py": "b1a23ee6bbd4850b172cb8738c5c3546ee465a54189e6af9d8044f023d4687dc",
|
||||
"src/CelerisLab/body/coupling/__init__.py": "c931f7eb318d48408c3e2febcc6917c88c8dcc1697cbf4329b1f340d94c35763",
|
||||
"src/CelerisLab/body/coupling/soa_packer.py": "8ec26fd55ef74801bbd5ab6bd3d0a7dabc750cbd498aaac2ca4c61a0108ad3c9",
|
||||
"src/CelerisLab/body/ddf_patch.py": "60fcfb7441e73bf290bcff41ca3a83da3e7ddad765d7247464e8f02e3043b4e2",
|
||||
"src/CelerisLab/body/geometry/__init__.py": "ada88980ab672959aca9aa3a4c4aade3219524b2ab68110cd2a2f41e3e0ca90a",
|
||||
"src/CelerisLab/body/geometry/base.py": "cceca14361ca2f34d34a3e43730e1a79b8ca81be00f0dd62e884db32b479419f",
|
||||
"src/CelerisLab/body/geometry/circle.py": "7605ca7c21103f1d801ac73ab8dd18dffbdac425b2dee7b8858b283628a9e436",
|
||||
"src/CelerisLab/body/manager.py": "eac22c9ac92c26e89c10bb089fb3c4156e4eb7bd0c1b1f6fe6dd32e2940a020e",
|
||||
"src/CelerisLab/body/objects.py": "71692d098ebb5ab2d0e614cb9b7854f048b8b33fbe6707e61fd0e8ac35745017",
|
||||
"src/CelerisLab/body/preprocess/__init__.py": "dfd9d58bc07f626ab23a70053e31b88a6d9165d2e4c76a4e9f48abe674d3d2ec",
|
||||
"src/CelerisLab/body/preprocess/flag_overlay.py": "831fc9e9736b758847759a085ff133eb49ec91318ace4fda76f85960138ee300",
|
||||
"src/CelerisLab/body/registry.py": "fbb7327780adbdc6da15ebdb799980daf32df22ee974af0893d7409f177bbb68",
|
||||
"src/CelerisLab/body/sync_plan.py": "a73ac9ee361b2120d0b7bbebeaa2ccbf924ba27bd95d4dd4b383c10a39b2a409",
|
||||
"src/CelerisLab/common/__init__.py": "d4dbde78bc97fccc9eabac9abae8f0f15c112c10ff8e9b45bd9401d4723df1ef",
|
||||
"src/CelerisLab/common/_types.py": "aad2ff1a9033d4fd68783ad7123afb47201ddc58785cb6dc0246947037072a5f",
|
||||
"src/CelerisLab/common/checkpoint.py": "5b7caf3896167a3f37c539b58837de6eb3f8085fa7bf5f821a09666cc16d43a4",
|
||||
"src/CelerisLab/common/pathline.py": "a1b6efcc0a076d0f1dc8d49a595779426d7d5626b00072a59bac710ff02ad046",
|
||||
"src/CelerisLab/common/preprocess.py": "7fc78a08857cf8e98519500b094a1d896af189b6b15658ff9b388ed51bed4515",
|
||||
"src/CelerisLab/common/render.py": "0e055476257eb2bcd11e733766e52195de02f8fad228f570a3511a7c831bdc29",
|
||||
"src/CelerisLab/common/streakline/__init__.py": "13ff1cfa416fdd721a08a659e76b5a5a99b8d3201add10a83b7b0bc654bc1eec",
|
||||
"src/CelerisLab/common/streakline/_config.py": "a9185ef68e9c7b5d5a1dc0b04a28341e2ad91d13c145a7c106636a878cf0a605",
|
||||
"src/CelerisLab/common/streakline/_integrate.py": "3fbd4368b2c8d0e7fda40dc65aac5df02b085008b4c68acd83cb7ae45d33a13b",
|
||||
"src/CelerisLab/common/streakline/_render.py": "236cd637414ee318c4d66f9aed32110d8dc42a100d65fde06172f7cd0ba62c65",
|
||||
"src/CelerisLab/common/streakline/_streakline.py": "1a3e08daa706b5f83cdeb337e9a945a36ddf7583c40af1d0bb9d825ac954df37",
|
||||
"src/CelerisLab/config.py": "2f1bba7515f5bc08cb3a8d140bcafe7fa0689e01b3b06494697bb2956a71530e",
|
||||
"src/CelerisLab/configs/CONFIG.md": "41cafdbe525366c08aa9d0416ea026ccf0026ba7123b8a9b65f968a80d928e3a",
|
||||
"src/CelerisLab/configs/config_body.json": "055f261f0828ca1d4f2bb694bd15b72bbcabe31d552326208f28e37f761adab1",
|
||||
"src/CelerisLab/configs/config_lbm.json": "17e4311f1f250c6ece59177a8b6ff856b69a016c7c10267e774b030a0a390865",
|
||||
"src/CelerisLab/configs/config_lbm_flume_mrt_zouhe.json": "8f593321db05a563a42931603a228d61cbcba06dfbe113262d5cd0ad93c0fe79",
|
||||
"src/CelerisLab/configs/config_lbm_flume_trt_regularized.json": "f4bba8e6a4339fc3c4eb14f6e2f57c4b22993c73703c773d853edfbe34736e56",
|
||||
"src/CelerisLab/configs/config_lbm_three_cylinder_triangle.json": "eeb8e7149dbe4aa6b3a9562802735aa950750dfbe2d972a0727e788573afa817",
|
||||
"src/CelerisLab/cuda/__init__.py": "0d01dff9f0399c8baba822aab5ca0122a135f011008ed8a499ebd9f7e5b06aea",
|
||||
"src/CelerisLab/cuda/compiler_v2.py": "c4cc3ec4445c8d75e6a253dd87963877117a722bc73b9d4811806fc6045d08c1",
|
||||
"src/CelerisLab/cuda/context.py": "013dd4ec6d01d2fbd11afdfb103eac6a273bd9f798d663d761b851eeb27885e9",
|
||||
"src/CelerisLab/cuda/obs_layout.py": "5ffb2c3aeeaaaaeb64f2cd8febfbcf4ad9919e5414020ad753cfade0683b21c2",
|
||||
"src/CelerisLab/lbm/__init__.py": "7f60fb3aaae81501b510d08c2fedff44fcb05657260eb10b6f5cc91e7204306b",
|
||||
"src/CelerisLab/lbm/curved_links.py": "587f3f4638688c09c0850bef2f314780d03f06c9211abc5fd773fbeecabc3326",
|
||||
"src/CelerisLab/lbm/descriptors.py": "c9f025dfc14da43b989047b84cc22bd05d5cc92c9ec695c1da68fdfb788e3f2b",
|
||||
"src/CelerisLab/lbm/equilibrium.py": "2fb2f2bb7ff326d23abce80fc2a4c0907b17740ea3e29fe6ae079c5044783826",
|
||||
"src/CelerisLab/lbm/field.py": "0e727eacc3706add4d8d15c418e9b631050871f831698d3ac689dd5f2c701b9b",
|
||||
"src/CelerisLab/lbm/initializers.py": "dacf9586963e862d6d0a98ef1a066036be6f91e9d423720661d8ef2c1fb2df6a",
|
||||
"src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh": "aba3748c564ed91b161d268ef8b737b7c7be96a823063d201f3da684dd845233",
|
||||
"src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh": "4bd761e81b32f4bb3238fbb1f6ea890cde0cc987cd8bbeb54e9df8b0e1b57914",
|
||||
"src/CelerisLab/lbm/kernels/boundary/esopull_curved_helpers.cuh": "b9b474bc4edaff05681c5443235472d04072d0d775fc0eb9c5967faef52b0258",
|
||||
"src/CelerisLab/lbm/kernels/boundary/ibm_kernels.cuh": "e6909b547dc8d64cdd8a76a90660243a8f5fee535caa161b52b4dd8b7c29934b",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/channel_stabilized.cuh": "efe077afcbb6b731256a987c2fd79a1dbc470c902f87070d60421ea6cb13d4e2",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh": "f3cec54c8873c65b3dca4375605d2c89a8727765884d3954c235242fdff9c6ba",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/equilibrium.cuh": "f0964c811b2c41a5aaa1c6d99c490b06e850c634eb8749f1f05ef61f93c2de1d",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/regularized.cuh": "943d4a571818bacb89c70bccfaac202691121e3e385803ce6309123a0a03ddaf",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh": "e73e66b853b1e4e0e30d8f4185d832aa414ce670a1813ce2b5459f2887f71f89",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh": "de8b213a6da42c2e5e9f8966199fc66ea4541b85144a90f3f5dbad3c6ab63b97",
|
||||
"src/CelerisLab/lbm/kernels/boundary/outlet/pressure_neq.cuh": "c8b2adc66d12fe602076ddc9693c5c208711fcaddb58aa9a31401a269f51c4c4",
|
||||
"src/CelerisLab/lbm/kernels/boundary/planar_velocity.cuh": "0b2f9e0bd483c199637e5672dc0ffc460bc383dd1804805befbeb4c5d8c708d1",
|
||||
"src/CelerisLab/lbm/kernels/config.h": "7d1124125e0b354558297934460e64c760fb68cdd7bf6d01a1238bb2eaab8c37",
|
||||
"src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"src/CelerisLab/lbm/kernels/config/config_obs.h": "c11e2249359145b5c4cbaaf0487506fa77c1f4b82c7c169ddc574aa0babcd727",
|
||||
"src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"src/CelerisLab/lbm/kernels/core/descriptors.cuh": "8440bc14857da9007982650f828a23608eec9f7cc4bf772e8c8dc1239cb45356",
|
||||
"src/CelerisLab/lbm/kernels/core/flags.cuh": "0025705f24710330d9d9195f713879bfb650a85a3449baef0e196b831af104ab",
|
||||
"src/CelerisLab/lbm/kernels/core/layout.cuh": "1fbd820021c89ac3efcde24145996cb0147769e607e498e61f308ed3e0b13706",
|
||||
"src/CelerisLab/lbm/kernels/core/obs.cuh": "b742b77c9f61e1f020fe9922c3838ae9d855e17b381154958b58f10a22938922",
|
||||
"src/CelerisLab/lbm/kernels/core/params.cuh": "6e18bf730d936d940e3d85452f0714a2eaae31bf41002f9fd520ec5b372878dd",
|
||||
"src/CelerisLab/lbm/kernels/core/precision.cuh": "849df14b4cce50af52399e4b8f3e997196f3ae5f1163f68e28df3e6b2507a8c4",
|
||||
"src/CelerisLab/lbm/kernels/kernel_v2.cu": "c7bd3fb705b77261ba2441c52a24a7e6a7865c165cba088a1b75201c4d29c408",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh": "aee444eb60c47a3fd518dca975d1af05425a0818a0ec6c3fb3f6150f60c2cb44",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_srt.cuh": "6b7ff842f392c8f853d2d1a97cc69bfe50f21283f73e659404da07cf6c95f5e1",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_trt.cuh": "9725b9840b9ad8b4ec7be61ff5d06d3151e86d1a87585c13f2fbf934d0d2c5f6",
|
||||
"src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh": "969a430c1af03f32e3bd0df95d805e64f56334717c44dd4ba208ba503062a24b",
|
||||
"src/CelerisLab/lbm/kernels/operators/helpers.cuh": "0b3a4d95d7d19f5fec09e5423b8f4cc99f8a226b541967425967330da5a051ec",
|
||||
"src/CelerisLab/lbm/kernels/operators/macro.cuh": "e27c1c410dc857be98da4596568e405eeaf88701d291ac0e398aa9cd23dee740",
|
||||
"src/CelerisLab/lbm/kernels/operators/turbulence_smag.cuh": "ff7f000297ee0817e255ad9fcb6a13b647e3ddd5b206518d35f38d2895a9f501",
|
||||
"src/CelerisLab/lbm/kernels/step/aux_kernels.cu": "bb7f07d898f0d5151e5bd0f45e6bd819c5e83a345a265b73204906ac3cc29db4",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_macro.cu": "c73116020ca217ede1e4de27c8269c31f9d91e33433ac8252a21e9b14187c50f",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_sync.cu": "c0ff3e72900c3ab89a05dd03684e96d3b740cf1672d565727fc2af165933d087",
|
||||
"src/CelerisLab/lbm/kernels/step/init_flow.cu": "305be3bb12fc0d039acec1701baabcf0e8a35e683c49c34f2af8ca9867d2b29c",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_double.cu": "f9f8242b38e8e0cf8425b75e2b0215bc15363c62eaa0fb43c761b8e0931bfdc9",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_esopull.cu": "aa223b2744ae6c9125673df311a96ce588032c1ba58bebb11fd33ecb990f8ed4",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh": "dd5a9091628b079efd97e53fd49e52d09dcee88529235db77a5648e02937af6e",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_single_buffer.cuh": "77ed4ab9a0ebc5ff62a91a7c39066ef395391ae36e9040a69fb2bd8b1626dc79",
|
||||
"src/CelerisLab/lbm/kernels/streaming/pull_double_buffer.cuh": "b65d741ed78b7b62f99531ba0c0ce1936663d8dc9640e7d7d16c707f1baf6549",
|
||||
"src/CelerisLab/lbm/stepper.py": "e9e51e3a902fbda086d4707c0487e7b1dea6246fab290a24d82bd52d4296410e",
|
||||
"src/CelerisLab/simulation.py": "34d69e71844f553790c5a2bed0f8fbfb912a9498e95b500d1ef2ad41cae3b424",
|
||||
"tests/audit/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"tests/audit/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"tests/audit/body\u5220\u51cf\u529f\u80fd.md": "e9f308a8cd0f0e7df5441c32a15f84c0bae50bc0e56b8728f6c6f2cf78596673",
|
||||
"tests/audit/body\u91cd\u6784\u7b14\u8bb0.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"tests/audit/\u517c\u5bb9\u6027\u6d4b\u8bd5.md": "9c1721a33b381b9c3810545772b022913da06617711b5ba13a3c2c991b81a7f7",
|
||||
"tests/audit/\u5ba1\u8ba1.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"tests/audit/\u5ba1\u8ba1\u62a5\u544a_kernel_layer.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"tests/conftest.py": "fa0ec26667872c9c1011d608310d2551fd24719b5d216f06d923ff4c74c73237",
|
||||
"tests/integration/__init__.py": "c354e43ba09b55a8013a2df2069438740b5f48b5917d855e52e33ab5d7da5a6c",
|
||||
"tests/integration/_cases.py": "ab76ca1096d2d10fb05b3539aa8ed3c7e549619bae6900ac98723f6c3c908f2d",
|
||||
"tests/integration/test_body_sync_e2e.py": "d29f01771f3512a4b3ad06fae4ee952327d7fd9f0476942402fe92e9e327fcec",
|
||||
"tests/integration/test_ddf_patch.py": "dda2abba32ca13e17098232f2831a0b1b66439c35f8931d9997a0257250c1281",
|
||||
"tests/integration/test_numerical_gpu.py": "002a6745929bd5ee86a9491ea9bc3f97602fb825ea17262ea190c9311881100e",
|
||||
"tests/integration/test_runtime_contracts_gpu.py": "775e578e2e8072af32fc740b2698abbb79454235a0f3ee929ac4c75d747f8db5",
|
||||
"tests/integration/test_state_gpu.py": "dde0948941e8abbc5ea10a3acb3a35abbaea576f36ecee0f1120fbcf7454d60b",
|
||||
"tests/integration/test_sync_bodies_skeleton.py": "65f55a0980659b49ae0027f0642a27e2ebaead226ef083f233e878150884b07c",
|
||||
"tests/integration/test_unified_obs.py": "4a681536099741d92bdc258525fe3374cbdbeba0d49996e53808381a1b6a13fa",
|
||||
"tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"tests/postproc/run_exp_ctrl_matrix_streakline.py": "529d5f31a3862080f890c65177502b589710b2d960ddf131abaf7dc2f9e2a96f",
|
||||
"tests/postproc/run_exp_ctrl_matrix_vorticity.py": "b7e0c4113111b9b677f321750c0055656ccfa4f45c25fe7846f3ed22f30d1467",
|
||||
"tests/postproc/run_kan99b_streakline.py": "a2bbf3fc629ea170d2d4879317dbf2b81c43378a328100ac1f2ee8d9895666cb",
|
||||
"tests/postproc/run_stealth_steady_sweep.py": "3c32c4dede7da77fd6cfbd3f7b1ff43bb11390aaba621883ec96c6c7fdad5af7",
|
||||
"tests/postproc/streakline_triangle_clean.png": "aa6669de7af6f82e98af25698a15f494e9cea20cb911ad9a30fe52597d33bb79",
|
||||
"tests/postproc/vorticity_triangle_clean.png": "f831b8143b50f038d5920a0658469622655f34176d30cf7216feff108aa2ecaf",
|
||||
"tests/screening/run_config_sweep.py": "5030c99923815ed6ad39110cb56f748c579ff4c66c7c1a368ad1a6008017e2ff",
|
||||
"tests/specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"tests/specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"tests/specs/exp_ctrl_matrix.md": "5d9dd2e703582572eb68afe3a7096ea43ec82aa03418d20ed283c5365031e433",
|
||||
"tests/specs/kan99b.md": "b7e0669f0a6b677d902204f3427d1b3ac254bfe70c37d9cf995fb3e8f1fedfb1",
|
||||
"tests/specs/sah04.md": "33dbe5e0fd63738abd055c4aa403c191b6de04e6efdbc568f1942c6d23c7459f",
|
||||
"tests/specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"tests/unit/__init__.py": "17f57920d9c1ff46096ceb2af008eb38c4b98dc81ffa3c3d310e758e80ca1cd4",
|
||||
"tests/unit/cpp/collision_regression.cpp": "f17acdff74ab82a62dc5402b42e3f6a149c262e89b140494164d6ebd630f5e14",
|
||||
"tests/unit/cpp/planar_velocity.cpp": "8dea266984edc69d4e0e68007e038d7a587e99f84e33478d6656a66a56680933",
|
||||
"tests/unit/cpp/reservoir.cpp": "c3eacaf0271400eb45ad559b571a8f7faa2a809d5f1857ffeb5592addce2cd0c",
|
||||
"tests/unit/cpp/semantic_regression.cpp": "99dba074c0c0a32ea76026e7d54fc60af8e6d3dc5315c8900c470b4518878f39",
|
||||
"tests/unit/cpp/slot_profile.cpp": "31ac58ccab175bf79fa59fc46d4c0842df18ab0a5e5916be84760d9da2b75788",
|
||||
"tests/unit/test_body_flags.py": "ac6409157924e15a13a3d2cc2f1a09014b8b0198ba17c824f412ff20b19e2aac",
|
||||
"tests/unit/test_build_contracts.py": "7bb237425e8bb481f312fa4841c484e280731e13c7cbb9a53dad3e7f98984ac3",
|
||||
"tests/unit/test_context_ownership.py": "299fed30dd0f9bd4dadd8b27f50df2a6367bdb0ab2ca3f391f215fde7241f35a",
|
||||
"tests/unit/test_equilibrium.py": "1ecbcc4547b1c846b75320463d828d6a36b6aae73208084fae476b1001c1bb50",
|
||||
"tests/unit/test_initializers.py": "8b4e3358d925614984265ae73c142006b48fd1c3918cf84901f18afd9fe68c3a",
|
||||
"tests/unit/test_numerical_operators.py": "6d1d560ef553a2af7adac7db3e325d96d7fe39073d5fe3e0e982439537385b27",
|
||||
"tests/unit/test_pending_edits.py": "905a0dff23b123e8e38aaf364984c810fe51c39acd64aa271e343a4701d3d024",
|
||||
"tests/unit/test_planar_velocity.py": "b656da0880b4234b1db805544edbe0d2473cbcc7c2c869c71d8251337f62a982",
|
||||
"tests/unit/test_reservoir.py": "e718c78a53c3941aba7feb8ae4e8bb0b1726c1145de84febf91220c1917991c9",
|
||||
"tests/unit/test_simulation_lifecycle.py": "77abdc33218c35e9c8b62dbd99ceddbaccd8417e7f0b539ea8859ea0175c663a",
|
||||
"tests/unit/test_slot_velocity.py": "6a9494de9a32c350389ccbed58af48951f6b25a21a258537d2e8b73eb67cb11d",
|
||||
"tests/unit/test_state_regressions.py": "0f69cfeb83428192f95688c76abcae7e5b9cf5f27c52bca4ac20c7f320044374",
|
||||
"tests/unit/test_sync_plan.py": "983313ef783143231fa5a392f85f3bac011184773ccaf5d946504c206cabb721",
|
||||
"tests/validation/analyze_j3_saved_frames.py": "438f67dac682b94c4950626f8de4fdcde48c3a4e9ecf8fdf1b0ada4b6e0e781a",
|
||||
"tests/validation/diagnose_j3_lags.py": "286fcd65b3261667a847b9b26e213d0af92cf459faa6bbd774f78c8479ce31d7",
|
||||
"tests/validation/multigrid/MULTIGRID_VERIFICATION_STRATEGY.md": "d4f3473da44abee6031a0e1bd4d0ca589077a18f15d2461836e4d2ebb98e458a",
|
||||
"tests/validation/multigrid/cpu_reference.py": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"tests/validation/multigrid/cpu_reference_v0.2.py": "b6adbad7da625ef6a6b97958ea9625030ed92676d0cada48e061c87bcf7ca8c9",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/README.txt": "1947ee0232b88b3cc2c506d0b0af5ba051ecc94aa8f7f09228ef3939cc95919b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/README_grok.md": "065947e15b2242bce7d3eb05a3acdbb59939c621dcd5d31540ad4a1bd4416818",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/baseline.json": "0daaccee41cabeb17a00e2405e2c7fd0b80d36f2d01778eb39c9fd22b13d2d47",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/manifest.json": "2850ecaf2e19d010ba35eb54162371d82cc1a092831e08a03b6adf75a614988b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/results_horsea.json": "914389afc39752bcd4132aa21fc8d5cbcf0ca75b1efd6a49becab15c2fa3361b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/stdout_grok.txt": "73e4ef01138842981daaa534390f1463839e63833c11f4e8872f94f8eaadc717",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/stdout_horsea.txt": "457f1d2173496554c87ca6e61df518c0b8f1e0a28cdfd94b94ebbb61bc459d70",
|
||||
"tests/validation/multigrid/shear_diagnostic_v0_2.py": "a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/README.txt": "4306a34b6896bd6e7a5c2ca71d68e18450359239d0c7ad7a67a4e83e7155959a",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/baseline.json": "98a7853341ea732762c7506694e3a867a7259bf110e9e461ea84f741fd9ab829",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/comparison.json": "41c00372099dd04b6d323785e9eaf4fec09da1753d3d150ffa230800f904142f",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/joint_report.md": "1860b8082108c8b8a87998af90cd0b81dce1c04e9f6c67b41e0912f9fef6cc9c",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/manifest.json": "e42aa19e91608164698bea42da88fbbfab8b0f87cc37b27c5baf165453a4fdb0",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/results_horsea.json": "c2d7ce8d16a0f47baff0788a153353dcf67088da974d9cd3d521b04ecd91ee05",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/run_once.py": "6698a2e040c56be949b809387d4518eb0ba82d34cc9d99640da4f8bf3c35c23f",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/source_manifest.json": "56fbd0259ff3d4dbd14ace52f64e249a435e9df91732b0e4027def2c344c2e6a",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/stdout_grok.txt": "28ddd1267ca91a772f5a6bfc65d949c9a4ea7dac5c9ba3a0bdb168492810b670",
|
||||
"tests/validation/multigrid/shear_v0_2_evidence/stdout_horsea.txt": "0577df5b3f5cb3c7b6e1ef2de71344f8fd3e6d959117487a06cbaf7f2afa3dea",
|
||||
"tests/validation/multigrid/test_cpu_reference.py": "ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca",
|
||||
"tests/validation/multigrid/test_open_corner_negative_control.py": "59a6f8ca80cdd63cb7827fbebf9b4b555c3793f19dd6bca801544ec10b5cbe1b",
|
||||
"tests/validation/multigrid/test_tron_additions.py": "8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4",
|
||||
"tests/validation/run_j1.py": "51b758a271ff358f931b3140a80082294a67e66c2fec0f8c19319e37f92aadc4",
|
||||
"tests/validation/run_j2_slot.py": "b7d2d3aa06fcafc3ac62ed4a50892afbdb7f86e5720ce75a39ce317b6f571dad",
|
||||
"tests/validation/run_j3_coverage.py": "329869519b7078e854d96241a7aad8ef93f35ac9be83f0be502c3a93523c3b13",
|
||||
"tests/validation/run_j3_reservoir.py": "47535bc3569ce68c888d38978bc4f9077fd763a17829c20c081be52bb18a2903",
|
||||
"tests/validation/run_kan99b_rotating_cylinder.py": "323186429a100f36b41ab9b81ade2da6a47e93be3ccb7034a3a6b97f4ee8eb00",
|
||||
"tests/validation/run_perf_baseline.py": "93dde2eb1132f45ea69e1e285ff421dc97a83651a22c79571f299c1909650721",
|
||||
"tests/validation/run_poiseuille.py": "e529288e2ffa8e00d281a9006723954d60a96ae4d025e8f28656c09287d4ff46",
|
||||
"tests/validation/run_sah04_st_matrix.py": "9b9c0ce063e07a316846635ee769b837ed26be6bf039f78f4219c10b516f8006",
|
||||
"tests/validation/test_sensor_accuracy.py": "c6038a9e7a597a1738814bd15e6ecf357cfd271cdc2a132d47943c5280ac0ef9"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,560 @@
|
||||
{
|
||||
"comparison_scope": "Printed values only; no new numerical tolerances, no rerun, no claim of full-precision field equality. Current script prints lambda to 8dp, so old 10dp values are retained for provenance, not treated as changed results.",
|
||||
"all_29_booleans_match_and_pass": true,
|
||||
"boolean_checks": {
|
||||
"finite_A_phi0.0000": true,
|
||||
"cons_A_phi0.0000": true,
|
||||
"finite_B_phi0.0000": true,
|
||||
"cons_B_phi0.0000": true,
|
||||
"finite_C_phi0.0000": true,
|
||||
"cons_C_phi0.0000": true,
|
||||
"finite_A_phi1.5708": true,
|
||||
"cons_A_phi1.5708": true,
|
||||
"finite_B_phi1.5708": true,
|
||||
"cons_B_phi1.5708": true,
|
||||
"finite_C_phi1.5708": true,
|
||||
"cons_C_phi1.5708": true,
|
||||
"finite_A_T_phi1.5708": true,
|
||||
"cons_A_T_phi1.5708": true,
|
||||
"transpose_ok": true,
|
||||
"t0_AB_patch_ok_phi0.0000": true,
|
||||
"t0_AC_out_ok_phi0.0000": true,
|
||||
"init_mismatch_ok_phi0.0000": true,
|
||||
"t0_AB_patch_ok_phi1.5708": true,
|
||||
"t0_AC_out_ok_phi1.5708": true,
|
||||
"init_mismatch_ok_phi1.5708": true,
|
||||
"init_mismatch_ok_A_T_phi1.5708": true,
|
||||
"stress_finite_C_phi0.0000": true,
|
||||
"stress_finite_B_phi0.0000": true,
|
||||
"stress_finite_A_phi0.0000": true,
|
||||
"stress_finite_C_phi1.5708": true,
|
||||
"stress_finite_B_phi1.5708": true,
|
||||
"stress_finite_A_phi1.5708": true,
|
||||
"stress_finite_A_T_phi1.5708": true
|
||||
},
|
||||
"original_22_boolean_names_match_previous_shear": true,
|
||||
"sections": {
|
||||
"hard_checks": {
|
||||
"identical_at_printed_precision": true,
|
||||
"line_count": 11,
|
||||
"diff": []
|
||||
},
|
||||
"stress_finite_checks": {
|
||||
"identical_at_printed_precision": true,
|
||||
"line_count": 9,
|
||||
"diff": []
|
||||
},
|
||||
"summary_lines": {
|
||||
"identical_at_printed_precision": true,
|
||||
"line_count": 15,
|
||||
"diff": []
|
||||
},
|
||||
"decay_fits": {
|
||||
"identical_at_printed_precision": true,
|
||||
"line_count": 7,
|
||||
"diff": []
|
||||
}
|
||||
},
|
||||
"summary_numeric_comparisons": [
|
||||
{
|
||||
"name": "R phi0.0000",
|
||||
"horsea_values": {
|
||||
"A": "1.011774619306",
|
||||
"B": "0.998555854025",
|
||||
"C": "1.008383635570",
|
||||
"A/B": "1.013237882716",
|
||||
"A/C": "1.003362791319"
|
||||
},
|
||||
"horsea_minus_grok": {
|
||||
"A": "0E-12",
|
||||
"B": "0E-12",
|
||||
"C": "0E-12",
|
||||
"A/B": "0E-12",
|
||||
"A/C": "0E-12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A phi0.0000",
|
||||
"horsea_values": [
|
||||
"9.91559495e-01",
|
||||
"8.38223110e-01",
|
||||
"5.53937362e-01",
|
||||
"1.82688509e-01",
|
||||
"-2.14687493e-01",
|
||||
"-5.72526539e-01",
|
||||
"-8.48939033e-01",
|
||||
"-9.98789772e-01",
|
||||
"-9.98789772e-01",
|
||||
"-8.48939033e-01",
|
||||
"-5.72526539e-01",
|
||||
"-2.14687493e-01",
|
||||
"1.82688509e-01",
|
||||
"5.53937362e-01",
|
||||
"8.38223110e-01",
|
||||
"9.91559495e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_B phi0.0000",
|
||||
"horsea_values": [
|
||||
"9.79368883e-01",
|
||||
"8.30268849e-01",
|
||||
"5.54767909e-01",
|
||||
"1.94808583e-01",
|
||||
"-1.94808583e-01",
|
||||
"-5.54767909e-01",
|
||||
"-8.30268849e-01",
|
||||
"-9.79368883e-01",
|
||||
"-9.79368883e-01",
|
||||
"-8.30268849e-01",
|
||||
"-5.54767909e-01",
|
||||
"-1.94808583e-01",
|
||||
"1.94808583e-01",
|
||||
"5.54767909e-01",
|
||||
"8.30268849e-01",
|
||||
"9.79368883e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_C phi0.0000",
|
||||
"horsea_values": [
|
||||
"9.89007827e-01",
|
||||
"8.38440351e-01",
|
||||
"5.60227931e-01",
|
||||
"1.96725888e-01",
|
||||
"-1.96725888e-01",
|
||||
"-5.60227931e-01",
|
||||
"-8.38440351e-01",
|
||||
"-9.89007827e-01",
|
||||
"-9.89007827e-01",
|
||||
"-8.38440351e-01",
|
||||
"-5.60227931e-01",
|
||||
"-1.96725888e-01",
|
||||
"1.96725888e-01",
|
||||
"5.60227931e-01",
|
||||
"8.38440351e-01",
|
||||
"9.89007827e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A-B phi0.0000",
|
||||
"horsea_values": [
|
||||
"1.21906117e-02",
|
||||
"7.95426140e-03",
|
||||
"-8.30546408e-04",
|
||||
"-1.21200743e-02",
|
||||
"-1.98789102e-02",
|
||||
"-1.77586304e-02",
|
||||
"-1.86701838e-02",
|
||||
"-1.94208889e-02",
|
||||
"-1.94208889e-02",
|
||||
"-1.86701838e-02",
|
||||
"-1.77586304e-02",
|
||||
"-1.98789102e-02",
|
||||
"-1.21200743e-02",
|
||||
"-8.30546408e-04",
|
||||
"7.95426140e-03",
|
||||
"1.21906117e-02"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-12",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-12",
|
||||
"0E-11",
|
||||
"0E-10"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A-C phi0.0000",
|
||||
"horsea_values": [
|
||||
"2.55166826e-03",
|
||||
"-2.17240307e-04",
|
||||
"-6.29056929e-03",
|
||||
"-1.40373794e-02",
|
||||
"-1.79616052e-02",
|
||||
"-1.22986075e-02",
|
||||
"-1.04986821e-02",
|
||||
"-9.78194544e-03",
|
||||
"-9.78194544e-03",
|
||||
"-1.04986821e-02",
|
||||
"-1.22986075e-02",
|
||||
"-1.79616052e-02",
|
||||
"-1.40373794e-02",
|
||||
"-6.29056929e-03",
|
||||
"-2.17240307e-04",
|
||||
"2.55166826e-03"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-11",
|
||||
"0E-12",
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-12",
|
||||
"0E-11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "R phi1.5708",
|
||||
"horsea_values": {
|
||||
"A": "1.011850480751",
|
||||
"B": "0.998555854025",
|
||||
"C": "1.008383635570",
|
||||
"A/B": "1.013313853874",
|
||||
"A/C": "1.003438022057"
|
||||
},
|
||||
"horsea_minus_grok": {
|
||||
"A": "0E-12",
|
||||
"B": "0E-12",
|
||||
"C": "0E-12",
|
||||
"A/B": "0E-12",
|
||||
"A/C": "0E-12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A phi1.5708",
|
||||
"horsea_values": [
|
||||
"-1.99435683e-01",
|
||||
"-5.68175817e-01",
|
||||
"-8.52874579e-01",
|
||||
"-1.00371150e+00",
|
||||
"-9.86839227e-01",
|
||||
"-8.33347608e-01",
|
||||
"-5.58176761e-01",
|
||||
"-1.96153580e-01",
|
||||
"1.96153580e-01",
|
||||
"5.58176761e-01",
|
||||
"8.33347608e-01",
|
||||
"9.86839227e-01",
|
||||
"1.00371150e+00",
|
||||
"8.52874579e-01",
|
||||
"5.68175817e-01",
|
||||
"1.99435683e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-8",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-8",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_B phi1.5708",
|
||||
"horsea_values": [
|
||||
"-1.94808583e-01",
|
||||
"-5.54767909e-01",
|
||||
"-8.30268849e-01",
|
||||
"-9.79368883e-01",
|
||||
"-9.79368883e-01",
|
||||
"-8.30268849e-01",
|
||||
"-5.54767909e-01",
|
||||
"-1.94808583e-01",
|
||||
"1.94808583e-01",
|
||||
"5.54767909e-01",
|
||||
"8.30268849e-01",
|
||||
"9.79368883e-01",
|
||||
"9.79368883e-01",
|
||||
"8.30268849e-01",
|
||||
"5.54767909e-01",
|
||||
"1.94808583e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_C phi1.5708",
|
||||
"horsea_values": [
|
||||
"-1.96725888e-01",
|
||||
"-5.60227931e-01",
|
||||
"-8.38440351e-01",
|
||||
"-9.89007827e-01",
|
||||
"-9.89007827e-01",
|
||||
"-8.38440351e-01",
|
||||
"-5.60227931e-01",
|
||||
"-1.96725888e-01",
|
||||
"1.96725888e-01",
|
||||
"5.60227931e-01",
|
||||
"8.38440351e-01",
|
||||
"9.89007827e-01",
|
||||
"9.89007827e-01",
|
||||
"8.38440351e-01",
|
||||
"5.60227931e-01",
|
||||
"1.96725888e-01"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9",
|
||||
"0E-9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A-B phi1.5708",
|
||||
"horsea_values": [
|
||||
"-4.62709942e-03",
|
||||
"-1.34079086e-02",
|
||||
"-2.26057300e-02",
|
||||
"-2.43426175e-02",
|
||||
"-7.47034346e-03",
|
||||
"-3.07875936e-03",
|
||||
"-3.40885205e-03",
|
||||
"-1.34499672e-03",
|
||||
"1.34499672e-03",
|
||||
"3.40885205e-03",
|
||||
"3.07875936e-03",
|
||||
"7.47034346e-03",
|
||||
"2.43426175e-02",
|
||||
"2.26057300e-02",
|
||||
"1.34079086e-02",
|
||||
"4.62709942e-03"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PROFILE_A-C phi1.5708",
|
||||
"horsea_values": [
|
||||
"-2.70979435e-03",
|
||||
"-7.94788568e-03",
|
||||
"-1.44342283e-02",
|
||||
"-1.47036740e-02",
|
||||
"2.16860001e-03",
|
||||
"5.09274236e-03",
|
||||
"2.05117083e-03",
|
||||
"5.72308350e-04",
|
||||
"-5.72308350e-04",
|
||||
"-2.05117083e-03",
|
||||
"-5.09274236e-03",
|
||||
"-2.16860001e-03",
|
||||
"1.47036740e-02",
|
||||
"1.44342283e-02",
|
||||
"7.94788568e-03",
|
||||
"2.70979435e-03"
|
||||
],
|
||||
"horsea_minus_grok": [
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-12",
|
||||
"0E-12",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-11",
|
||||
"0E-10",
|
||||
"0E-10",
|
||||
"0E-11",
|
||||
"0E-11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "R A_T_phi1.5708",
|
||||
"horsea_values": {
|
||||
"R": "1.011850480751"
|
||||
},
|
||||
"horsea_minus_grok": {
|
||||
"R": "0E-12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"grok": "TRANSPOSE err=6.661338e-16 ok=True",
|
||||
"horsea": "TRANSPOSE err=6.661338e-16 ok=True",
|
||||
"identical": true
|
||||
},
|
||||
{
|
||||
"grok": "REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"horsea": "REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"identical": true
|
||||
}
|
||||
],
|
||||
"lambda_comparisons": [
|
||||
{
|
||||
"run": "A_phi0.0000",
|
||||
"horsea_current_8dp": "0.01585222",
|
||||
"grok_current_8dp": "0.01585222",
|
||||
"horsea_previous_shear_8dp": "0.01585222",
|
||||
"horsea_previous_shear_10dp": "0.0158522189",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
},
|
||||
{
|
||||
"run": "B_phi0.0000",
|
||||
"horsea_current_8dp": "0.01539917",
|
||||
"grok_current_8dp": "0.01539917",
|
||||
"horsea_previous_shear_8dp": "0.01539917",
|
||||
"horsea_previous_shear_10dp": "0.0153991657",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
},
|
||||
{
|
||||
"run": "C_phi0.0000",
|
||||
"horsea_current_8dp": "0.01554973",
|
||||
"grok_current_8dp": "0.01554973",
|
||||
"horsea_previous_shear_8dp": "0.01554973",
|
||||
"horsea_previous_shear_10dp": "0.0155497331",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
},
|
||||
{
|
||||
"run": "A_phi1.5708",
|
||||
"horsea_current_8dp": "0.01584192",
|
||||
"grok_current_8dp": "0.01584192",
|
||||
"horsea_previous_shear_8dp": "0.01584192",
|
||||
"horsea_previous_shear_10dp": "0.0158419175",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
},
|
||||
{
|
||||
"run": "B_phi1.5708",
|
||||
"horsea_current_8dp": "0.01539917",
|
||||
"grok_current_8dp": "0.01539917",
|
||||
"horsea_previous_shear_8dp": "0.01539917",
|
||||
"horsea_previous_shear_10dp": "0.0153991657",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
},
|
||||
{
|
||||
"run": "C_phi1.5708",
|
||||
"horsea_current_8dp": "0.01554973",
|
||||
"grok_current_8dp": "0.01554973",
|
||||
"horsea_previous_shear_8dp": "0.01554973",
|
||||
"horsea_previous_shear_10dp": "0.0155497331",
|
||||
"current_minus_previous_at_8dp": "0E-8",
|
||||
"current_minus_grok_at_8dp": "0E-8"
|
||||
}
|
||||
],
|
||||
"stress_transpose_hard_assertion_present": false
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"verified_utc": "2026-10-13T06:04:36.332815+00:00",
|
||||
"head": "6e3756c587ec08ab6a55c4a1a5f4671822d3f0a0",
|
||||
"old_files_checked": 292,
|
||||
"old_files_changed": [],
|
||||
"old_git_status_entries_removed": [],
|
||||
"only_authorized_new_paths": true,
|
||||
"archive_path": "/tmp/celerislab-local-stress-input-20261013-0e277799.tar",
|
||||
"archive_sha256": "5834b23711496beb152188df5f47ff8175baf7e52543774401bd2c1183433eed",
|
||||
"reference_sha256": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"inputs": [
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/TABLE_local_stress_observable_v1.md",
|
||||
"bytes": 2967,
|
||||
"sha256": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501",
|
||||
"matches_original_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_observable_v1.py",
|
||||
"bytes": 32574,
|
||||
"sha256": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456",
|
||||
"matches_original_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/stdout_local_stress_observable_v1.txt",
|
||||
"bytes": 12238,
|
||||
"sha256": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4",
|
||||
"matches_original_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/source_manifest.json",
|
||||
"bytes": 622,
|
||||
"sha256": "d2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c",
|
||||
"matches_original_tar_bytes": true
|
||||
}
|
||||
],
|
||||
"input_bytes_unchanged": true,
|
||||
"blocking_numerical_objections": [],
|
||||
"execution_attempts": 1,
|
||||
"hard_checks_passed": 29,
|
||||
"grok_blocks_identical_at_printed_precision": true,
|
||||
"previous_lambda_matches_at_8dp": true,
|
||||
"claude_implementation_code_review": "Not completed: paused due to API error. Specification discussion is not code review.",
|
||||
"horsea_review": "Completed before single bounded rerun; no substantive objection within diagnostic scope.",
|
||||
"stress_transpose_hard_assertion": false,
|
||||
"new_files_except_this_manifest": [
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_observable_v1.py",
|
||||
"bytes": 32574,
|
||||
"sha256": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/README.txt",
|
||||
"bytes": 8239,
|
||||
"sha256": "4f62314876047ee437bb9ecbf84798d2a9f6e85f6a3aef260277b85bcdb35fae"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/TABLE_local_stress_observable_v1.md",
|
||||
"bytes": 2967,
|
||||
"sha256": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/baseline.json",
|
||||
"bytes": 43991,
|
||||
"sha256": "64f6541447afbd15b1b15d802ad6f1b5042aaf84e7d4d2414e4ed4c52cf70507"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/comparison.json",
|
||||
"bytes": 13248,
|
||||
"sha256": "be236671a501c31c06f7e266f6e0c0c2a89aede321a483452050ff37bf84c84a"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/results_horsea.json",
|
||||
"bytes": 2671,
|
||||
"sha256": "f17b4644d19eb75d55deb7021ab679cb9e7922a2b46f1cacf8b6da6bfb9a2690"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/run_once.py",
|
||||
"bytes": 4313,
|
||||
"sha256": "e629800291ef65ffea8555f66ec80bf15200552540b2a493a677bfb53d0830b3"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/source_manifest.json",
|
||||
"bytes": 622,
|
||||
"sha256": "d2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/stdout_horsea.txt",
|
||||
"bytes": 17091,
|
||||
"sha256": "882f2cfb1dbdf82cce63c011397e7c2e6307bbcfec42a3510648d328cd6ddcfe"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/local_stress_v1_evidence/stdout_local_stress_observable_v1.txt",
|
||||
"bytes": 12238,
|
||||
"sha256": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"started_utc": "2026-10-13T06:01:08.222086+00:00",
|
||||
"cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"parent_command": [
|
||||
"env",
|
||||
"OPENBLAS_NUM_THREADS=1",
|
||||
"PYTHONDONTWRITEBYTECODE=1",
|
||||
"PYTHONNOUSERSITE=1",
|
||||
"PYTHONOPTIMIZE=0",
|
||||
"PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py",
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_v1_evidence/run_once.py"
|
||||
],
|
||||
"script_command": [
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_observable_v1.py"
|
||||
],
|
||||
"environment": {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONOPTIMIZE": "0",
|
||||
"PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"
|
||||
},
|
||||
"python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]",
|
||||
"numpy_version_from_installed_metadata": "1.26.4",
|
||||
"platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35",
|
||||
"hard_limits": {
|
||||
"address_space_bytes": [
|
||||
268435456,
|
||||
268435456
|
||||
],
|
||||
"output_file_bytes": [
|
||||
2097152,
|
||||
2097152
|
||||
],
|
||||
"core_bytes": [
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"input_hashes_verified_before_execution": {
|
||||
"local_stress_observable_v1.py": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456",
|
||||
"stdout_local_stress_observable_v1.txt": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4",
|
||||
"TABLE_local_stress_observable_v1.md": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501",
|
||||
"source_manifest.json": "d2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c"
|
||||
},
|
||||
"archive_sha256_verified_before_execution": "5834b23711496beb152188df5f47ff8175baf7e52543774401bd2c1183433eed",
|
||||
"reference_sha256_verified_before_execution": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"planned_runs": 7,
|
||||
"coarse_steps_per_run": 32,
|
||||
"attempt": 1,
|
||||
"returncode": 0,
|
||||
"elapsed_seconds": 2.435032418987248,
|
||||
"child_peak_rss_MiB": 38.41796875,
|
||||
"parent_peak_rss_MiB": 18.75,
|
||||
"completed_utc": "2026-10-13T06:01:10.671541+00:00",
|
||||
"stdout_bytes": 17091
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
"""Bounded execution recorder; refuses to overwrite evidence or repeat a run."""
|
||||
import datetime
|
||||
import hashlib
|
||||
import importlib.metadata
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import platform
|
||||
import resource
|
||||
import shlex
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
evidence = Path(__file__).resolve().parent
|
||||
base = evidence.parent
|
||||
script = base / "local_stress_observable_v1.py"
|
||||
reference = base / "cpu_reference.py"
|
||||
expected_env = {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONOPTIMIZE": "0",
|
||||
"PYTHONPATH": str(base),
|
||||
"CPU_REFERENCE_PATH": str(reference),
|
||||
}
|
||||
limits = {
|
||||
"address_space_bytes": (resource.RLIMIT_AS, 268435456),
|
||||
"output_file_bytes": (resource.RLIMIT_FSIZE, 2097152),
|
||||
"core_bytes": (resource.RLIMIT_CORE, 0),
|
||||
}
|
||||
assert all(os.environ.get(k) == v for k, v in expected_env.items())
|
||||
assert all(resource.getrlimit(key) == (value, value) for key, value in limits.values())
|
||||
assert sys.executable == "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python"
|
||||
assert hashlib.sha256(script.read_bytes()).hexdigest() == "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456"
|
||||
assert hashlib.sha256(reference.read_bytes()).hexdigest() == "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e"
|
||||
input_hashes = {'local_stress_observable_v1.py': '0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456', 'stdout_local_stress_observable_v1.txt': '6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4', 'TABLE_local_stress_observable_v1.md': 'd8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501', 'source_manifest.json': 'd2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c'}
|
||||
for name, digest in input_hashes.items():
|
||||
path = (base if name.endswith(".py") else evidence) / name
|
||||
assert hashlib.sha256(path.read_bytes()).hexdigest() == digest, name
|
||||
archive_path = Path("/tmp/celerislab-local-stress-input-20261013-0e277799.tar")
|
||||
archive_sha = "5834b23711496beb152188df5f47ff8175baf7e52543774401bd2c1183433eed"
|
||||
assert hashlib.sha256(archive_path.read_bytes()).hexdigest() == archive_sha
|
||||
log_path = evidence / "stdout_horsea.txt"
|
||||
result_path = evidence / "results_horsea.json"
|
||||
assert not log_path.exists() and not result_path.exists(), "Existing execution evidence; do not rerun"
|
||||
prefix = ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", sys.executable, "-B"]
|
||||
command = prefix + [str(script)]
|
||||
report = {
|
||||
"started_utc": datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||
"cwd": str(base),
|
||||
"parent_command": ["env"] + [f"{k}={v}" for k, v in expected_env.items()] + prefix + [str(Path(__file__).resolve())],
|
||||
"script_command": command,
|
||||
"environment": expected_env,
|
||||
"python_version": sys.version,
|
||||
"numpy_version_from_installed_metadata": importlib.metadata.version("numpy"),
|
||||
"platform": platform.platform(),
|
||||
"hard_limits": {name: resource.getrlimit(key) for name, (key, _) in limits.items()},
|
||||
"input_hashes_verified_before_execution": input_hashes,
|
||||
"archive_sha256_verified_before_execution": archive_sha,
|
||||
"reference_sha256_verified_before_execution": hashlib.sha256(reference.read_bytes()).hexdigest(),
|
||||
"planned_runs": 7,
|
||||
"coarse_steps_per_run": 32,
|
||||
"attempt": 1,
|
||||
}
|
||||
with log_path.open("xb", buffering=0) as log:
|
||||
log.write(("RECORDER " + json.dumps(report) + "\nCOMMAND " + shlex.join(command) + "\n").encode())
|
||||
start = time.monotonic()
|
||||
child = subprocess.run(command, cwd=base, stdout=log, stderr=subprocess.STDOUT, check=False)
|
||||
report.update(
|
||||
returncode=child.returncode,
|
||||
elapsed_seconds=time.monotonic() - start,
|
||||
child_peak_rss_MiB=resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss / 1024,
|
||||
parent_peak_rss_MiB=resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1024,
|
||||
completed_utc=datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||
)
|
||||
log.write(("\nRUN_RESULT " + json.dumps(report) + "\n").encode())
|
||||
report["stdout_bytes"] = log_path.stat().st_size
|
||||
with result_path.open("x") as result:
|
||||
json.dump(report, result, indent=2)
|
||||
result.write("\n")
|
||||
print(json.dumps(report, indent=2))
|
||||
assert report["stdout_bytes"] < 2097152
|
||||
sys.exit(child.returncode if child.returncode >= 0 else 1)
|
||||
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"id": "1EBdGY3CxGm_uwCZ_L9vv3q6UgDoH01pM",
|
||||
"name": "local_stress_observable_v1.py",
|
||||
"bytes": 32574,
|
||||
"sha256": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456"
|
||||
},
|
||||
{
|
||||
"id": "1TpMS9MfWP3gnouHJ95MQ_lozKMPbgTSH",
|
||||
"name": "stdout_local_stress_observable_v1.txt",
|
||||
"bytes": 12238,
|
||||
"sha256": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4"
|
||||
},
|
||||
{
|
||||
"id": "1l1HljRJEcCrJNgSGdWSdQ7OOvEjdRXqi",
|
||||
"name": "TABLE_local_stress_observable_v1.md",
|
||||
"bytes": 2967,
|
||||
"sha256": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,122 @@
|
||||
RECORDER {"started_utc": "2026-10-13T06:01:08.222086+00:00", "cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid", "parent_command": ["env", "OPENBLAS_NUM_THREADS=1", "PYTHONDONTWRITEBYTECODE=1", "PYTHONNOUSERSITE=1", "PYTHONOPTIMIZE=0", "PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py", "/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_v1_evidence/run_once.py"], "script_command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_observable_v1.py"], "environment": {"OPENBLAS_NUM_THREADS": "1", "PYTHONDONTWRITEBYTECODE": "1", "PYTHONNOUSERSITE": "1", "PYTHONOPTIMIZE": "0", "PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"}, "python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]", "numpy_version_from_installed_metadata": "1.26.4", "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35", "hard_limits": {"address_space_bytes": [268435456, 268435456], "output_file_bytes": [2097152, 2097152], "core_bytes": [0, 0]}, "input_hashes_verified_before_execution": {"local_stress_observable_v1.py": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456", "stdout_local_stress_observable_v1.txt": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4", "TABLE_local_stress_observable_v1.md": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501", "source_manifest.json": "d2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c"}, "archive_sha256_verified_before_execution": "5834b23711496beb152188df5f47ff8175baf7e52543774401bd2c1183433eed", "reference_sha256_verified_before_execution": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e", "planned_runs": 7, "coarse_steps_per_run": 32, "attempt": 1}
|
||||
COMMAND /usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B /home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_observable_v1.py
|
||||
=== local_stress_observable_v1 against CPUREF-0.3 ===
|
||||
REF_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
REF_SHA_MATCH=True
|
||||
API_VERSION=CPUREF-0.3
|
||||
U0=0.001 tau_c=0.8 tau_f=1.1 steps=32 nu=0.1 k=0.39269908169872414
|
||||
nu*k^2=0.01542126
|
||||
ARRIVAL_STATE_POLICY: read CPUREF-0.3 State.coarse_f/fine_f at phase='arrival_f'
|
||||
after N advance_coarse_once calls (tick=2N). That array IS post-stream pre-collision.
|
||||
Uniform B/C use local collide-then-stream; f after 2N (B) or N (C) streams is arrival.
|
||||
If arrival were unreachable without changing the reference, this script would STOP.
|
||||
STRESS: Pi_neq=sum(cx*cy*f)-rho*ux*uy; sigma=-(1-1/(2*tau))*Pi_neq; 2x2 vol-avg of sigma.
|
||||
No extra dx/dt factor. a_u=(2/256)sum u sin; P_sigma=(2/256)sum sigma cos; own a_u.
|
||||
Profile s(j)=mean_x[4,12)(sigma)/ (rho0*nu*k*a_u). Transposed: R only, no profile.
|
||||
|
||||
-- running C (uniform-coarse) phi0.0000
|
||||
ARRIVAL_ARRAY: uniform_C_f_after_32_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running B (uniform-fine) phi0.0000
|
||||
ARRIVAL_ARRAY: uniform_B_f_after_64_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running A (composite CPUREF) phi0.0000
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
state.phase=arrival_f state.tick=64
|
||||
-- running C (uniform-coarse) phi1.5708
|
||||
ARRIVAL_ARRAY: uniform_C_f_after_32_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running B (uniform-fine) phi1.5708
|
||||
ARRIVAL_ARRAY: uniform_B_f_after_64_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running A (composite CPUREF) phi1.5708
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
state.phase=arrival_f state.tick=64
|
||||
-- running A transpose phi=1.5707963267948966
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
|
||||
=== HARD CHECKS (unchanged v0.2 set) ===
|
||||
finite[A_phi0.0000]=True cons=True mass_drift=5.969e-13 momx_drift=1.690e-13 momy_drift=2.753e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi0.0000]=True cons=True mass_drift=7.105e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10
|
||||
finite[C_phi0.0000]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10
|
||||
finite[A_phi1.5708]=True cons=True mass_drift=8.242e-13 momx_drift=1.033e-13 momy_drift=9.015e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi1.5708]=True cons=True mass_drift=6.821e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10
|
||||
finite[C_phi1.5708]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10
|
||||
finite[A_T_phi1.5708]=True cons=True mass_drift=7.105e-13 momx_drift=1.843e-14 momy_drift=6.062e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
transpose_ok=True max_err=6.661e-16 (tol=1.000e-15)
|
||||
t0 phi0.0000: AB_patch=1.084e-19 ok=True AC_out=2.168e-19 ok=True init_mm=1.110e-16 ok=True
|
||||
t0 phi1.5708: AB_patch=1.084e-19 ok=True AC_out=2.168e-19 ok=True init_mm=1.110e-16 ok=True
|
||||
init_mismatch[A_T]=1.110e-16 ok=True
|
||||
|
||||
=== STRESS FINITE CHECKS (addition) ===
|
||||
stress_finite[C_phi0.0000]=True R=1.00838364 a_u=5.991310e-04 P_sigma=2.372507e-05
|
||||
stress_finite[B_phi0.0000]=True R=0.99855585 a_u=6.078606e-04 P_sigma=2.383616e-05
|
||||
stress_finite[A_phi0.0000]=True R=1.01177462 a_u=5.949025e-04 P_sigma=2.363684e-05
|
||||
stress_finite[C_phi1.5708]=True R=1.00838364 a_u=5.991310e-04 P_sigma=2.372507e-05
|
||||
stress_finite[B_phi1.5708]=True R=0.99855585 a_u=6.078606e-04 P_sigma=2.383616e-05
|
||||
stress_finite[A_phi1.5708]=True R=1.01185048 a_u=5.950623e-04 P_sigma=2.364496e-05
|
||||
stress_finite[A_T_phi1.5708]=True R=1.01185048 a_u=5.950623e-04 P_sigma=2.364496e-05
|
||||
N_BOOLEAN_HARD_CHECKS_V02=22: cons_A_T_phi1.5708,cons_A_phi0.0000,cons_A_phi1.5708,cons_B_phi0.0000,cons_B_phi1.5708,cons_C_phi0.0000,cons_C_phi1.5708,finite_A_T_phi1.5708,finite_A_phi0.0000,finite_A_phi1.5708,finite_B_phi0.0000,finite_B_phi1.5708,finite_C_phi0.0000,finite_C_phi1.5708,init_mismatch_ok_A_T_phi1.5708,init_mismatch_ok_phi0.0000,init_mismatch_ok_phi1.5708,t0_AB_patch_ok_phi0.0000,t0_AB_patch_ok_phi1.5708,t0_AC_out_ok_phi0.0000,t0_AC_out_ok_phi1.5708,transpose_ok
|
||||
N_BOOLEAN_HARD_CHECKS_WITH_STRESS=29
|
||||
|
||||
=== LOCAL STRESS OBSERVABLE at coarse step 32 ===
|
||||
FORMULA: R = P_sigma / (rho0 * nu * k * a_u); a_u from SAME run/tick/arrival
|
||||
WORDING: reported diagnostics only; phi probes phase structure only; no mechanism claim
|
||||
|
||||
-- phi0.0000 --
|
||||
R_A=1.0117746193 R_B=0.9985558540 R_C=1.0083836356
|
||||
R_A/R_B=1.0132378827 R_A/R_C=1.0033627913
|
||||
a_u A/B/C: 5.94902468e-04 6.07860566e-04 5.99130994e-04
|
||||
P_sigma A/B/C: 2.36368412e-05 2.38361559e-05 2.37250678e-05
|
||||
s_A(j): 9.915595e-01 8.382231e-01 5.539374e-01 1.826885e-01 -2.146875e-01 -5.725265e-01 -8.489390e-01 -9.987898e-01 -9.987898e-01 -8.489390e-01 -5.725265e-01 -2.146875e-01 1.826885e-01 5.539374e-01 8.382231e-01 9.915595e-01
|
||||
s_B(j): 9.793689e-01 8.302688e-01 5.547679e-01 1.948086e-01 -1.948086e-01 -5.547679e-01 -8.302688e-01 -9.793689e-01 -9.793689e-01 -8.302688e-01 -5.547679e-01 -1.948086e-01 1.948086e-01 5.547679e-01 8.302688e-01 9.793689e-01
|
||||
s_C(j): 9.890078e-01 8.384404e-01 5.602279e-01 1.967259e-01 -1.967259e-01 -5.602279e-01 -8.384404e-01 -9.890078e-01 -9.890078e-01 -8.384404e-01 -5.602279e-01 -1.967259e-01 1.967259e-01 5.602279e-01 8.384404e-01 9.890078e-01
|
||||
s_A-s_B: 1.219061e-02 7.954261e-03 -8.305464e-04 -1.212007e-02 -1.987891e-02 -1.775863e-02 -1.867018e-02 -1.942089e-02 -1.942089e-02 -1.867018e-02 -1.775863e-02 -1.987891e-02 -1.212007e-02 -8.305464e-04 7.954261e-03 1.219061e-02
|
||||
s_A-s_C: 2.551668e-03 -2.172403e-04 -6.290569e-03 -1.403738e-02 -1.796161e-02 -1.229861e-02 -1.049868e-02 -9.781945e-03 -9.781945e-03 -1.049868e-02 -1.229861e-02 -1.796161e-02 -1.403738e-02 -6.290569e-03 -2.172403e-04 2.551668e-03
|
||||
FACE_ROWS j=3,4,11,12 flagged: j3:A=1.82689e-01,B=1.94809e-01,C=1.96726e-01,A-B=-1.21201e-02,A-C=-1.40374e-02 j4:A=-2.14687e-01,B=-1.94809e-01,C=-1.96726e-01,A-B=-1.98789e-02,A-C=-1.79616e-02 j11:A=-2.14687e-01,B=-1.94809e-01,C=-1.96726e-01,A-B=-1.98789e-02,A-C=-1.79616e-02 j12:A=1.82689e-01,B=1.94809e-01,C=1.96726e-01,A-B=-1.21201e-02,A-C=-1.40374e-02
|
||||
|
||||
-- phi1.5708 --
|
||||
R_A=1.0118504808 R_B=0.9985558540 R_C=1.0083836356
|
||||
R_A/R_B=1.0133138539 R_A/R_C=1.0034380221
|
||||
a_u A/B/C: 5.95062313e-04 6.07860566e-04 5.99130994e-04
|
||||
P_sigma A/B/C: 2.36449649e-05 2.38361559e-05 2.37250678e-05
|
||||
s_A(j): -1.994357e-01 -5.681758e-01 -8.528746e-01 -1.003712e+00 -9.868392e-01 -8.333476e-01 -5.581768e-01 -1.961536e-01 1.961536e-01 5.581768e-01 8.333476e-01 9.868392e-01 1.003712e+00 8.528746e-01 5.681758e-01 1.994357e-01
|
||||
s_B(j): -1.948086e-01 -5.547679e-01 -8.302688e-01 -9.793689e-01 -9.793689e-01 -8.302688e-01 -5.547679e-01 -1.948086e-01 1.948086e-01 5.547679e-01 8.302688e-01 9.793689e-01 9.793689e-01 8.302688e-01 5.547679e-01 1.948086e-01
|
||||
s_C(j): -1.967259e-01 -5.602279e-01 -8.384404e-01 -9.890078e-01 -9.890078e-01 -8.384404e-01 -5.602279e-01 -1.967259e-01 1.967259e-01 5.602279e-01 8.384404e-01 9.890078e-01 9.890078e-01 8.384404e-01 5.602279e-01 1.967259e-01
|
||||
s_A-s_B: -4.627099e-03 -1.340791e-02 -2.260573e-02 -2.434262e-02 -7.470343e-03 -3.078759e-03 -3.408852e-03 -1.344997e-03 1.344997e-03 3.408852e-03 3.078759e-03 7.470343e-03 2.434262e-02 2.260573e-02 1.340791e-02 4.627099e-03
|
||||
s_A-s_C: -2.709794e-03 -7.947886e-03 -1.443423e-02 -1.470367e-02 2.168600e-03 5.092742e-03 2.051171e-03 5.723084e-04 -5.723084e-04 -2.051171e-03 -5.092742e-03 -2.168600e-03 1.470367e-02 1.443423e-02 7.947886e-03 2.709794e-03
|
||||
FACE_ROWS j=3,4,11,12 flagged: j3:A=-1.00371e+00,B=-9.79369e-01,C=-9.89008e-01,A-B=-2.43426e-02,A-C=-1.47037e-02 j4:A=-9.86839e-01,B=-9.79369e-01,C=-9.89008e-01,A-B=-7.47034e-03,A-C=2.16860e-03 j11:A=9.86839e-01,B=9.79369e-01,C=9.89008e-01,A-B=7.47034e-03,A-C=-2.16860e-03 j12:A=1.00371e+00,B=9.79369e-01,C=9.89008e-01,A-B=2.43426e-02,A-C=1.47037e-02
|
||||
|
||||
-- A_T phi=1.5708 (R only, no profile) --
|
||||
R_A_T=1.0118504808 a_u=5.95062313e-04 P_sigma=2.36449649e-05
|
||||
profile=None (transpose)
|
||||
|
||||
=== DECAY FITS (informational; same as v0.2) ===
|
||||
analytic lambda = 0.01542126
|
||||
A phi0.0000: lambda=0.01585222 stderr=8.572e-08 R2=1.000000 A0=1.000000e-03 A32=5.987423e-04
|
||||
B phi0.0000: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi0.0000: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
A phi1.5708: lambda=0.01584192 stderr=2.131e-07 R2=1.000000 A0=1.000000e-03 A32=5.989032e-04
|
||||
B phi1.5708: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi1.5708: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
|
||||
=== NUMERIC SUMMARY ===
|
||||
ALL_HARD_CHECKS_PASS_V02=True
|
||||
ALL_HARD_CHECKS_PASS_WITH_STRESS=True
|
||||
runtime_sec=2.26
|
||||
SUMMARY_LINES_BEGIN
|
||||
R phi0.0000 A=1.011774619306 B=0.998555854025 C=1.008383635570 A/B=1.013237882716 A/C=1.003362791319
|
||||
PROFILE_A phi0.0000 9.91559495e-01 8.38223110e-01 5.53937362e-01 1.82688509e-01 -2.14687493e-01 -5.72526539e-01 -8.48939033e-01 -9.98789772e-01 -9.98789772e-01 -8.48939033e-01 -5.72526539e-01 -2.14687493e-01 1.82688509e-01 5.53937362e-01 8.38223110e-01 9.91559495e-01
|
||||
PROFILE_B phi0.0000 9.79368883e-01 8.30268849e-01 5.54767909e-01 1.94808583e-01 -1.94808583e-01 -5.54767909e-01 -8.30268849e-01 -9.79368883e-01 -9.79368883e-01 -8.30268849e-01 -5.54767909e-01 -1.94808583e-01 1.94808583e-01 5.54767909e-01 8.30268849e-01 9.79368883e-01
|
||||
PROFILE_C phi0.0000 9.89007827e-01 8.38440351e-01 5.60227931e-01 1.96725888e-01 -1.96725888e-01 -5.60227931e-01 -8.38440351e-01 -9.89007827e-01 -9.89007827e-01 -8.38440351e-01 -5.60227931e-01 -1.96725888e-01 1.96725888e-01 5.60227931e-01 8.38440351e-01 9.89007827e-01
|
||||
PROFILE_A-B phi0.0000 1.21906117e-02 7.95426140e-03 -8.30546408e-04 -1.21200743e-02 -1.98789102e-02 -1.77586304e-02 -1.86701838e-02 -1.94208889e-02 -1.94208889e-02 -1.86701838e-02 -1.77586304e-02 -1.98789102e-02 -1.21200743e-02 -8.30546408e-04 7.95426140e-03 1.21906117e-02
|
||||
PROFILE_A-C phi0.0000 2.55166826e-03 -2.17240307e-04 -6.29056929e-03 -1.40373794e-02 -1.79616052e-02 -1.22986075e-02 -1.04986821e-02 -9.78194544e-03 -9.78194544e-03 -1.04986821e-02 -1.22986075e-02 -1.79616052e-02 -1.40373794e-02 -6.29056929e-03 -2.17240307e-04 2.55166826e-03
|
||||
R phi1.5708 A=1.011850480751 B=0.998555854025 C=1.008383635570 A/B=1.013313853874 A/C=1.003438022057
|
||||
PROFILE_A phi1.5708 -1.99435683e-01 -5.68175817e-01 -8.52874579e-01 -1.00371150e+00 -9.86839227e-01 -8.33347608e-01 -5.58176761e-01 -1.96153580e-01 1.96153580e-01 5.58176761e-01 8.33347608e-01 9.86839227e-01 1.00371150e+00 8.52874579e-01 5.68175817e-01 1.99435683e-01
|
||||
PROFILE_B phi1.5708 -1.94808583e-01 -5.54767909e-01 -8.30268849e-01 -9.79368883e-01 -9.79368883e-01 -8.30268849e-01 -5.54767909e-01 -1.94808583e-01 1.94808583e-01 5.54767909e-01 8.30268849e-01 9.79368883e-01 9.79368883e-01 8.30268849e-01 5.54767909e-01 1.94808583e-01
|
||||
PROFILE_C phi1.5708 -1.96725888e-01 -5.60227931e-01 -8.38440351e-01 -9.89007827e-01 -9.89007827e-01 -8.38440351e-01 -5.60227931e-01 -1.96725888e-01 1.96725888e-01 5.60227931e-01 8.38440351e-01 9.89007827e-01 9.89007827e-01 8.38440351e-01 5.60227931e-01 1.96725888e-01
|
||||
PROFILE_A-B phi1.5708 -4.62709942e-03 -1.34079086e-02 -2.26057300e-02 -2.43426175e-02 -7.47034346e-03 -3.07875936e-03 -3.40885205e-03 -1.34499672e-03 1.34499672e-03 3.40885205e-03 3.07875936e-03 7.47034346e-03 2.43426175e-02 2.26057300e-02 1.34079086e-02 4.62709942e-03
|
||||
PROFILE_A-C phi1.5708 -2.70979435e-03 -7.94788568e-03 -1.44342283e-02 -1.47036740e-02 2.16860001e-03 5.09274236e-03 2.05117083e-03 5.72308350e-04 -5.72308350e-04 -2.05117083e-03 -5.09274236e-03 -2.16860001e-03 1.47036740e-02 1.44342283e-02 7.94788568e-03 2.70979435e-03
|
||||
R A_T_phi1.5708 R=1.011850480751
|
||||
TRANSPOSE err=6.661338e-16 ok=True
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
SUMMARY_LINES_END
|
||||
|
||||
RUN_RESULT {"started_utc": "2026-10-13T06:01:08.222086+00:00", "cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid", "parent_command": ["env", "OPENBLAS_NUM_THREADS=1", "PYTHONDONTWRITEBYTECODE=1", "PYTHONNOUSERSITE=1", "PYTHONOPTIMIZE=0", "PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py", "/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_v1_evidence/run_once.py"], "script_command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/local_stress_observable_v1.py"], "environment": {"OPENBLAS_NUM_THREADS": "1", "PYTHONDONTWRITEBYTECODE": "1", "PYTHONNOUSERSITE": "1", "PYTHONOPTIMIZE": "0", "PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"}, "python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]", "numpy_version_from_installed_metadata": "1.26.4", "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35", "hard_limits": {"address_space_bytes": [268435456, 268435456], "output_file_bytes": [2097152, 2097152], "core_bytes": [0, 0]}, "input_hashes_verified_before_execution": {"local_stress_observable_v1.py": "0e2777990359a7cf2bb29884173b7b01de37c49bcf49e1f29fc59fe83d62b456", "stdout_local_stress_observable_v1.txt": "6a826e5ad729ce45af6879a07a1c659d8b4a21403fde5b9c6d9696cc6a5b09d4", "TABLE_local_stress_observable_v1.md": "d8ff0568d9c473a4bb09396a8948ddc8dc5af2f0f3a23ac84d238814fc779501", "source_manifest.json": "d2cf90b73458f493c665c9a281d06aef0c190cf0d143639fb77ab838c78f020c"}, "archive_sha256_verified_before_execution": "5834b23711496beb152188df5f47ff8175baf7e52543774401bd2c1183433eed", "reference_sha256_verified_before_execution": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e", "planned_runs": 7, "coarse_steps_per_run": 32, "attempt": 1, "returncode": 0, "elapsed_seconds": 2.435032418987248, "child_peak_rss_MiB": 38.41796875, "parent_peak_rss_MiB": 18.75, "completed_utc": "2026-10-13T06:01:10.671541+00:00"}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
=== local_stress_observable_v1 against CPUREF-0.3 ===
|
||||
REF_PATH=/workspace/shear_diag/cpu_reference_v0.3.py
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
REF_SHA_MATCH=True
|
||||
API_VERSION=CPUREF-0.3
|
||||
U0=0.001 tau_c=0.8 tau_f=1.1 steps=32 nu=0.1 k=0.39269908169872414
|
||||
nu*k^2=0.01542126
|
||||
ARRIVAL_STATE_POLICY: read CPUREF-0.3 State.coarse_f/fine_f at phase='arrival_f'
|
||||
after N advance_coarse_once calls (tick=2N). That array IS post-stream pre-collision.
|
||||
Uniform B/C use local collide-then-stream; f after 2N (B) or N (C) streams is arrival.
|
||||
If arrival were unreachable without changing the reference, this script would STOP.
|
||||
STRESS: Pi_neq=sum(cx*cy*f)-rho*ux*uy; sigma=-(1-1/(2*tau))*Pi_neq; 2x2 vol-avg of sigma.
|
||||
No extra dx/dt factor. a_u=(2/256)sum u sin; P_sigma=(2/256)sum sigma cos; own a_u.
|
||||
Profile s(j)=mean_x[4,12)(sigma)/ (rho0*nu*k*a_u). Transposed: R only, no profile.
|
||||
|
||||
-- running C (uniform-coarse) phi0.0000
|
||||
ARRIVAL_ARRAY: uniform_C_f_after_32_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running B (uniform-fine) phi0.0000
|
||||
ARRIVAL_ARRAY: uniform_B_f_after_64_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running A (composite CPUREF) phi0.0000
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
state.phase=arrival_f state.tick=64
|
||||
-- running C (uniform-coarse) phi1.5708
|
||||
ARRIVAL_ARRAY: uniform_C_f_after_32_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running B (uniform-fine) phi1.5708
|
||||
ARRIVAL_ARRAY: uniform_B_f_after_64_stream_steps_(=coarse_step_32_arrival; collide-then-stream loop)
|
||||
-- running A (composite CPUREF) phi1.5708
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
state.phase=arrival_f state.tick=64
|
||||
-- running A transpose phi=1.5707963267948966
|
||||
ARRIVAL_ARRAY: State.coarse_f + State.fine_f at phase='arrival_f' tick=64 (after 32 advance_coarse_once; arrival_f = post-stream pre-collision)
|
||||
|
||||
=== HARD CHECKS (unchanged v0.2 set) ===
|
||||
finite[A_phi0.0000]=True cons=True mass_drift=5.969e-13 momx_drift=1.690e-13 momy_drift=2.753e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi0.0000]=True cons=True mass_drift=7.105e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10
|
||||
finite[C_phi0.0000]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10
|
||||
finite[A_phi1.5708]=True cons=True mass_drift=8.242e-13 momx_drift=1.033e-13 momy_drift=9.015e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi1.5708]=True cons=True mass_drift=6.821e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10
|
||||
finite[C_phi1.5708]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10
|
||||
finite[A_T_phi1.5708]=True cons=True mass_drift=7.105e-13 momx_drift=1.843e-14 momy_drift=6.062e-14 tol_abs=2.560e-10 init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
transpose_ok=True max_err=6.661e-16 (tol=1.000e-15)
|
||||
t0 phi0.0000: AB_patch=1.084e-19 ok=True AC_out=2.168e-19 ok=True init_mm=1.110e-16 ok=True
|
||||
t0 phi1.5708: AB_patch=1.084e-19 ok=True AC_out=2.168e-19 ok=True init_mm=1.110e-16 ok=True
|
||||
init_mismatch[A_T]=1.110e-16 ok=True
|
||||
|
||||
=== STRESS FINITE CHECKS (addition) ===
|
||||
stress_finite[C_phi0.0000]=True R=1.00838364 a_u=5.991310e-04 P_sigma=2.372507e-05
|
||||
stress_finite[B_phi0.0000]=True R=0.99855585 a_u=6.078606e-04 P_sigma=2.383616e-05
|
||||
stress_finite[A_phi0.0000]=True R=1.01177462 a_u=5.949025e-04 P_sigma=2.363684e-05
|
||||
stress_finite[C_phi1.5708]=True R=1.00838364 a_u=5.991310e-04 P_sigma=2.372507e-05
|
||||
stress_finite[B_phi1.5708]=True R=0.99855585 a_u=6.078606e-04 P_sigma=2.383616e-05
|
||||
stress_finite[A_phi1.5708]=True R=1.01185048 a_u=5.950623e-04 P_sigma=2.364496e-05
|
||||
stress_finite[A_T_phi1.5708]=True R=1.01185048 a_u=5.950623e-04 P_sigma=2.364496e-05
|
||||
N_BOOLEAN_HARD_CHECKS_V02=22: cons_A_T_phi1.5708,cons_A_phi0.0000,cons_A_phi1.5708,cons_B_phi0.0000,cons_B_phi1.5708,cons_C_phi0.0000,cons_C_phi1.5708,finite_A_T_phi1.5708,finite_A_phi0.0000,finite_A_phi1.5708,finite_B_phi0.0000,finite_B_phi1.5708,finite_C_phi0.0000,finite_C_phi1.5708,init_mismatch_ok_A_T_phi1.5708,init_mismatch_ok_phi0.0000,init_mismatch_ok_phi1.5708,t0_AB_patch_ok_phi0.0000,t0_AB_patch_ok_phi1.5708,t0_AC_out_ok_phi0.0000,t0_AC_out_ok_phi1.5708,transpose_ok
|
||||
N_BOOLEAN_HARD_CHECKS_WITH_STRESS=29
|
||||
|
||||
=== LOCAL STRESS OBSERVABLE at coarse step 32 ===
|
||||
FORMULA: R = P_sigma / (rho0 * nu * k * a_u); a_u from SAME run/tick/arrival
|
||||
WORDING: reported diagnostics only; phi probes phase structure only; no mechanism claim
|
||||
|
||||
-- phi0.0000 --
|
||||
R_A=1.0117746193 R_B=0.9985558540 R_C=1.0083836356
|
||||
R_A/R_B=1.0132378827 R_A/R_C=1.0033627913
|
||||
a_u A/B/C: 5.94902468e-04 6.07860566e-04 5.99130994e-04
|
||||
P_sigma A/B/C: 2.36368412e-05 2.38361559e-05 2.37250678e-05
|
||||
s_A(j): 9.915595e-01 8.382231e-01 5.539374e-01 1.826885e-01 -2.146875e-01 -5.725265e-01 -8.489390e-01 -9.987898e-01 -9.987898e-01 -8.489390e-01 -5.725265e-01 -2.146875e-01 1.826885e-01 5.539374e-01 8.382231e-01 9.915595e-01
|
||||
s_B(j): 9.793689e-01 8.302688e-01 5.547679e-01 1.948086e-01 -1.948086e-01 -5.547679e-01 -8.302688e-01 -9.793689e-01 -9.793689e-01 -8.302688e-01 -5.547679e-01 -1.948086e-01 1.948086e-01 5.547679e-01 8.302688e-01 9.793689e-01
|
||||
s_C(j): 9.890078e-01 8.384404e-01 5.602279e-01 1.967259e-01 -1.967259e-01 -5.602279e-01 -8.384404e-01 -9.890078e-01 -9.890078e-01 -8.384404e-01 -5.602279e-01 -1.967259e-01 1.967259e-01 5.602279e-01 8.384404e-01 9.890078e-01
|
||||
s_A-s_B: 1.219061e-02 7.954261e-03 -8.305464e-04 -1.212007e-02 -1.987891e-02 -1.775863e-02 -1.867018e-02 -1.942089e-02 -1.942089e-02 -1.867018e-02 -1.775863e-02 -1.987891e-02 -1.212007e-02 -8.305464e-04 7.954261e-03 1.219061e-02
|
||||
s_A-s_C: 2.551668e-03 -2.172403e-04 -6.290569e-03 -1.403738e-02 -1.796161e-02 -1.229861e-02 -1.049868e-02 -9.781945e-03 -9.781945e-03 -1.049868e-02 -1.229861e-02 -1.796161e-02 -1.403738e-02 -6.290569e-03 -2.172403e-04 2.551668e-03
|
||||
FACE_ROWS j=3,4,11,12 flagged: j3:A=1.82689e-01,B=1.94809e-01,C=1.96726e-01,A-B=-1.21201e-02,A-C=-1.40374e-02 j4:A=-2.14687e-01,B=-1.94809e-01,C=-1.96726e-01,A-B=-1.98789e-02,A-C=-1.79616e-02 j11:A=-2.14687e-01,B=-1.94809e-01,C=-1.96726e-01,A-B=-1.98789e-02,A-C=-1.79616e-02 j12:A=1.82689e-01,B=1.94809e-01,C=1.96726e-01,A-B=-1.21201e-02,A-C=-1.40374e-02
|
||||
|
||||
-- phi1.5708 --
|
||||
R_A=1.0118504808 R_B=0.9985558540 R_C=1.0083836356
|
||||
R_A/R_B=1.0133138539 R_A/R_C=1.0034380221
|
||||
a_u A/B/C: 5.95062313e-04 6.07860566e-04 5.99130994e-04
|
||||
P_sigma A/B/C: 2.36449649e-05 2.38361559e-05 2.37250678e-05
|
||||
s_A(j): -1.994357e-01 -5.681758e-01 -8.528746e-01 -1.003712e+00 -9.868392e-01 -8.333476e-01 -5.581768e-01 -1.961536e-01 1.961536e-01 5.581768e-01 8.333476e-01 9.868392e-01 1.003712e+00 8.528746e-01 5.681758e-01 1.994357e-01
|
||||
s_B(j): -1.948086e-01 -5.547679e-01 -8.302688e-01 -9.793689e-01 -9.793689e-01 -8.302688e-01 -5.547679e-01 -1.948086e-01 1.948086e-01 5.547679e-01 8.302688e-01 9.793689e-01 9.793689e-01 8.302688e-01 5.547679e-01 1.948086e-01
|
||||
s_C(j): -1.967259e-01 -5.602279e-01 -8.384404e-01 -9.890078e-01 -9.890078e-01 -8.384404e-01 -5.602279e-01 -1.967259e-01 1.967259e-01 5.602279e-01 8.384404e-01 9.890078e-01 9.890078e-01 8.384404e-01 5.602279e-01 1.967259e-01
|
||||
s_A-s_B: -4.627099e-03 -1.340791e-02 -2.260573e-02 -2.434262e-02 -7.470343e-03 -3.078759e-03 -3.408852e-03 -1.344997e-03 1.344997e-03 3.408852e-03 3.078759e-03 7.470343e-03 2.434262e-02 2.260573e-02 1.340791e-02 4.627099e-03
|
||||
s_A-s_C: -2.709794e-03 -7.947886e-03 -1.443423e-02 -1.470367e-02 2.168600e-03 5.092742e-03 2.051171e-03 5.723084e-04 -5.723084e-04 -2.051171e-03 -5.092742e-03 -2.168600e-03 1.470367e-02 1.443423e-02 7.947886e-03 2.709794e-03
|
||||
FACE_ROWS j=3,4,11,12 flagged: j3:A=-1.00371e+00,B=-9.79369e-01,C=-9.89008e-01,A-B=-2.43426e-02,A-C=-1.47037e-02 j4:A=-9.86839e-01,B=-9.79369e-01,C=-9.89008e-01,A-B=-7.47034e-03,A-C=2.16860e-03 j11:A=9.86839e-01,B=9.79369e-01,C=9.89008e-01,A-B=7.47034e-03,A-C=-2.16860e-03 j12:A=1.00371e+00,B=9.79369e-01,C=9.89008e-01,A-B=2.43426e-02,A-C=1.47037e-02
|
||||
|
||||
-- A_T phi=1.5708 (R only, no profile) --
|
||||
R_A_T=1.0118504808 a_u=5.95062313e-04 P_sigma=2.36449649e-05
|
||||
profile=None (transpose)
|
||||
|
||||
=== DECAY FITS (informational; same as v0.2) ===
|
||||
analytic lambda = 0.01542126
|
||||
A phi0.0000: lambda=0.01585222 stderr=8.572e-08 R2=1.000000 A0=1.000000e-03 A32=5.987423e-04
|
||||
B phi0.0000: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi0.0000: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
A phi1.5708: lambda=0.01584192 stderr=2.131e-07 R2=1.000000 A0=1.000000e-03 A32=5.989032e-04
|
||||
B phi1.5708: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi1.5708: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
|
||||
=== NUMERIC SUMMARY ===
|
||||
ALL_HARD_CHECKS_PASS_V02=True
|
||||
ALL_HARD_CHECKS_PASS_WITH_STRESS=True
|
||||
runtime_sec=0.77
|
||||
SUMMARY_LINES_BEGIN
|
||||
R phi0.0000 A=1.011774619306 B=0.998555854025 C=1.008383635570 A/B=1.013237882716 A/C=1.003362791319
|
||||
PROFILE_A phi0.0000 9.91559495e-01 8.38223110e-01 5.53937362e-01 1.82688509e-01 -2.14687493e-01 -5.72526539e-01 -8.48939033e-01 -9.98789772e-01 -9.98789772e-01 -8.48939033e-01 -5.72526539e-01 -2.14687493e-01 1.82688509e-01 5.53937362e-01 8.38223110e-01 9.91559495e-01
|
||||
PROFILE_B phi0.0000 9.79368883e-01 8.30268849e-01 5.54767909e-01 1.94808583e-01 -1.94808583e-01 -5.54767909e-01 -8.30268849e-01 -9.79368883e-01 -9.79368883e-01 -8.30268849e-01 -5.54767909e-01 -1.94808583e-01 1.94808583e-01 5.54767909e-01 8.30268849e-01 9.79368883e-01
|
||||
PROFILE_C phi0.0000 9.89007827e-01 8.38440351e-01 5.60227931e-01 1.96725888e-01 -1.96725888e-01 -5.60227931e-01 -8.38440351e-01 -9.89007827e-01 -9.89007827e-01 -8.38440351e-01 -5.60227931e-01 -1.96725888e-01 1.96725888e-01 5.60227931e-01 8.38440351e-01 9.89007827e-01
|
||||
PROFILE_A-B phi0.0000 1.21906117e-02 7.95426140e-03 -8.30546408e-04 -1.21200743e-02 -1.98789102e-02 -1.77586304e-02 -1.86701838e-02 -1.94208889e-02 -1.94208889e-02 -1.86701838e-02 -1.77586304e-02 -1.98789102e-02 -1.21200743e-02 -8.30546408e-04 7.95426140e-03 1.21906117e-02
|
||||
PROFILE_A-C phi0.0000 2.55166826e-03 -2.17240307e-04 -6.29056929e-03 -1.40373794e-02 -1.79616052e-02 -1.22986075e-02 -1.04986821e-02 -9.78194544e-03 -9.78194544e-03 -1.04986821e-02 -1.22986075e-02 -1.79616052e-02 -1.40373794e-02 -6.29056929e-03 -2.17240307e-04 2.55166826e-03
|
||||
R phi1.5708 A=1.011850480751 B=0.998555854025 C=1.008383635570 A/B=1.013313853874 A/C=1.003438022057
|
||||
PROFILE_A phi1.5708 -1.99435683e-01 -5.68175817e-01 -8.52874579e-01 -1.00371150e+00 -9.86839227e-01 -8.33347608e-01 -5.58176761e-01 -1.96153580e-01 1.96153580e-01 5.58176761e-01 8.33347608e-01 9.86839227e-01 1.00371150e+00 8.52874579e-01 5.68175817e-01 1.99435683e-01
|
||||
PROFILE_B phi1.5708 -1.94808583e-01 -5.54767909e-01 -8.30268849e-01 -9.79368883e-01 -9.79368883e-01 -8.30268849e-01 -5.54767909e-01 -1.94808583e-01 1.94808583e-01 5.54767909e-01 8.30268849e-01 9.79368883e-01 9.79368883e-01 8.30268849e-01 5.54767909e-01 1.94808583e-01
|
||||
PROFILE_C phi1.5708 -1.96725888e-01 -5.60227931e-01 -8.38440351e-01 -9.89007827e-01 -9.89007827e-01 -8.38440351e-01 -5.60227931e-01 -1.96725888e-01 1.96725888e-01 5.60227931e-01 8.38440351e-01 9.89007827e-01 9.89007827e-01 8.38440351e-01 5.60227931e-01 1.96725888e-01
|
||||
PROFILE_A-B phi1.5708 -4.62709942e-03 -1.34079086e-02 -2.26057300e-02 -2.43426175e-02 -7.47034346e-03 -3.07875936e-03 -3.40885205e-03 -1.34499672e-03 1.34499672e-03 3.40885205e-03 3.07875936e-03 7.47034346e-03 2.43426175e-02 2.26057300e-02 1.34079086e-02 4.62709942e-03
|
||||
PROFILE_A-C phi1.5708 -2.70979435e-03 -7.94788568e-03 -1.44342283e-02 -1.47036740e-02 2.16860001e-03 5.09274236e-03 2.05117083e-03 5.72308350e-04 -5.72308350e-04 -2.05117083e-03 -5.09274236e-03 -2.16860001e-03 1.47036740e-02 1.44342283e-02 7.94788568e-03 2.70979435e-03
|
||||
R A_T_phi1.5708 R=1.011850480751
|
||||
TRANSPOSE err=6.661338e-16 ok=True
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
SUMMARY_LINES_END
|
||||
@@ -0,0 +1,115 @@
|
||||
Shear diagnostic v0.2 — Horsea review and single bounded run
|
||||
2026-10-13 (Asia/Shanghai); completed 13:02:45 local time.
|
||||
|
||||
Result: exit 0; N_BOOLEAN_HARD_CHECKS=22; ALL_HARD_CHECKS_PASS=True.
|
||||
The delivered script ran exactly once: 7 runs, 32 coarse steps each. No extra
|
||||
cases, tests, retries, algorithm edits or tolerance changes were performed.
|
||||
The original script, Grok output, joint report and source manifest are retained
|
||||
byte-for-byte. The reference remains the pinned CPUREF-0.3 original.
|
||||
|
||||
Review before execution
|
||||
Read the complete 790-line script, joint report, Grok output, input manifest
|
||||
and existing reference. Followed .github/skills/lbm-ref-architecture-guard/
|
||||
SKILL.md and its discovery/architecture checklists. No applicable AGENTS.md
|
||||
was found on the workspace/test-directory ancestor chain. No numerical issue
|
||||
blocks this fixed-scope rerun; this is Horsea's own review, not the Mac review.
|
||||
|
||||
Reference findings (local files read only; no external package execution):
|
||||
1. ref/lbmpy/src/lbmpy/relaxationrates.py: lattice nu=(tau-1/2)/3.
|
||||
2. ref/OpenLB/src/core/unitConverter.h: physical nu=lattice nu*dx^2/dt.
|
||||
With dx_f=dt_f=1/2, tau_c=.8 and tau_f=1.1 both give physical nu=.1;
|
||||
the lattice velocity conversion is unchanged and B needs two fine steps.
|
||||
3. ref/lbmpy/tests/full_scenarios/shear_wave/scenario_shear_wave.py:
|
||||
periodic modes decay as exp(-nu*|k|^2*t); log-amplitude fits estimate
|
||||
decay. This supports the diagnostic, not an accuracy threshold here.
|
||||
4. ref/lbmpy/tests/test_shear_flow.py: the second moment needs the convective
|
||||
contribution and relaxation correction considered before stress comparison.
|
||||
The supplied global Pi_xy mean is not used as stress evidence.
|
||||
5. Existing cpu_reference.py: arrival_f input/output, tick advances by 2,
|
||||
two fine hops, one coarse ghost explosion, closed-corner coalescence.
|
||||
Reviewed full source and confirmed the unchanged hash before execution.
|
||||
|
||||
Architecture/scope: script main -> run_uniform(B/C), run_composite(A/A_T) ->
|
||||
reference advance_coarse_once -> existing collision/hops/coalescence. Observation
|
||||
restricts rho and j to the same 16x16 coarse cells before dividing to obtain u.
|
||||
All observations are arrival_f. Exact cell-average sine velocity includes sinc
|
||||
and the patch coordinate offset; equilibrium of that velocity is not the exact
|
||||
cell average of nonlinear equilibrium populations. Fit 4..32 means coarse steps
|
||||
(reference ticks 8..64), despite the legacy PER-TICK table heading.
|
||||
Only the new script and this evidence directory are in scope. No src, existing
|
||||
test, strategy document, old evidence, reference or DynamisLab changes.
|
||||
|
||||
Nonblocking limits: composite conservation uses the reference's _leaf_totals;
|
||||
this diagnostic is not a fresh independent conservation implementation. The
|
||||
uniform solver has an unused intermediate equilibrium calculation; it does not
|
||||
change its returned values. Retained both without cleanup to preserve delivery
|
||||
bytes. The explicit CPU_REFERENCE_PATH is required in this layout because the
|
||||
script's default filename is cpu_reference_v0.3.py.
|
||||
|
||||
Execution evidence
|
||||
results_horsea.json records the exact complete parent/child argv, cwd, process
|
||||
environment, versions, timestamps, hard limits, exit code and measured memory.
|
||||
run_once.py is the stdlib-only recorder, not another numerical test. It refuses
|
||||
existing execution logs/results and checks the script/reference hashes and hard
|
||||
limits before launching. Both it and the child ran through existing prlimit:
|
||||
address space 268435456 bytes (soft=hard)
|
||||
file size 2097152 bytes (soft=hard), core 0
|
||||
OPENBLAS_NUM_THREADS=1, PYTHONDONTWRITEBYTECODE=1, PYTHONNOUSERSITE=1.
|
||||
PYTHONPATH is this exact multigrid directory; CPU_REFERENCE_PATH is its exact
|
||||
cpu_reference.py. PYTHONOPTIMIZE=0 keeps assertions enabled. No global changes.
|
||||
Existing Python 3.10.13 / NumPy 1.26.4; no dependency installation.
|
||||
Start/end UTC: 05:02:42.804589 / 05:02:45.056308 on 2026-10-13.
|
||||
Child wall time 2.237032 s; peak child RSS 37.69140625 MiB, parent 18.75 MiB.
|
||||
Combined stdout/stderr plus recorder metadata: 11421 bytes, below 2 MiB.
|
||||
No CelerisLab, Simulation or pycuda imports; no production/GPU/SSH/system work.
|
||||
|
||||
Comparison with Grok
|
||||
HARD CHECKS and SUMMARY_LINES blocks match exactly at printed precision.
|
||||
All 22 individual Boolean values were parsed and matched, and checked against
|
||||
the printed list of 22 names. All 33 summary values match; all printed numeric
|
||||
differences in these two blocks are zero. See comparison.json for each value.
|
||||
This is not a claim of full-precision field or whole-stdout byte equality;
|
||||
reference path, runtime and recorder metadata are environment-specific.
|
||||
|
||||
lambda per coarse step:
|
||||
A phi0 0.0158522189
|
||||
A phi(pi/2) 0.0158419175
|
||||
B both 0.0153991657
|
||||
C both 0.0155497331
|
||||
analytic 0.0154212569
|
||||
Conservation mass drift <=8.242e-13, momentum drift <=1.690e-13, versus
|
||||
unchanged mass-scaled tolerance 2.560e-10. Transpose error 6.661338e-16
|
||||
passes 1e-15. Initial matches and all finite-state checks pass unchanged.
|
||||
|
||||
Interpretation qualifications to the preserved joint report
|
||||
The ~2.94% / ~2.88% excess decay relative to B is a diagnostic observation
|
||||
over this fixed window, not a hard-threshold failure. A good exponential fit
|
||||
over steps 4..32 does not establish longer-time persistence or exclude all
|
||||
initialization effects. Symmetry cancels the global Pi mean; it is not stress
|
||||
transfer evidence. Time-held ghost supply and unscaled nonequilibrium copying
|
||||
are candidate explanations, not an exhaustive set or an identified mechanism.
|
||||
In particular, a negative time-interpolation result would not establish the
|
||||
other candidate by elimination. Original joint_report.md remains unchanged.
|
||||
|
||||
Next minimal verification — specification only, not implemented or run
|
||||
First specify a phase- and unit-matched local shear observation on the same
|
||||
7-run/32-step setup: arrival_f Pi_xy^neq=sum(cx*cy*f)-rho*ux*uy, restricted
|
||||
with consistent volume weighting and the appropriate relaxation/unit conversion.
|
||||
Measure a cosine shear-mode projection and signed profiles on both sides of
|
||||
the patch faces, with B/C as controls; avoid cancellation by a domain mean.
|
||||
Keep all 22 checks, initialization and fit window fixed. Report differences
|
||||
without inventing a pass/fail stress threshold. This can test localization and
|
||||
phase structure, but does not alone prove causation.
|
||||
Before any later time-interpolated-ghost variant, jointly specify the available
|
||||
donor time levels, arrival_f/postcollision_g phase, interpolation order and flux
|
||||
accounting. Coarse g(t+1) is unavailable before the present fine hops; silently
|
||||
reordering the step or using unspecified future data would confound that test.
|
||||
No such variant, new observation code or reference continuation is part of this run.
|
||||
|
||||
Audit
|
||||
baseline.json freezes HEAD, Git status and 281 existing file hashes before any
|
||||
input extraction. Its scope includes tracked/nonignored project files and the
|
||||
prior baseline's ignored records; excludes the read-only ref tree and bytecode.
|
||||
manifest.json records final old-file/input/reference verification and every new
|
||||
file's path, bytes and SHA256, except its own hash reported in the handoff.
|
||||
No commit or push. Stopped for joint acceptance.
|
||||
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"created_utc": "2026-10-13T04:59:54.914211+00:00",
|
||||
"head": "6e3756c587ec08ab6a55c4a1a5f4671822d3f0a0",
|
||||
"git_status": " M pyproject.toml\n M setup.py\n M src/CelerisLab/__init__.py\n M src/CelerisLab/body/__init__.py\n M src/CelerisLab/body/ddf_patch.py\n M src/CelerisLab/body/manager.py\n M src/CelerisLab/body/preprocess/flag_overlay.py\n M src/CelerisLab/common/__init__.py\n M src/CelerisLab/common/checkpoint.py\n M src/CelerisLab/config.py\n M src/CelerisLab/configs/CONFIG.md\n M src/CelerisLab/cuda/__init__.py\n M src/CelerisLab/cuda/compiler_v2.py\n M src/CelerisLab/cuda/context.py\n M src/CelerisLab/lbm/__init__.py\n M src/CelerisLab/lbm/curved_links.py\n M src/CelerisLab/lbm/field.py\n M src/CelerisLab/lbm/initializers.py\n M src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh\n M src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh\n M src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh\n M src/CelerisLab/lbm/kernels/config/config_grid.h\n M src/CelerisLab/lbm/kernels/config/config_method.h\n M src/CelerisLab/lbm/kernels/config/config_objects.h\n M src/CelerisLab/lbm/kernels/config/config_physics.h\n M src/CelerisLab/lbm/kernels/kernel_v2.cu\n M src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh\n M src/CelerisLab/lbm/kernels/operators/collision_trt.cuh\n M src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh\n M src/CelerisLab/lbm/kernels/step/aux_kernels.cu\n M src/CelerisLab/lbm/kernels/step/esopull_sync.cu\n M src/CelerisLab/lbm/kernels/step/init_flow.cu\n M src/CelerisLab/lbm/kernels/step/one_step_double.cu\n M src/CelerisLab/lbm/kernels/step/one_step_esopull.cu\n M src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh\n M src/CelerisLab/lbm/stepper.py\n M src/CelerisLab/simulation.py\n M tests/integration/test_body_sync_e2e.py\n M tests/integration/test_ddf_patch.py\n M tests/integration/test_sync_bodies_skeleton.py\n M tests/integration/test_unified_obs.py\n M tests/postproc/experiment.ipynb\n M tests/validation/run_kan99b_rotating_cylinder.py\n M tests/validation/run_sah04_st_matrix.py\n M tests/validation/test_sensor_accuracy.py\n?? docs/design/README.md\n?? docs/design/integrated_architecture.md\n?? docs/design/multi_level_grid_architecture.md\n?? docs/design/multi_level_summary.md\n?? docs/design/multi_level_visual_reference.md\n?? docs/design/spatial_coupling_refinement.md\n?? docs/multilevel_grid_architecture_analysis.md\n?? research/audit-2026-10-09/REVIEW.zh-CN.md\n?? research/audit-2026-10-09/architecture-cpu-results.json\n?? research/audit-2026-10-09/architecture-report.md\n?? research/audit-2026-10-09/numerical-report.md\n?? research/audit-2026-10-09/numerical_collision_results.json\n?? research/audit-2026-10-09/numerical_compile_results.json\n?? research/audit-2026-10-09/numerical_semantics_results.json\n?? research/audit-2026-10-09/root-initializers-report.md\n?? research/audit-2026-10-09/state-report.md\n?? research/audit-2026-10-09/state_results.json\n?? research/design-2026-10-09/Contracts.lean\n?? research/design-2026-10-09/PLAN.zh-CN.md\n?? research/design-2026-10-09/api-architecture-study.md\n?? research/design-2026-10-09/grid-study.md\n?? research/design-2026-10-09/jet-study.md\n?? research/design-2026-10-09/jet_closure_check.py\n?? research/design-2026-10-09/jet_closure_results.json\n?? research/design-2026-10-09/math-and-history.md\n?? research/design-2026-10-09/math-checks.json\n?? research/design-2026-10-09/math_checks.py\n?? research/j1-2026-10-12/REVIEW.md\n?? research/j1-2026-10-12/baseline-status.txt\n?? research/j1-2026-10-12/baseline.json\n?? research/j1-2026-10-12/incremental.diff\n?? research/j1-2026-10-12/results.json\n?? research/j2-slot-2026-10-12/REVIEW.md\n?? research/j2-slot-2026-10-12/baseline-status.txt\n?? research/j2-slot-2026-10-12/baseline.json\n?? research/j2-slot-2026-10-12/incremental.diff\n?? research/j2-slot-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/REVIEW.md\n?? research/j3-coverage-2026-10-12/baseline-status.txt\n?? research/j3-coverage-2026-10-12/baseline.json\n?? research/j3-coverage-2026-10-12/incremental.diff\n?? research/j3-coverage-2026-10-12/negative-budget-20744.h5\n?? research/j3-coverage-2026-10-12/negative-end-20760.h5\n?? research/j3-coverage-2026-10-12/restart-21280.h5\n?? research/j3-coverage-2026-10-12/restart-reference-21296.h5\n?? research/j3-coverage-2026-10-12/results.json\n?? research/j3-coverage-2026-10-12/verification.json\n?? research/j3-lag-2026-10-12/REVIEW.md\n?? research/j3-lag-2026-10-12/baseline-status.txt\n?? research/j3-lag-2026-10-12/baseline.json\n?? research/j3-lag-2026-10-12/end-21280.h5\n?? research/j3-lag-2026-10-12/incremental.diff\n?? research/j3-lag-2026-10-12/results.json\n?? research/j3-lag-2026-10-12/start-20760.h5\n?? research/j3-lag-2026-10-12/trajectory.h5\n?? research/j3-offline-2026-10-12/REVIEW.md\n?? research/j3-offline-2026-10-12/lags.csv\n?? research/j3-offline-2026-10-12/localization.png\n?? research/j3-offline-2026-10-12/regions.csv\Line truncated
|
||||
"hash_scope": "Tracked and nonignored untracked regular files excluding ref and bytecode, plus all prior 269-file baseline paths; ref is read-only research material.",
|
||||
"hashes": {
|
||||
".cursor/rules/cuda-style.mdc": "5810cf8cff793a11ba5dedafaa8a4e7d7d3debb728d837ca1903ff6dc8d6fdb9",
|
||||
".cursor/rules/project-layout.mdc": "aeed1cd9d48447bcfcfb6a77250af7c5a3d500de4c6b2591c5684696fa04c3ec",
|
||||
".cursor/rules/python-style.mdc": "ece75cb724d7dc46cb8dab7ecf8d710a90b503001da0d506ea4bf772ce395e21",
|
||||
".cursorignore": "9f072faa815a6c6d4dc791a424201404f0f623338681ae3d2fcbdf86db1bd035",
|
||||
".gitignore": "de25151f4cfdf29ca64032e509398e1829c7ded2449ccff803b2fd87d859ae6c",
|
||||
"LICENSE": "e98392425e9a0007d0d69f0f7c912c2dc1b59061a6197223962aac45599c76ea",
|
||||
"README.md": "982d0df8b766b1d5017ba702b75e8b3cec8d22f57af8f434be27ea251652596c",
|
||||
"docs/audit/audit_round2.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"docs/audit/body_refactor_notes.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"docs/audit/config_diagnosis.md": "b601652df0cac36a8faf2b317b11853221353716a25184cd9b2dc41373a7f183",
|
||||
"docs/audit/kernel_layer_audit.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"docs/design/README.md": "98242c6960866d9b75aaf363f703edf02c4210bc38da1a340e9f6add49c6a3ce",
|
||||
"docs/design/integrated_architecture.md": "c26b0d301321fe4b86d83d11c7e0b8d0c0545ee2995afa563966f004e9788132",
|
||||
"docs/design/multi_level_grid_architecture.md": "e56a67d9129f2e3c311342e21a3fb2ed14bd492dd881949b251d5d9ac577bdee",
|
||||
"docs/design/multi_level_summary.md": "eebf23e0bec9b154e5ce2128e2806e7558a7d4824b2c700cfd16afd1158b2354",
|
||||
"docs/design/multi_level_visual_reference.md": "cad4bfbd561e5650ec297334529334b662a1ed35f7373c61f34ee22ecf1f66bd",
|
||||
"docs/design/spatial_coupling_refinement.md": "36c878c7afad524999d89fa842297a98a0433e0283e78b36ca734ddbf8723ed8",
|
||||
"docs/multilevel_grid_architecture_analysis.md": "90309730b1759d63531cb258c30db990ab71ca1b56ae47d0bbe2f4e2ae52012c",
|
||||
"docs/performance_analysis.md": "ba01aaa4d3c02b61a8dc55fd00518ac291ebbed79b6574190d6b7234a1158fcb",
|
||||
"docs/tests_overview.md": "ffc9591fd7baa4261b2c1ce9cfa7aa13a3554a8d5df712035806266a5eaade3f",
|
||||
"docs/validation_specs/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"docs/validation_specs/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"docs/validation_specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"docs/validation_specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"docs/validation_specs/exp_ctrl_matrix.md": "b7250576c23292988b6ef4bcfd080f611d41edc413c3cebd0eadcc8596049470",
|
||||
"docs/validation_specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"output/round3_compatibility_summary.md": "319f2e6abde4b34cc4ec90ef461d8ebb85dd5a3ac1736cfa7a3fb110f2a69df9",
|
||||
"pyproject.toml": "f24ab9ad3a6a728a9382b1bce2e721612fc76635f35c6f96dfddaa853b6e5a9c",
|
||||
"research/audit-2026-10-09/REVIEW.zh-CN.md": "2841fd3aa7a6baedbe1079d90915c8b05212b133824ed6abccaa1f09656eaefe",
|
||||
"research/audit-2026-10-09/architecture-cpu-results.json": "e1b809210005c8765b13fddbb5ed710d15f6fcbb4c5788a4064f3e88808433ef",
|
||||
"research/audit-2026-10-09/architecture-report.md": "861079dc3f4ced9fdc41bfb22002d32e190c0d630d3ba2f138f9dc7a949b8371",
|
||||
"research/audit-2026-10-09/numerical-report.md": "970330b3a593f79f09866ce6ae82bc0ddd81226230d0a6ff06ae8ae756ee80da",
|
||||
"research/audit-2026-10-09/numerical_collision_results.json": "51e5c263bb8cde82cedef2ccfdbf5ef657742a80218d7896b1ff877516e59693",
|
||||
"research/audit-2026-10-09/numerical_compile_results.json": "c3b0ae02072a2ec408ada7513b542ec255f6855cb743a3ed7f91bd8f31504f44",
|
||||
"research/audit-2026-10-09/numerical_semantics_results.json": "b95b065b594aa2911740dab216f87936c9bf7f7fa25acfda93b5738443564035",
|
||||
"research/audit-2026-10-09/root-initializers-report.md": "ca448457c444949d5d0e1e10fa7121064510b77fc4c3512580900f0299219867",
|
||||
"research/audit-2026-10-09/state-report.md": "f8708807efc2e109810c5955f7c1884a932668c0b3cb2963c2df3b09f2a3d5c4",
|
||||
"research/audit-2026-10-09/state_results.json": "da9170df3e11231c73f20e5e79ed68e08966673d1dd52004ea6b6a279afc0dcd",
|
||||
"research/design-2026-10-09/Contracts.lean": "2442d9a778ef20e8af3fecf23be6fea6d73c6299ff744c9664b652bc5ee3f034",
|
||||
"research/design-2026-10-09/PLAN.zh-CN.md": "0341dd7ee306a040340c8e5dedb07a109e931c27dbf3c994d072aa78e3b6bc67",
|
||||
"research/design-2026-10-09/api-architecture-study.md": "d6fb45ec784f0e1db55fb9f34e137b9f551db0b9b39fd4f0ef247a78fc34eedf",
|
||||
"research/design-2026-10-09/grid-study.md": "4435dc1275ec5e15b118becc6ac391f306195d1e5beaa58037b1aff3bb2465c7",
|
||||
"research/design-2026-10-09/jet-study.md": "a362142ef04a5ad5dbb4c9db9d221b1199dccec53780c8f2da49a15201cfe529",
|
||||
"research/design-2026-10-09/jet_closure_check.py": "fde45d0f8518740ef5c0bf0fe7635d6adaf9a2e789927dd4e68e991c138ddc30",
|
||||
"research/design-2026-10-09/jet_closure_results.json": "12cf7d400a206f9f9ec9ea6ad251fe6bb0232e27bcbed22fbc1ead2c0fc7d249",
|
||||
"research/design-2026-10-09/math-and-history.md": "64f8c82e4949d6f58b46faa09800958714859c36cad20bbeeae8b449ae7a6099",
|
||||
"research/design-2026-10-09/math-checks.json": "94750381954317cde8d649db26beaed8ea945666572a05030ca2b4d97d384011",
|
||||
"research/design-2026-10-09/math_checks.py": "4254983a783fe4bad8888b3d7c243c87d991c7bbf242edb0f56f25cbaefee890",
|
||||
"research/j1-2026-10-12/REVIEW.md": "13004a4f140acdcf59acb57e9e2dda1bb95763d30060f822a7c206c94b813a9f",
|
||||
"research/j1-2026-10-12/baseline-status.txt": "ac398360e05b746b89ae0c3acfe202b5122e650a3bb1ff234ab26f874a303e64",
|
||||
"research/j1-2026-10-12/baseline.json": "ad7afdf7b3913d11c07343e971fe2f43c2d1a2b99e3d5904a6ba89e3bb0b24fb",
|
||||
"research/j1-2026-10-12/checkpoint-gpu.log": "adfe3d77d2e6c6f6184dccc0267b4404b20a7709505d5ff5affed0ed4a618083",
|
||||
"research/j1-2026-10-12/cpu.log": "60cac097f7c4f11401df2aacb43a248640555e7628d2829c4680c71db34e9640",
|
||||
"research/j1-2026-10-12/gpu-validation.log": "d1e9f2aea17a85eddcd94b81c700738ce073214857b55c28abd1219ff1edbed7",
|
||||
"research/j1-2026-10-12/gpu.log": "8659a78ea52bbf8eb923d46ea71636ce63cd322352d5c98a74f631e666dd8cfb",
|
||||
"research/j1-2026-10-12/incremental.diff": "a454c23da7b0011645949c0fbf64d0c41ecfdab5642b1b7c5119868005d3c721",
|
||||
"research/j1-2026-10-12/results.json": "449f8a17dacac0fc6d2489c4b10bac330dbbbdb38fad3ce54f739ac8c6d48e85",
|
||||
"research/j2-slot-2026-10-12/REVIEW.md": "10c4a94ffc32e0a2c4e0f6593b7cfc28479b5869f279f0b9d0b708fa3a47d1e6",
|
||||
"research/j2-slot-2026-10-12/baseline-status.txt": "812616e2d941efcf854e1b37d6e662dda1aaf2b69074fcc04017133e13b72166",
|
||||
"research/j2-slot-2026-10-12/baseline.json": "e82a1844145fd0cbc585c581b29f80b56193f122cfe1dfa7578f26904a720285",
|
||||
"research/j2-slot-2026-10-12/cli.log": "9482ad7101d501f27f92e204b2f3ae5c6d91bd887b525aa31cb4a2a188f3cb92",
|
||||
"research/j2-slot-2026-10-12/cpu.log": "91aba5961006909fbbb860429a9d3cfc930112a0d74c7788bc51c0a5897b47e5",
|
||||
"research/j2-slot-2026-10-12/gpu-serialization-failure.log": "df804e53b35e7ddaad79a17842b4b5fd9d834e29ca2d56edb00e835848d09200",
|
||||
"research/j2-slot-2026-10-12/gpu-validation.log": "223351b52c70fa4523289f3a1b3db435a11286379253280470900ffe397580a6",
|
||||
"research/j2-slot-2026-10-12/incremental.diff": "c9e391bc91438cd912c1ed5a419705d4388522f672c67a066cfc055e814e699f",
|
||||
"research/j2-slot-2026-10-12/results.json": "7d35ca7989aed5380e0a45de7f583972566fc516a051da63c53b35514e267494",
|
||||
"research/j3-coverage-2026-10-12/REVIEW.md": "7293f3f3442855c8521698605aab504e026915a7bf1e77f5a24710d89a812443",
|
||||
"research/j3-coverage-2026-10-12/baseline-status.txt": "31c949b11b20d7cd4202dba16882b5712aa1653da0cb2da2f0ebd69bf488040e",
|
||||
"research/j3-coverage-2026-10-12/baseline.json": "d8844104f2665a25bfc417ee29becf89ab3955fac9105b5ddb12cfb1fe2a55b0",
|
||||
"research/j3-coverage-2026-10-12/gpu-validation.log": "505cd5a5db46d7984aefb2a614151c25c4ace0e7d2a52e02c3e4f9792fd8eb95",
|
||||
"research/j3-coverage-2026-10-12/incremental.diff": "98aa7855d5d6b91b4509a924c8a5aabab4339ba29c7e7dc2d91262c48e3848ca",
|
||||
"research/j3-coverage-2026-10-12/negative-budget-20744.h5": "c09d75fc4a2cff68039a0956bd9d32b79b9cd3a6b386c72b4db54c214b110cd8",
|
||||
"research/j3-coverage-2026-10-12/negative-end-20760.h5": "bd0bd063579d625e358762b1fdde5ac11bfcf739646a847fb77a4a2031011b9b",
|
||||
"research/j3-coverage-2026-10-12/restart-21280.h5": "3e89c12c16f91f76ca9acd909e0fa7d42df6fbb5e870b299aa08ca42bc3e3dc9",
|
||||
"research/j3-coverage-2026-10-12/restart-reference-21296.h5": "7192f510dd7820675aa1de130f55514136fba782cf77f92545189918a7e0c328",
|
||||
"research/j3-coverage-2026-10-12/results.json": "02460981ad49c9cc13b4246abad1d8afd2599c61bfb545a6e32da9bbcd5c0db1",
|
||||
"research/j3-coverage-2026-10-12/verification.json": "205986efd2b41635721b7fd20288be982348c765180102c7102750ba088f3a28",
|
||||
"research/j3-lag-2026-10-12/REVIEW.md": "f388b64b0cc0413dc9865afda90ed24de666dda0d6cdb821b4363ce1b73631b3",
|
||||
"research/j3-lag-2026-10-12/baseline-status.txt": "e0b69879084f54afac1a3bc3701f1de9819068190c815ae84421f02f83cad9f7",
|
||||
"research/j3-lag-2026-10-12/baseline.json": "5e9a920813fe3d775110af85af92970d5245a7040ace804445e432353b77e489",
|
||||
"research/j3-lag-2026-10-12/end-21280.h5": "19a94e9e8db6dd9ac981effe06032c351992250b58768d9c090409193893d588",
|
||||
"research/j3-lag-2026-10-12/gpu-availability.log": "b227a519b8286849cfdf842573bd451803da048c6b27af9517f6b8964cd3aa39",
|
||||
"research/j3-lag-2026-10-12/gpu-diagnostic.log": "97956b517072b7c34e2e29e2a23f87eafb19b9eda786a4b8149e4a2eaed76ee9",
|
||||
"research/j3-lag-2026-10-12/host-check.log": "b2b6d262934b3abf9e0f0bdbde14b339cb977f7bffe391c17b51b5d067862dda",
|
||||
"research/j3-lag-2026-10-12/incremental.diff": "ebdf66c72daf17b926482f79a1a30bf0eb2d27fc930a7bb62e5449ebcf72fcc7",
|
||||
"research/j3-lag-2026-10-12/results.json": "00435ac7e402943e55e702fac1beb5af8cafe71967999658bcde2b29077b1fa8",
|
||||
"research/j3-lag-2026-10-12/start-20760.h5": "6c4cba5928c77566c2afc32231311a3986831c18fea766faadebb101243399e2",
|
||||
"research/j3-lag-2026-10-12/trajectory.h5": "2b51f8ec5e0cc8ca72c73ac1b51dd611158368e6d6de791d85150fa111ea1986",
|
||||
"research/j3-offline-2026-10-12/REVIEW.md": "d9902c58498e73c29e054b23adb968f7e1e14421cba5c58d03bbc5a50159ae79",
|
||||
"research/j3-offline-2026-10-12/cpu-analysis.log": "bc02a9b197fc15ae1b503ca54655a7622d4361f9b45b7848ff9c387ea3665f11",
|
||||
"research/j3-offline-2026-10-12/lags.csv": "fbd9addd413f24c47f4411317e872265bb774e8e1724fe169412befa860ae94d",
|
||||
"research/j3-offline-2026-10-12/localization.png": "a72907638e32b0ecfc2205bea438e7b408f40aad86217ce6ad9b4877840c9cfc",
|
||||
"research/j3-offline-2026-10-12/regions.csv": "3a8fc640b61d70e3b7f73d2bf8ac2bd3f720adf39a90dfda6180430e0489efae",
|
||||
"research/j3-offline-2026-10-12/results.json": "cdb857bea6f4e06ed15acf773505ce6d5147f8cb8ce0a53cc368ee267cde6361",
|
||||
"research/j3-reservoir-2026-10-12/REVIEW.md": "1ea5f860728584ea6cbe40ba3994e40471102d8e2cf6d93e28fe47222cba0cab",
|
||||
"research/j3-reservoir-2026-10-12/baseline-status.txt": "0ef1a8c9878c4053ebc1a7d4bace6d4ec38bf27ace167b4239ddbb1c6c897e20",
|
||||
"research/j3-reservoir-2026-10-12/baseline.json": "847fefd1eae971985d34d04d89ee6d6f1c91f6940c54fe351d112faba7bc6838",
|
||||
"research/j3-reservoir-2026-10-12/cpu.log": "b33f6c1a1b0ee67968c4cff85d491e46e30e0d6c796b552629714ab8b5dcead0",
|
||||
"research/j3-reservoir-2026-10-12/gpu-availability-sandbox.log": "1d58470512e583a0acfabf6896ee5f31e5b493b8231aed54b864f64eb275b02c",
|
||||
"research/j3-reservoir-2026-10-12/gpu-validation.log": "ff04024db197e332f37c912a96413e3251fd0186947348ffbc33af6f4a899f2c",
|
||||
"research/j3-reservoir-2026-10-12/incremental.diff": "fae312831d71e46dd477a640b06ed927853a9e735d26bf9f5868927fa31cfa56",
|
||||
"research/j3-reservoir-2026-10-12/results.json": "49685de7679a14860258abf1753aaa6d116ad709b868d907ddb40e74c9b845ea",
|
||||
"research/repair-2026-10-10/TRON_HANDOFF.md": "f8aaa3d99cd133c2055d4adf396a0a57d14f6006aea19e87611bd1c2c1b53a88",
|
||||
"research/repair-2026-10-10/baseline-hashes.json": "d6a7d5f9ec5bceb0e7927d55603d9c5e70105982cd945723454659b19ab476e6",
|
||||
"research/repair-2026-10-10/baseline-status.txt": "074088d793014e3b8154c58718058c7d300fb45595f5129fa957ef1e4cec38e2",
|
||||
"research/repair-2026-10-10/checkpoint-domain-2026-10-12.diff": "292b4bafe7a62d4fbbf7c165eb99929336edfcaa16b15f34f72ab71fcd928391",
|
||||
"research/repair-2026-10-10/classic-results.json": "a5d15305f516fd378b54cf9029102be58a83a55a7bad4b8e058fcfe0cc9898f4",
|
||||
"research/repair-2026-10-10/classic-signals.npz": "820c9a0b0713d7455f0a5839ac2cd5ee706086d1a26461225dcdb095673421e2",
|
||||
"research/repair-2026-10-10/final-gpu.log": "988bb97256d17b88c14f3793b15880d727ecb285abe62e7d2ae27a16729651c3",
|
||||
"research/repair-2026-10-10/final-unit.log": "a892a39ecf88125558538cadce2cb5dc46d106b993b164e03da4ebb0eee68cef",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"research/repair-2026-10-10/original-user-files/src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"research/repair-2026-10-10/original-user-files/tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"research/repair-2026-10-10/provenance.json": "a81b7e32ecf7182c9617df1b39bbb063a05ef89290ad501bac4573cd5e8a6832",
|
||||
"research/repair-2026-10-10/repair-architecture.md": "49be42ff5c994017f3175e17efda14d84f0b68f8ecd239f66ccee38415b60c5a",
|
||||
"research/repair-2026-10-10/repair-numerical.md": "0272ebfa8c519aad161c520542cf53156574661609b91fd5ccad7955fdf2bd7b",
|
||||
"research/repair-2026-10-10/repair-state.md": "4d4aa1ec0c11a87d2c8380912e7ed74cf5c910ae42e5cc529effde36c9020969",
|
||||
"research/repair-2026-10-10/simplification-checks.log": "c9f15e870d02003480adf1a7f2fe4a9aca66c1934c4477619f05c8a4798ba85b",
|
||||
"setup.py": "bf07df7ec19de56710d2bb5f61873e09710cd059d46837dc3aa54f3e09ff9e06",
|
||||
"src/CelerisLab/__init__.py": "21cc469bd6e970a1f9ff5970c8eea4602065e41fc881854759ee565ee55c10c6",
|
||||
"src/CelerisLab/body/__init__.py": "d6ec221d51eaf7b1da11ef320b399599cf5b9422e5bc271a7264a273033e6928",
|
||||
"src/CelerisLab/body/action_smoother.py": "b1a23ee6bbd4850b172cb8738c5c3546ee465a54189e6af9d8044f023d4687dc",
|
||||
"src/CelerisLab/body/coupling/__init__.py": "c931f7eb318d48408c3e2febcc6917c88c8dcc1697cbf4329b1f340d94c35763",
|
||||
"src/CelerisLab/body/coupling/soa_packer.py": "8ec26fd55ef74801bbd5ab6bd3d0a7dabc750cbd498aaac2ca4c61a0108ad3c9",
|
||||
"src/CelerisLab/body/ddf_patch.py": "60fcfb7441e73bf290bcff41ca3a83da3e7ddad765d7247464e8f02e3043b4e2",
|
||||
"src/CelerisLab/body/geometry/__init__.py": "ada88980ab672959aca9aa3a4c4aade3219524b2ab68110cd2a2f41e3e0ca90a",
|
||||
"src/CelerisLab/body/geometry/base.py": "cceca14361ca2f34d34a3e43730e1a79b8ca81be00f0dd62e884db32b479419f",
|
||||
"src/CelerisLab/body/geometry/circle.py": "7605ca7c21103f1d801ac73ab8dd18dffbdac425b2dee7b8858b283628a9e436",
|
||||
"src/CelerisLab/body/manager.py": "eac22c9ac92c26e89c10bb089fb3c4156e4eb7bd0c1b1f6fe6dd32e2940a020e",
|
||||
"src/CelerisLab/body/objects.py": "71692d098ebb5ab2d0e614cb9b7854f048b8b33fbe6707e61fd0e8ac35745017",
|
||||
"src/CelerisLab/body/preprocess/__init__.py": "dfd9d58bc07f626ab23a70053e31b88a6d9165d2e4c76a4e9f48abe674d3d2ec",
|
||||
"src/CelerisLab/body/preprocess/flag_overlay.py": "831fc9e9736b758847759a085ff133eb49ec91318ace4fda76f85960138ee300",
|
||||
"src/CelerisLab/body/registry.py": "fbb7327780adbdc6da15ebdb799980daf32df22ee974af0893d7409f177bbb68",
|
||||
"src/CelerisLab/body/sync_plan.py": "a73ac9ee361b2120d0b7bbebeaa2ccbf924ba27bd95d4dd4b383c10a39b2a409",
|
||||
"src/CelerisLab/common/__init__.py": "d4dbde78bc97fccc9eabac9abae8f0f15c112c10ff8e9b45bd9401d4723df1ef",
|
||||
"src/CelerisLab/common/_types.py": "aad2ff1a9033d4fd68783ad7123afb47201ddc58785cb6dc0246947037072a5f",
|
||||
"src/CelerisLab/common/checkpoint.py": "5b7caf3896167a3f37c539b58837de6eb3f8085fa7bf5f821a09666cc16d43a4",
|
||||
"src/CelerisLab/common/pathline.py": "a1b6efcc0a076d0f1dc8d49a595779426d7d5626b00072a59bac710ff02ad046",
|
||||
"src/CelerisLab/common/preprocess.py": "7fc78a08857cf8e98519500b094a1d896af189b6b15658ff9b388ed51bed4515",
|
||||
"src/CelerisLab/common/render.py": "0e055476257eb2bcd11e733766e52195de02f8fad228f570a3511a7c831bdc29",
|
||||
"src/CelerisLab/common/streakline/__init__.py": "13ff1cfa416fdd721a08a659e76b5a5a99b8d3201add10a83b7b0bc654bc1eec",
|
||||
"src/CelerisLab/common/streakline/_config.py": "a9185ef68e9c7b5d5a1dc0b04a28341e2ad91d13c145a7c106636a878cf0a605",
|
||||
"src/CelerisLab/common/streakline/_integrate.py": "3fbd4368b2c8d0e7fda40dc65aac5df02b085008b4c68acd83cb7ae45d33a13b",
|
||||
"src/CelerisLab/common/streakline/_render.py": "236cd637414ee318c4d66f9aed32110d8dc42a100d65fde06172f7cd0ba62c65",
|
||||
"src/CelerisLab/common/streakline/_streakline.py": "1a3e08daa706b5f83cdeb337e9a945a36ddf7583c40af1d0bb9d825ac954df37",
|
||||
"src/CelerisLab/config.py": "2f1bba7515f5bc08cb3a8d140bcafe7fa0689e01b3b06494697bb2956a71530e",
|
||||
"src/CelerisLab/configs/CONFIG.md": "41cafdbe525366c08aa9d0416ea026ccf0026ba7123b8a9b65f968a80d928e3a",
|
||||
"src/CelerisLab/configs/config_body.json": "055f261f0828ca1d4f2bb694bd15b72bbcabe31d552326208f28e37f761adab1",
|
||||
"src/CelerisLab/configs/config_lbm.json": "17e4311f1f250c6ece59177a8b6ff856b69a016c7c10267e774b030a0a390865",
|
||||
"src/CelerisLab/configs/config_lbm_flume_mrt_zouhe.json": "8f593321db05a563a42931603a228d61cbcba06dfbe113262d5cd0ad93c0fe79",
|
||||
"src/CelerisLab/configs/config_lbm_flume_trt_regularized.json": "f4bba8e6a4339fc3c4eb14f6e2f57c4b22993c73703c773d853edfbe34736e56",
|
||||
"src/CelerisLab/configs/config_lbm_three_cylinder_triangle.json": "eeb8e7149dbe4aa6b3a9562802735aa950750dfbe2d972a0727e788573afa817",
|
||||
"src/CelerisLab/cuda/__init__.py": "0d01dff9f0399c8baba822aab5ca0122a135f011008ed8a499ebd9f7e5b06aea",
|
||||
"src/CelerisLab/cuda/compiler_v2.py": "c4cc3ec4445c8d75e6a253dd87963877117a722bc73b9d4811806fc6045d08c1",
|
||||
"src/CelerisLab/cuda/context.py": "013dd4ec6d01d2fbd11afdfb103eac6a273bd9f798d663d761b851eeb27885e9",
|
||||
"src/CelerisLab/cuda/obs_layout.py": "5ffb2c3aeeaaaaeb64f2cd8febfbcf4ad9919e5414020ad753cfade0683b21c2",
|
||||
"src/CelerisLab/lbm/__init__.py": "7f60fb3aaae81501b510d08c2fedff44fcb05657260eb10b6f5cc91e7204306b",
|
||||
"src/CelerisLab/lbm/curved_links.py": "587f3f4638688c09c0850bef2f314780d03f06c9211abc5fd773fbeecabc3326",
|
||||
"src/CelerisLab/lbm/descriptors.py": "c9f025dfc14da43b989047b84cc22bd05d5cc92c9ec695c1da68fdfb788e3f2b",
|
||||
"src/CelerisLab/lbm/equilibrium.py": "2fb2f2bb7ff326d23abce80fc2a4c0907b17740ea3e29fe6ae079c5044783826",
|
||||
"src/CelerisLab/lbm/field.py": "0e727eacc3706add4d8d15c418e9b631050871f831698d3ac689dd5f2c701b9b",
|
||||
"src/CelerisLab/lbm/initializers.py": "dacf9586963e862d6d0a98ef1a066036be6f91e9d423720661d8ef2c1fb2df6a",
|
||||
"src/CelerisLab/lbm/kernels/boundary/bounce_back.cuh": "aba3748c564ed91b161d268ef8b737b7c7be96a823063d201f3da684dd845233",
|
||||
"src/CelerisLab/lbm/kernels/boundary/curved_boundary.cuh": "4bd761e81b32f4bb3238fbb1f6ea890cde0cc987cd8bbeb54e9df8b0e1b57914",
|
||||
"src/CelerisLab/lbm/kernels/boundary/esopull_curved_helpers.cuh": "b9b474bc4edaff05681c5443235472d04072d0d775fc0eb9c5967faef52b0258",
|
||||
"src/CelerisLab/lbm/kernels/boundary/ibm_kernels.cuh": "e6909b547dc8d64cdd8a76a90660243a8f5fee535caa161b52b4dd8b7c29934b",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/channel_stabilized.cuh": "efe077afcbb6b731256a987c2fd79a1dbc470c902f87070d60421ea6cb13d4e2",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/common.cuh": "f3cec54c8873c65b3dca4375605d2c89a8727765884d3954c235242fdff9c6ba",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/equilibrium.cuh": "f0964c811b2c41a5aaa1c6d99c490b06e850c634eb8749f1f05ef61f93c2de1d",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/regularized.cuh": "943d4a571818bacb89c70bccfaac202691121e3e385803ce6309123a0a03ddaf",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet/zou_he_local.cuh": "e73e66b853b1e4e0e30d8f4185d832aa414ce670a1813ce2b5459f2887f71f89",
|
||||
"src/CelerisLab/lbm/kernels/boundary/inlet_outlet.cuh": "de8b213a6da42c2e5e9f8966199fc66ea4541b85144a90f3f5dbad3c6ab63b97",
|
||||
"src/CelerisLab/lbm/kernels/boundary/outlet/pressure_neq.cuh": "c8b2adc66d12fe602076ddc9693c5c208711fcaddb58aa9a31401a269f51c4c4",
|
||||
"src/CelerisLab/lbm/kernels/boundary/planar_velocity.cuh": "0b2f9e0bd483c199637e5672dc0ffc460bc383dd1804805befbeb4c5d8c708d1",
|
||||
"src/CelerisLab/lbm/kernels/config.h": "7d1124125e0b354558297934460e64c760fb68cdd7bf6d01a1238bb2eaab8c37",
|
||||
"src/CelerisLab/lbm/kernels/config/config_grid.h": "8be3a7cf74ba30d7fd3074fed79e63dbda7311c4d03b454ea641bf298ffeaa8d",
|
||||
"src/CelerisLab/lbm/kernels/config/config_method.h": "3db4e16ef2c6b22349d04e6aa8ab04bdfe0eb784f9f3a98277e15dbed1835d81",
|
||||
"src/CelerisLab/lbm/kernels/config/config_objects.h": "dbb93c063586da278c15d95e23f84c12e728f4f5f1bbc3980fe9cedaa6fff90e",
|
||||
"src/CelerisLab/lbm/kernels/config/config_obs.h": "c11e2249359145b5c4cbaaf0487506fa77c1f4b82c7c169ddc574aa0babcd727",
|
||||
"src/CelerisLab/lbm/kernels/config/config_physics.h": "26df33c2960ba36f3283e19b55b4ea92e50e4efda705f9ebfbf3f875a4092c59",
|
||||
"src/CelerisLab/lbm/kernels/core/descriptors.cuh": "8440bc14857da9007982650f828a23608eec9f7cc4bf772e8c8dc1239cb45356",
|
||||
"src/CelerisLab/lbm/kernels/core/flags.cuh": "0025705f24710330d9d9195f713879bfb650a85a3449baef0e196b831af104ab",
|
||||
"src/CelerisLab/lbm/kernels/core/layout.cuh": "1fbd820021c89ac3efcde24145996cb0147769e607e498e61f308ed3e0b13706",
|
||||
"src/CelerisLab/lbm/kernels/core/obs.cuh": "b742b77c9f61e1f020fe9922c3838ae9d855e17b381154958b58f10a22938922",
|
||||
"src/CelerisLab/lbm/kernels/core/params.cuh": "6e18bf730d936d940e3d85452f0714a2eaae31bf41002f9fd520ec5b372878dd",
|
||||
"src/CelerisLab/lbm/kernels/core/precision.cuh": "849df14b4cce50af52399e4b8f3e997196f3ae5f1163f68e28df3e6b2507a8c4",
|
||||
"src/CelerisLab/lbm/kernels/kernel_v2.cu": "c7bd3fb705b77261ba2441c52a24a7e6a7865c165cba088a1b75201c4d29c408",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_mrt.cuh": "aee444eb60c47a3fd518dca975d1af05425a0818a0ec6c3fb3f6150f60c2cb44",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_srt.cuh": "6b7ff842f392c8f853d2d1a97cc69bfe50f21283f73e659404da07cf6c95f5e1",
|
||||
"src/CelerisLab/lbm/kernels/operators/collision_trt.cuh": "9725b9840b9ad8b4ec7be61ff5d06d3151e86d1a87585c13f2fbf934d0d2c5f6",
|
||||
"src/CelerisLab/lbm/kernels/operators/forcing_guo.cuh": "969a430c1af03f32e3bd0df95d805e64f56334717c44dd4ba208ba503062a24b",
|
||||
"src/CelerisLab/lbm/kernels/operators/helpers.cuh": "0b3a4d95d7d19f5fec09e5423b8f4cc99f8a226b541967425967330da5a051ec",
|
||||
"src/CelerisLab/lbm/kernels/operators/macro.cuh": "e27c1c410dc857be98da4596568e405eeaf88701d291ac0e398aa9cd23dee740",
|
||||
"src/CelerisLab/lbm/kernels/operators/turbulence_smag.cuh": "ff7f000297ee0817e255ad9fcb6a13b647e3ddd5b206518d35f38d2895a9f501",
|
||||
"src/CelerisLab/lbm/kernels/step/aux_kernels.cu": "bb7f07d898f0d5151e5bd0f45e6bd819c5e83a345a265b73204906ac3cc29db4",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_macro.cu": "c73116020ca217ede1e4de27c8269c31f9d91e33433ac8252a21e9b14187c50f",
|
||||
"src/CelerisLab/lbm/kernels/step/esopull_sync.cu": "c0ff3e72900c3ab89a05dd03684e96d3b740cf1672d565727fc2af165933d087",
|
||||
"src/CelerisLab/lbm/kernels/step/init_flow.cu": "305be3bb12fc0d039acec1701baabcf0e8a35e683c49c34f2af8ca9867d2b29c",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_double.cu": "f9f8242b38e8e0cf8425b75e2b0215bc15363c62eaa0fb43c761b8e0931bfdc9",
|
||||
"src/CelerisLab/lbm/kernels/step/one_step_esopull.cu": "aa223b2744ae6c9125673df311a96ce588032c1ba58bebb11fd33ecb990f8ed4",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_semantic_helpers.cuh": "dd5a9091628b079efd97e53fd49e52d09dcee88529235db77a5648e02937af6e",
|
||||
"src/CelerisLab/lbm/kernels/streaming/esopull_single_buffer.cuh": "77ed4ab9a0ebc5ff62a91a7c39066ef395391ae36e9040a69fb2bd8b1626dc79",
|
||||
"src/CelerisLab/lbm/kernels/streaming/pull_double_buffer.cuh": "b65d741ed78b7b62f99531ba0c0ce1936663d8dc9640e7d7d16c707f1baf6549",
|
||||
"src/CelerisLab/lbm/stepper.py": "e9e51e3a902fbda086d4707c0487e7b1dea6246fab290a24d82bd52d4296410e",
|
||||
"src/CelerisLab/simulation.py": "34d69e71844f553790c5a2bed0f8fbfb912a9498e95b500d1ef2ad41cae3b424",
|
||||
"tests/audit/Force_region.md": "3092080afe4a30665fe1b721803621ba9d0dd5d20ad17826984d94efc160fdac",
|
||||
"tests/audit/Force_region_validation.md": "279a4484d1bfca0fd67aed4de3282d547aa048f89389420d8e5f2fd86db54fc2",
|
||||
"tests/audit/body\u5220\u51cf\u529f\u80fd.md": "e9f308a8cd0f0e7df5441c32a15f84c0bae50bc0e56b8728f6c6f2cf78596673",
|
||||
"tests/audit/body\u91cd\u6784\u7b14\u8bb0.md": "8f978d7b01c9f49dca9eeaff0d163cec6da085e2f99ee5a5e803d72306e7a72f",
|
||||
"tests/audit/\u517c\u5bb9\u6027\u6d4b\u8bd5.md": "9c1721a33b381b9c3810545772b022913da06617711b5ba13a3c2c991b81a7f7",
|
||||
"tests/audit/\u5ba1\u8ba1.md": "0f14ad073a0725134e6391f961c324fd0013c7791fd410713e94ed1ad40b7385",
|
||||
"tests/audit/\u5ba1\u8ba1\u62a5\u544a_kernel_layer.md": "89893c98ed7c2699157bf728ec0e79b0dd6aff4008ee5c7b77eb052de24033f1",
|
||||
"tests/conftest.py": "fa0ec26667872c9c1011d608310d2551fd24719b5d216f06d923ff4c74c73237",
|
||||
"tests/integration/__init__.py": "c354e43ba09b55a8013a2df2069438740b5f48b5917d855e52e33ab5d7da5a6c",
|
||||
"tests/integration/_cases.py": "ab76ca1096d2d10fb05b3539aa8ed3c7e549619bae6900ac98723f6c3c908f2d",
|
||||
"tests/integration/test_body_sync_e2e.py": "d29f01771f3512a4b3ad06fae4ee952327d7fd9f0476942402fe92e9e327fcec",
|
||||
"tests/integration/test_ddf_patch.py": "dda2abba32ca13e17098232f2831a0b1b66439c35f8931d9997a0257250c1281",
|
||||
"tests/integration/test_numerical_gpu.py": "002a6745929bd5ee86a9491ea9bc3f97602fb825ea17262ea190c9311881100e",
|
||||
"tests/integration/test_runtime_contracts_gpu.py": "775e578e2e8072af32fc740b2698abbb79454235a0f3ee929ac4c75d747f8db5",
|
||||
"tests/integration/test_state_gpu.py": "dde0948941e8abbc5ea10a3acb3a35abbaea576f36ecee0f1120fbcf7454d60b",
|
||||
"tests/integration/test_sync_bodies_skeleton.py": "65f55a0980659b49ae0027f0642a27e2ebaead226ef083f233e878150884b07c",
|
||||
"tests/integration/test_unified_obs.py": "4a681536099741d92bdc258525fe3374cbdbeba0d49996e53808381a1b6a13fa",
|
||||
"tests/postproc/experiment.ipynb": "c6b45db1c57200f0777213ef8d44cb4996c1aa7a5fb42b968b77e56f51b4fca4",
|
||||
"tests/postproc/run_exp_ctrl_matrix_streakline.py": "529d5f31a3862080f890c65177502b589710b2d960ddf131abaf7dc2f9e2a96f",
|
||||
"tests/postproc/run_exp_ctrl_matrix_vorticity.py": "b7e0c4113111b9b677f321750c0055656ccfa4f45c25fe7846f3ed22f30d1467",
|
||||
"tests/postproc/run_kan99b_streakline.py": "a2bbf3fc629ea170d2d4879317dbf2b81c43378a328100ac1f2ee8d9895666cb",
|
||||
"tests/postproc/run_stealth_steady_sweep.py": "3c32c4dede7da77fd6cfbd3f7b1ff43bb11390aaba621883ec96c6c7fdad5af7",
|
||||
"tests/postproc/streakline_triangle_clean.png": "aa6669de7af6f82e98af25698a15f494e9cea20cb911ad9a30fe52597d33bb79",
|
||||
"tests/postproc/vorticity_triangle_clean.png": "f831b8143b50f038d5920a0658469622655f34176d30cf7216feff108aa2ecaf",
|
||||
"tests/screening/run_config_sweep.py": "5030c99923815ed6ad39110cb56f748c579ff4c66c7c1a368ad1a6008017e2ff",
|
||||
"tests/specs/Kan99b_validation.md": "0d8bf74f2361f863809af1979bf8807adaa423f98321e1104a3d86d8c7a863cf",
|
||||
"tests/specs/Sah04_validation.md": "1d122d29e281b7f50801b148f3314a0e35fdc27ee7d757c0a661243aa6185fb0",
|
||||
"tests/specs/exp_ctrl_matrix.md": "5d9dd2e703582572eb68afe3a7096ea43ec82aa03418d20ed283c5365031e433",
|
||||
"tests/specs/kan99b.md": "b7e0669f0a6b677d902204f3427d1b3ac254bfe70c37d9cf995fb3e8f1fedfb1",
|
||||
"tests/specs/sah04.md": "33dbe5e0fd63738abd055c4aa403c191b6de04e6efdbc568f1942c6d23c7459f",
|
||||
"tests/specs/streakline_notes.md": "cd342d214c07eb608ac2e5b8697322c44c31dbf4d27dfdb5409de46ef474df4b",
|
||||
"tests/unit/__init__.py": "17f57920d9c1ff46096ceb2af008eb38c4b98dc81ffa3c3d310e758e80ca1cd4",
|
||||
"tests/unit/cpp/collision_regression.cpp": "f17acdff74ab82a62dc5402b42e3f6a149c262e89b140494164d6ebd630f5e14",
|
||||
"tests/unit/cpp/planar_velocity.cpp": "8dea266984edc69d4e0e68007e038d7a587e99f84e33478d6656a66a56680933",
|
||||
"tests/unit/cpp/reservoir.cpp": "c3eacaf0271400eb45ad559b571a8f7faa2a809d5f1857ffeb5592addce2cd0c",
|
||||
"tests/unit/cpp/semantic_regression.cpp": "99dba074c0c0a32ea76026e7d54fc60af8e6d3dc5315c8900c470b4518878f39",
|
||||
"tests/unit/cpp/slot_profile.cpp": "31ac58ccab175bf79fa59fc46d4c0842df18ab0a5e5916be84760d9da2b75788",
|
||||
"tests/unit/test_body_flags.py": "ac6409157924e15a13a3d2cc2f1a09014b8b0198ba17c824f412ff20b19e2aac",
|
||||
"tests/unit/test_build_contracts.py": "7bb237425e8bb481f312fa4841c484e280731e13c7cbb9a53dad3e7f98984ac3",
|
||||
"tests/unit/test_context_ownership.py": "299fed30dd0f9bd4dadd8b27f50df2a6367bdb0ab2ca3f391f215fde7241f35a",
|
||||
"tests/unit/test_equilibrium.py": "1ecbcc4547b1c846b75320463d828d6a36b6aae73208084fae476b1001c1bb50",
|
||||
"tests/unit/test_initializers.py": "8b4e3358d925614984265ae73c142006b48fd1c3918cf84901f18afd9fe68c3a",
|
||||
"tests/unit/test_numerical_operators.py": "6d1d560ef553a2af7adac7db3e325d96d7fe39073d5fe3e0e982439537385b27",
|
||||
"tests/unit/test_pending_edits.py": "905a0dff23b123e8e38aaf364984c810fe51c39acd64aa271e343a4701d3d024",
|
||||
"tests/unit/test_planar_velocity.py": "b656da0880b4234b1db805544edbe0d2473cbcc7c2c869c71d8251337f62a982",
|
||||
"tests/unit/test_reservoir.py": "e718c78a53c3941aba7feb8ae4e8bb0b1726c1145de84febf91220c1917991c9",
|
||||
"tests/unit/test_simulation_lifecycle.py": "77abdc33218c35e9c8b62dbd99ceddbaccd8417e7f0b539ea8859ea0175c663a",
|
||||
"tests/unit/test_slot_velocity.py": "6a9494de9a32c350389ccbed58af48951f6b25a21a258537d2e8b73eb67cb11d",
|
||||
"tests/unit/test_state_regressions.py": "0f69cfeb83428192f95688c76abcae7e5b9cf5f27c52bca4ac20c7f320044374",
|
||||
"tests/unit/test_sync_plan.py": "983313ef783143231fa5a392f85f3bac011184773ccaf5d946504c206cabb721",
|
||||
"tests/validation/analyze_j3_saved_frames.py": "438f67dac682b94c4950626f8de4fdcde48c3a4e9ecf8fdf1b0ada4b6e0e781a",
|
||||
"tests/validation/diagnose_j3_lags.py": "286fcd65b3261667a847b9b26e213d0af92cf459faa6bbd774f78c8479ce31d7",
|
||||
"tests/validation/multigrid/MULTIGRID_VERIFICATION_STRATEGY.md": "d4f3473da44abee6031a0e1bd4d0ca589077a18f15d2461836e4d2ebb98e458a",
|
||||
"tests/validation/multigrid/cpu_reference.py": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"tests/validation/multigrid/cpu_reference_v0.2.py": "b6adbad7da625ef6a6b97958ea9625030ed92676d0cada48e061c87bcf7ca8c9",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/README.txt": "1947ee0232b88b3cc2c506d0b0af5ba051ecc94aa8f7f09228ef3939cc95919b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/README_grok.md": "065947e15b2242bce7d3eb05a3acdbb59939c621dcd5d31540ad4a1bd4416818",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/baseline.json": "0daaccee41cabeb17a00e2405e2c7fd0b80d36f2d01778eb39c9fd22b13d2d47",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/manifest.json": "2850ecaf2e19d010ba35eb54162371d82cc1a092831e08a03b6adf75a614988b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/results_horsea.json": "914389afc39752bcd4132aa21fc8d5cbcf0ca75b1efd6a49becab15c2fa3361b",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/stdout_grok.txt": "73e4ef01138842981daaa534390f1463839e63833c11f4e8872f94f8eaadc717",
|
||||
"tests/validation/multigrid/cpuref_0_3_evidence/stdout_horsea.txt": "457f1d2173496554c87ca6e61df518c0b8f1e0a28cdfd94b94ebbb61bc459d70",
|
||||
"tests/validation/multigrid/test_cpu_reference.py": "ade5d4827f971aed7174b59d83769e7aa542338e625a9fc8db1e8b1805cb74ca",
|
||||
"tests/validation/multigrid/test_open_corner_negative_control.py": "59a6f8ca80cdd63cb7827fbebf9b4b555c3793f19dd6bca801544ec10b5cbe1b",
|
||||
"tests/validation/multigrid/test_tron_additions.py": "8e7a6a90b85e64c7326719e7b8bca2f6d34fb4c80690f0685f7e291ab93bd2a4",
|
||||
"tests/validation/run_j1.py": "51b758a271ff358f931b3140a80082294a67e66c2fec0f8c19319e37f92aadc4",
|
||||
"tests/validation/run_j2_slot.py": "b7d2d3aa06fcafc3ac62ed4a50892afbdb7f86e5720ce75a39ce317b6f571dad",
|
||||
"tests/validation/run_j3_coverage.py": "329869519b7078e854d96241a7aad8ef93f35ac9be83f0be502c3a93523c3b13",
|
||||
"tests/validation/run_j3_reservoir.py": "47535bc3569ce68c888d38978bc4f9077fd763a17829c20c081be52bb18a2903",
|
||||
"tests/validation/run_kan99b_rotating_cylinder.py": "323186429a100f36b41ab9b81ade2da6a47e93be3ccb7034a3a6b97f4ee8eb00",
|
||||
"tests/validation/run_perf_baseline.py": "93dde2eb1132f45ea69e1e285ff421dc97a83651a22c79571f299c1909650721",
|
||||
"tests/validation/run_poiseuille.py": "e529288e2ffa8e00d281a9006723954d60a96ae4d025e8f28656c09287d4ff46",
|
||||
"tests/validation/run_sah04_st_matrix.py": "9b9c0ce063e07a316846635ee769b837ed26be6bf039f78f4219c10b516f8006",
|
||||
"tests/validation/test_sensor_accuracy.py": "c6038a9e7a597a1738814bd15e6ecf357cfd271cdc2a132d47943c5280ac0ef9"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,296 @@
|
||||
{
|
||||
"comparison_precision": "Printed output precision only; no claim of bitwise full-precision field equivalence. No new tolerance or diagnostic pass/fail threshold introduced.",
|
||||
"all_22_boolean_checks_match_and_pass": true,
|
||||
"boolean_checks": {
|
||||
"finite_A_phi0.0000": true,
|
||||
"cons_A_phi0.0000": true,
|
||||
"finite_B_phi0.0000": true,
|
||||
"cons_B_phi0.0000": true,
|
||||
"finite_C_phi0.0000": true,
|
||||
"cons_C_phi0.0000": true,
|
||||
"finite_A_phi1.5708": true,
|
||||
"cons_A_phi1.5708": true,
|
||||
"finite_B_phi1.5708": true,
|
||||
"cons_B_phi1.5708": true,
|
||||
"finite_C_phi1.5708": true,
|
||||
"cons_C_phi1.5708": true,
|
||||
"finite_A_T_phi1.5708": true,
|
||||
"cons_A_T_phi1.5708": true,
|
||||
"transpose_ok": true,
|
||||
"t0_AB_patch_ok_phi0.0000": true,
|
||||
"t0_AC_out_ok_phi0.0000": true,
|
||||
"init_mismatch_ok_phi0.0000": true,
|
||||
"t0_AB_patch_ok_phi1.5708": true,
|
||||
"t0_AC_out_ok_phi1.5708": true,
|
||||
"init_mismatch_ok_phi1.5708": true,
|
||||
"init_mismatch_ok_A_T_phi1.5708": true
|
||||
},
|
||||
"summary_metrics": [
|
||||
{
|
||||
"row": "FIT A phi0.0000",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0158522189",
|
||||
"horsea": "0.0158522189",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi0.0000",
|
||||
"metric": "stderr",
|
||||
"grok": "8.571672e-08",
|
||||
"horsea": "8.571672e-08",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi0.0000",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi0.0000",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi0.0000",
|
||||
"metric": "A32",
|
||||
"grok": "5.9874229183e-04",
|
||||
"horsea": "5.9874229183e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi0.0000",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0153991657",
|
||||
"horsea": "0.0153991657",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi0.0000",
|
||||
"metric": "stderr",
|
||||
"grok": "3.372428e-15",
|
||||
"horsea": "3.372428e-15",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-21"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi0.0000",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi0.0000",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi0.0000",
|
||||
"metric": "A32",
|
||||
"grok": "6.1178402808e-04",
|
||||
"horsea": "6.1178402808e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi0.0000",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0155497331",
|
||||
"horsea": "0.0155497331",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi0.0000",
|
||||
"metric": "stderr",
|
||||
"grok": "1.906424e-08",
|
||||
"horsea": "1.906424e-08",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi0.0000",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi0.0000",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi0.0000",
|
||||
"metric": "A32",
|
||||
"grok": "6.0299811110e-04",
|
||||
"horsea": "6.0299811110e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi1.5708",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0158419175",
|
||||
"horsea": "0.0158419175",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi1.5708",
|
||||
"metric": "stderr",
|
||||
"grok": "2.130663e-07",
|
||||
"horsea": "2.130663e-07",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi1.5708",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi1.5708",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT A phi1.5708",
|
||||
"metric": "A32",
|
||||
"grok": "5.9890316832e-04",
|
||||
"horsea": "5.9890316832e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi1.5708",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0153991657",
|
||||
"horsea": "0.0153991657",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi1.5708",
|
||||
"metric": "stderr",
|
||||
"grok": "3.372390e-15",
|
||||
"horsea": "3.372390e-15",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-21"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi1.5708",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi1.5708",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT B phi1.5708",
|
||||
"metric": "A32",
|
||||
"grok": "6.1178402808e-04",
|
||||
"horsea": "6.1178402808e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi1.5708",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0155497331",
|
||||
"horsea": "0.0155497331",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi1.5708",
|
||||
"metric": "stderr",
|
||||
"grok": "1.906424e-08",
|
||||
"horsea": "1.906424e-08",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi1.5708",
|
||||
"metric": "R2",
|
||||
"grok": "1.00000000",
|
||||
"horsea": "1.00000000",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-8"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi1.5708",
|
||||
"metric": "A0",
|
||||
"grok": "1.0000000000e-03",
|
||||
"horsea": "1.0000000000e-03",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-13"
|
||||
},
|
||||
{
|
||||
"row": "FIT C phi1.5708",
|
||||
"metric": "A32",
|
||||
"grok": "6.0299811110e-04",
|
||||
"horsea": "6.0299811110e-04",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-14"
|
||||
},
|
||||
{
|
||||
"row": "TRANSPOSE",
|
||||
"metric": "err",
|
||||
"grok": "6.661338e-16",
|
||||
"horsea": "6.661338e-16",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-22"
|
||||
},
|
||||
{
|
||||
"row": "TRANSPOSE",
|
||||
"metric": "ok",
|
||||
"grok": "True",
|
||||
"horsea": "True",
|
||||
"identical_printed": true
|
||||
},
|
||||
{
|
||||
"row": "ANALYTIC",
|
||||
"metric": "lambda",
|
||||
"grok": "0.0154212569",
|
||||
"horsea": "0.0154212569",
|
||||
"identical_printed": true,
|
||||
"horsea_minus_grok": "0E-10"
|
||||
}
|
||||
],
|
||||
"hard_check_numeric_differences": [],
|
||||
"hard_block_identical": true,
|
||||
"summary_block_identical": true
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
# Shear interface diagnostic v0: merged FINAL report v2 (ClaudeWorker + Grok, 2026-10-13)
|
||||
|
||||
Supersedes 17_shear_diagnostic_v0_merged_report.md (14BeLNaB7M3ALgrDubBeDu3LO7DeR_JYZ), which was
|
||||
written before the final pinning. All numbers below were re-checked against the pinned v0.2 stdout.
|
||||
Status: diagnostic finding only. Not a solver-failure gate. No stress-transfer mechanism has been identified.
|
||||
|
||||
## 0. Pinned artifacts (Drive folder 1v-ptYZ3JyU8mVmiyBizcIuA440FYlMSz)
|
||||
- Reference: unchanged CPUREF-0.3, SHA256 bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
- Script: shear_diagnostic_v0_2.py (1_IFVwcgAekq1geeam5jkoUyjXBVXJWRA),
|
||||
SHA256 a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6
|
||||
- Stdout (Grok sandbox): stdout_shear_diagnostic_v0_2.txt (10TxZvxweLZXCv_WMzuk6jKzLwlRwOdmg),
|
||||
SHA256 28ddd1267ca91a772f5a6bfc65d949c9a4ea7dac5c9ba3a0bdb168492810b670
|
||||
- Horsea confirmation:
|
||||
- Command: CPU_REFERENCE_PATH=<path>/cpu_reference_v0.3.py python3 shear_diagnostic_v0_2.py
|
||||
- Expected: exit 0.
|
||||
- Compare the HARD CHECKS and SUMMARY_LINES blocks, not the whole-file hash: REF_PATH and runtime differ
|
||||
between machines.
|
||||
- History:
|
||||
- v0 (1Kf3_99u210n_FyLKRGEMoB40zHzQgHHM) and v0.1 (1pH9q39daAXie4B0IFEicSLYOQOIMz9tW) differ from v0.2
|
||||
only in the checker and reporting code.
|
||||
- The lambda values are bit-identical across v0, v0.1 and v0.2.
|
||||
- Reviews: 16_CLAUDE review (1hhuCAXAURP2qVyptM4pgIlDT_qqaicY9); root's static review via TRON.
|
||||
|
||||
## 1. Frozen setup
|
||||
- Geometry: 16^2 periodic coarse grid, static 2:1 patch [4,12)^2, D2Q9 SRT, tau_c = 0.8, tau_f = 1.1
|
||||
(nu = 0.1 coarse units). CPU only; runtime 0.55 s.
|
||||
- Mode: u_x = U0 sin(2*pi*y/16 + phi), U0 = 1e-3, phi in {0, pi/2}.
|
||||
- 7 runs: A composite, B uniform-fine 32^2, C uniform-coarse 16^2 for each phi; plus A transposed at phi = pi/2.
|
||||
- Duration: 32 coarse steps. Startup = steps 0-3 (reported). Fit = steps 4-32 (= CPUREF ticks 8..64).
|
||||
- Initialisation: equilibrium of the exact cell-average velocity (sinc factor); fine centres include the patch
|
||||
offset. This is not the exact cell average of the nonlinear f_eq.
|
||||
- Observation: all grids at arrival_f (post-stream, pre-collision). Restrict rho and j by 2x2 averaging,
|
||||
then u = j/rho. One common 16^2 modal projection.
|
||||
|
||||
## 2. Hard checks: 22 Booleans, all True (ALL_HARD_CHECKS_PASS = True)
|
||||
- Cross-review corrections:
|
||||
- A_T is now included (Claude B1).
|
||||
- The t0 and init conventions are now Boolean assertions, not just printed values (root).
|
||||
- Finite active states: all 7 runs.
|
||||
- Conservation drift: mass <= 8.2e-13, momentum <= 1.7e-13 (tolerance 1e-12 x mass ~ 2.56e-10).
|
||||
- Transpose: error 6.7e-16 (tolerance 1e-15).
|
||||
- t0 restricted u:
|
||||
- A vs B on the patch: 1.1e-19.
|
||||
- A vs C outside the patch: 2.2e-19.
|
||||
- Tolerance: T0_TOL = 1e-15.
|
||||
- Init rho/j mismatch: 1.1e-16 for A (both phi) and for A_T (tolerance INIT_TOL = 1e-12).
|
||||
|
||||
## 3. Reported numbers (no thresholds)
|
||||
Decay rate lambda per coarse step. The analytic value nu*k^2 is 0.0154213.
|
||||
|
||||
| run | phi=0 | phi=pi/2 | stderr |
|
||||
|---|---|---|---|
|
||||
| A composite | 0.0158522 | 0.0158419 | <= 2.1e-7 |
|
||||
| B uniform-fine | 0.0153992 | 0.0153992 | ~3e-15 |
|
||||
| C uniform-coarse | 0.0155497 | 0.0155497 | 1.9e-8 |
|
||||
|
||||
- The composite decays ~2.9% faster than uniform-fine and also faster than uniform-coarse.
|
||||
The fit is exponential, so this is a persistent rate excess, not a startup transient.
|
||||
s = (A-B)/(C-B) = 3.01 / 2.94, with denominator 1.5e-4, well above fit noise.
|
||||
- e_IF/e_CB at step 32 = 1.50 / 1.57 (unnormalised L2 over 256 cells).
|
||||
- Per-cell RMS of (u_A - u_B) at step 32 (patch = 64 cells, outside = 192):
|
||||
- phi=0: patch 9.92e-6, outside 9.04e-6 (ratio 1.10). The patch holds 28.6% of the error energy on 25% of
|
||||
the area.
|
||||
- phi=pi/2: patch 1.15e-5, outside 9.01e-6 (ratio 1.28). The patch holds 35.2% of the error energy on 25%
|
||||
of the area.
|
||||
- Reference: C-B per-cell RMS is 6.2e-6.
|
||||
Reading: the error is spread over the whole domain, with mild concentration on the patch at phi = pi/2.
|
||||
- Profile of the x-averaged (u_A - u_B)(y):
|
||||
- phi=0: mostly modal, with a larger deficit inside the patch.
|
||||
- phi=pi/2: a non-modal kink at y ~ 3.5-4.5, where the horizontal interface sits at maximum shear.
|
||||
The non-modal residual is 5.5e-2 vs 2.2e-2 at phi=0 (L2/U0).
|
||||
- Acoustic sensors at step 32: max|u_y|/U0 = 3.7e-3 / 5.0e-3, max|rho-1| ~ 4e-6.
|
||||
- Pi_xy: the domain mean cancels by symmetry. It is not a stress-transfer sensor, is still printed in stdout,
|
||||
and is excluded from the conclusions.
|
||||
|
||||
## 4. Limitations
|
||||
- One resolution, wavenumber, tau pair, patch and duration. No convergence order can be inferred.
|
||||
- Approximate equilibrium-only initialisation. The startup transient is excluded from the fit, not modelled.
|
||||
- B and C use the script's own uniform SRT. Its formulas were checked against the reference, but it is a
|
||||
separate implementation.
|
||||
- Sandbox run only. Bounded Horsea confirmation is pending.
|
||||
- Attribution is open. The data are consistent with an interface stress-transfer error but do not show one.
|
||||
The candidates are two stated CPUREF simplifications, neither claimed wrong:
|
||||
(i) post-collision coarse packets are copied into the fine ghosts without rescaling;
|
||||
(ii) the ghosts hold g_c(t) for both fine hops.
|
||||
|
||||
## 5. One next discriminating test (not run; write a spec first)
|
||||
Same 7-run freeze, changing exactly one simplification: time-interpolated ghosts between the two fine hops,
|
||||
with the unrescaled copy kept.
|
||||
- If lambda_A - lambda_B shrinks, the ghost hold is implicated.
|
||||
- If it does not, the unrescaled copy becomes the remaining suspect, by elimination only.
|
||||
- Spec caveat: in the current step order, coarse g_c(t+1) does not exist before the fine hops. The
|
||||
interpolation source (extrapolation or a reordered coarse step) has to be specified first, and the change
|
||||
reviewed as a reference-algorithm change.
|
||||
- Static prior (ClaudeWorker, an estimate, not evidence): the ghost-hold lag is about lambda*dt/2 ~ 1% of the
|
||||
local velocity, while the non-equilibrium copy mismatch scales with k*U0. So the result may well be negative.
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"verified_utc": "2026-10-13T05:06:08.983097+00:00",
|
||||
"head": "6e3756c587ec08ab6a55c4a1a5f4671822d3f0a0",
|
||||
"old_files_checked": 281,
|
||||
"old_files_changed": [],
|
||||
"old_git_status_entries_removed": [],
|
||||
"only_authorized_new_git_paths": true,
|
||||
"archive_path": "/tmp/celerislab-shear-input-20261013-a8b1cf2.tar",
|
||||
"archive_sha256": "7937bcb6b6962718ce7509fa6e35905cb834e50eb25c72b18087127685d02630",
|
||||
"reference_sha256": "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e",
|
||||
"inputs": [
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/joint_report.md",
|
||||
"bytes": 6110,
|
||||
"sha256": "1860b8082108c8b8a87998af90cd0b81dce1c04e9f6c67b41e0912f9fef6cc9c",
|
||||
"matches_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_diagnostic_v0_2.py",
|
||||
"bytes": 30308,
|
||||
"sha256": "a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6",
|
||||
"matches_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/stdout_grok.txt",
|
||||
"bytes": 7950,
|
||||
"sha256": "28ddd1267ca91a772f5a6bfc65d949c9a4ea7dac5c9ba3a0bdb168492810b670",
|
||||
"matches_tar_bytes": true
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/source_manifest.json",
|
||||
"bytes": 574,
|
||||
"sha256": "56fbd0259ff3d4dbd14ace52f64e249a435e9df91732b0e4027def2c344c2e6a",
|
||||
"matches_tar_bytes": true
|
||||
}
|
||||
],
|
||||
"original_input_bytes_unchanged": true,
|
||||
"delivered_byte_deviations": [],
|
||||
"blocking_numerical_objections": [],
|
||||
"interpretation_qualifications": "See README.txt; report extrapolation/causal-elimination wording is not adopted.",
|
||||
"execution_attempts": 1,
|
||||
"hard_checks_passed": 22,
|
||||
"grok_hard_block_identical": true,
|
||||
"grok_summary_block_identical": true,
|
||||
"new_files_except_this_manifest": [
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_diagnostic_v0_2.py",
|
||||
"bytes": 30308,
|
||||
"sha256": "a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/README.txt",
|
||||
"bytes": 7220,
|
||||
"sha256": "4306a34b6896bd6e7a5c2ca71d68e18450359239d0c7ad7a67a4e83e7155959a"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/baseline.json",
|
||||
"bytes": 41751,
|
||||
"sha256": "98a7853341ea732762c7506694e3a867a7259bf110e9e461ea84f741fd9ab829"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/comparison.json",
|
||||
"bytes": 7679,
|
||||
"sha256": "41c00372099dd04b6d323785e9eaf4fec09da1753d3d150ffa230800f904142f"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/joint_report.md",
|
||||
"bytes": 6110,
|
||||
"sha256": "1860b8082108c8b8a87998af90cd0b81dce1c04e9f6c67b41e0912f9fef6cc9c"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/results_horsea.json",
|
||||
"bytes": 1957,
|
||||
"sha256": "c2d7ce8d16a0f47baff0788a153353dcf67088da974d9cd3d521b04ecd91ee05"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/run_once.py",
|
||||
"bytes": 3245,
|
||||
"sha256": "6698a2e040c56be949b809387d4518eb0ba82d34cc9d99640da4f8bf3c35c23f"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/source_manifest.json",
|
||||
"bytes": 574,
|
||||
"sha256": "56fbd0259ff3d4dbd14ace52f64e249a435e9df91732b0e4027def2c344c2e6a"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/stdout_grok.txt",
|
||||
"bytes": 7950,
|
||||
"sha256": "28ddd1267ca91a772f5a6bfc65d949c9a4ea7dac5c9ba3a0bdb168492810b670"
|
||||
},
|
||||
{
|
||||
"path": "tests/validation/multigrid/shear_v0_2_evidence/stdout_horsea.txt",
|
||||
"bytes": 11421,
|
||||
"sha256": "0577df5b3f5cb3c7b6e1ef2de71344f8fd3e6d959117487a06cbaf7f2afa3dea"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"started_utc": "2026-10-13T05:02:42.804589+00:00",
|
||||
"cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"parent_command": [
|
||||
"env",
|
||||
"OPENBLAS_NUM_THREADS=1",
|
||||
"PYTHONDONTWRITEBYTECODE=1",
|
||||
"PYTHONNOUSERSITE=1",
|
||||
"PYTHONOPTIMIZE=0",
|
||||
"PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py",
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/shear_v0_2_evidence/run_once.py"
|
||||
],
|
||||
"script_command": [
|
||||
"/usr/bin/prlimit",
|
||||
"--as=268435456",
|
||||
"--fsize=2097152",
|
||||
"--core=0",
|
||||
"--",
|
||||
"/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python",
|
||||
"-B",
|
||||
"/home/frank14f/CelerisLab/tests/validation/multigrid/shear_diagnostic_v0_2.py"
|
||||
],
|
||||
"environment": {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONOPTIMIZE": "0",
|
||||
"PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid",
|
||||
"CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"
|
||||
},
|
||||
"python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]",
|
||||
"numpy_version_from_installed_metadata": "1.26.4",
|
||||
"platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35",
|
||||
"hard_limits": {
|
||||
"address_space_bytes": [
|
||||
268435456,
|
||||
268435456
|
||||
],
|
||||
"output_file_bytes": [
|
||||
2097152,
|
||||
2097152
|
||||
],
|
||||
"core_bytes": [
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"planned_runs": 7,
|
||||
"coarse_steps_per_run": 32,
|
||||
"attempt": 1,
|
||||
"returncode": 0,
|
||||
"elapsed_seconds": 2.2370318549801596,
|
||||
"child_peak_rss_MiB": 37.69140625,
|
||||
"parent_peak_rss_MiB": 18.75,
|
||||
"completed_utc": "2026-10-13T05:02:45.056308+00:00",
|
||||
"stdout_bytes": 11421
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
"""Bounded execution recorder; refuses to overwrite evidence or repeat a run."""
|
||||
import datetime
|
||||
import hashlib
|
||||
import importlib.metadata
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import platform
|
||||
import resource
|
||||
import shlex
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
evidence = Path(__file__).resolve().parent
|
||||
base = evidence.parent
|
||||
script = base / "shear_diagnostic_v0_2.py"
|
||||
reference = base / "cpu_reference.py"
|
||||
expected_env = {
|
||||
"OPENBLAS_NUM_THREADS": "1",
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONNOUSERSITE": "1",
|
||||
"PYTHONOPTIMIZE": "0",
|
||||
"PYTHONPATH": str(base),
|
||||
"CPU_REFERENCE_PATH": str(reference),
|
||||
}
|
||||
limits = {
|
||||
"address_space_bytes": (resource.RLIMIT_AS, 268435456),
|
||||
"output_file_bytes": (resource.RLIMIT_FSIZE, 2097152),
|
||||
"core_bytes": (resource.RLIMIT_CORE, 0),
|
||||
}
|
||||
assert all(os.environ.get(k) == v for k, v in expected_env.items())
|
||||
assert all(resource.getrlimit(key) == (value, value) for key, value in limits.values())
|
||||
assert sys.executable == "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python"
|
||||
assert hashlib.sha256(script.read_bytes()).hexdigest() == "a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6"
|
||||
assert hashlib.sha256(reference.read_bytes()).hexdigest() == "bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e"
|
||||
log_path = evidence / "stdout_horsea.txt"
|
||||
result_path = evidence / "results_horsea.json"
|
||||
assert not log_path.exists() and not result_path.exists(), "Existing execution evidence; do not rerun"
|
||||
prefix = ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", sys.executable, "-B"]
|
||||
command = prefix + [str(script)]
|
||||
report = {
|
||||
"started_utc": datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||
"cwd": str(base),
|
||||
"parent_command": ["env"] + [f"{k}={v}" for k, v in expected_env.items()] + prefix + [str(Path(__file__).resolve())],
|
||||
"script_command": command,
|
||||
"environment": expected_env,
|
||||
"python_version": sys.version,
|
||||
"numpy_version_from_installed_metadata": importlib.metadata.version("numpy"),
|
||||
"platform": platform.platform(),
|
||||
"hard_limits": {name: resource.getrlimit(key) for name, (key, _) in limits.items()},
|
||||
"planned_runs": 7,
|
||||
"coarse_steps_per_run": 32,
|
||||
"attempt": 1,
|
||||
}
|
||||
with log_path.open("xb", buffering=0) as log:
|
||||
log.write(("RECORDER " + json.dumps(report) + "\nCOMMAND " + shlex.join(command) + "\n").encode())
|
||||
start = time.monotonic()
|
||||
child = subprocess.run(command, cwd=base, stdout=log, stderr=subprocess.STDOUT, check=False)
|
||||
report.update(
|
||||
returncode=child.returncode,
|
||||
elapsed_seconds=time.monotonic() - start,
|
||||
child_peak_rss_MiB=resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss / 1024,
|
||||
parent_peak_rss_MiB=resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1024,
|
||||
completed_utc=datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||
)
|
||||
log.write(("\nRUN_RESULT " + json.dumps(report) + "\n").encode())
|
||||
report["stdout_bytes"] = log_path.stat().st_size
|
||||
with result_path.open("x") as result:
|
||||
json.dump(report, result, indent=2)
|
||||
result.write("\n")
|
||||
print(json.dumps(report, indent=2))
|
||||
assert report["stdout_bytes"] < 2097152
|
||||
sys.exit(child.returncode if child.returncode >= 0 else 1)
|
||||
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"id": "1_IFVwcgAekq1geeam5jkoUyjXBVXJWRA",
|
||||
"name": "shear_diagnostic_v0_2.py",
|
||||
"bytes": 30308,
|
||||
"sha256": "a8b1cf2f7abd00efc4d068bbd27bb2317144a6ca4c545d9b2e0dcf421eadebc6"
|
||||
},
|
||||
{
|
||||
"id": "10TxZvxweLZXCv_WMzuk6jKzLwlRwOdmg",
|
||||
"name": "stdout_grok.txt",
|
||||
"bytes": 7950,
|
||||
"sha256": "28ddd1267ca91a772f5a6bfc65d949c9a4ea7dac5c9ba3a0bdb168492810b670"
|
||||
},
|
||||
{
|
||||
"id": "1u21zTKWxnfjAnBwhlk_XhWJjdQTC_ytb",
|
||||
"name": "joint_report.md",
|
||||
"bytes": 6110,
|
||||
"sha256": "1860b8082108c8b8a87998af90cd0b81dce1c04e9f6c67b41e0912f9fef6cc9c"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,89 @@
|
||||
=== shear_diagnostic_v0.2 against CPUREF-0.3 ===
|
||||
REF_PATH=/workspace/shear_diag/cpu_reference_v0.3.py
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
API_VERSION=CPUREF-0.3
|
||||
U0=0.001 tau_c=0.8 tau_f=1.1 steps=32 nu=0.1 k=0.39269908169872414
|
||||
nu*k^2=0.01542126 (analytic decay rate)
|
||||
INIT: equilibrium of averaged velocity (NOT exact cell-avg of nonlinear feq)
|
||||
UNITS: fit/report 'steps' are coarse steps; CPUREF tick = fine step count
|
||||
fit window coarse steps 4..32 = CPUREF ticks 8..64
|
||||
startup coarse steps 0..3 = CPUREF ticks 0..6
|
||||
nonmodal/e_IF/e_CB are unnormalised L2 sums over 256 coarse cells
|
||||
(per-cell RMS = value/16); nonmodal is already /U0
|
||||
CONS_TOL=1e-12 relative to mass (~256) => abs ~2.560e-10
|
||||
|
||||
-- running C (uniform-coarse) phi0.0000
|
||||
-- running B (uniform-fine) phi0.0000
|
||||
-- running A (composite CPUREF) phi0.0000
|
||||
-- running C (uniform-coarse) phi1.5708
|
||||
-- running B (uniform-fine) phi1.5708
|
||||
-- running A (composite CPUREF) phi1.5708
|
||||
-- running A transpose phi=1.5707963267948966
|
||||
|
||||
=== HARD CHECKS ===
|
||||
finite[A_phi0.0000]=True cons=True mass_drift=5.969e-13 momx_drift=1.690e-13 momy_drift=2.753e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi0.0000]=True cons=True mass_drift=7.105e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[C_phi0.0000]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[A_phi1.5708]=True cons=True mass_drift=8.242e-13 momx_drift=1.033e-13 momy_drift=9.015e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi1.5708]=True cons=True mass_drift=6.821e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[C_phi1.5708]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[A_T_phi1.5708]=True cons=True mass_drift=7.105e-13 momx_drift=1.843e-14 momy_drift=6.062e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
transpose_ok=True max_err=6.661e-16 (tol=1.000e-15)
|
||||
t0 amp A/B/C phi0.0000: 1.00000000e-03 1.00000000e-03 1.00000000e-03
|
||||
t0 max|ux A-B| patch=1.084e-19 |A-C| outside=2.168e-19 |B-C| all=6.245e-17
|
||||
t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15) init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
t0 amp A/B/C phi1.5708: 1.00000000e-03 1.00000000e-03 1.00000000e-03
|
||||
t0 max|ux A-B| patch=1.084e-19 |A-C| outside=2.168e-19 |B-C| all=6.245e-17
|
||||
t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15) init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
init_mismatch[A_T]=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
N_BOOLEAN_HARD_CHECKS=22: cons_A_T_phi1.5708,cons_A_phi0.0000,cons_A_phi1.5708,cons_B_phi0.0000,cons_B_phi1.5708,cons_C_phi0.0000,cons_C_phi1.5708,finite_A_T_phi1.5708,finite_A_phi0.0000,finite_A_phi1.5708,finite_B_phi0.0000,finite_B_phi1.5708,finite_C_phi0.0000,finite_C_phi1.5708,init_mismatch_ok_A_T_phi1.5708,init_mismatch_ok_phi0.0000,init_mismatch_ok_phi1.5708,t0_AB_patch_ok_phi0.0000,t0_AB_patch_ok_phi1.5708,t0_AC_out_ok_phi0.0000,t0_AC_out_ok_phi1.5708,transpose_ok
|
||||
|
||||
=== DECAY FITS (coarse steps 4..32 = CPUREF ticks 8..64) ===
|
||||
analytic lambda = nu*k^2 = 0.01542126
|
||||
A phi0.0000: lambda=0.01585222 stderr=8.572e-08 R2=1.000000 A0=1.000000e-03 A32=5.987423e-04
|
||||
B phi0.0000: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi0.0000: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi0.0000: s=3.0090 (lambda_C-lambda_B)=1.505674e-04
|
||||
DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.482978e-04 e_IF_patch=7.933404e-05 e_IF_out=1.252931e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5015
|
||||
DIAG per-cell RMS (uA-uB) step32 phi0.0000: patch=9.9168e-06 (64 cells) outside=9.0422e-06 (192 cells) ratio=1.097 patch_energy_frac=0.2862 (area frac 0.25)
|
||||
DIAG sensors step32: nonmodal(L2/U0)=2.2349e-02 max|uy|/U0=3.6890e-03 max|drho|=3.8401e-06
|
||||
DIAG (uA-uB)_xavg(y) step32 phi0.0000: -2.032e-06 -6.024e-06 -9.820e-06 -1.332e-05 -1.222e-05 -1.167e-05 -8.270e-06 -2.980e-06 2.980e-06 8.270e-06 1.167e-05 1.222e-05 1.332e-05 9.820e-06 6.024e-06 2.032e-06
|
||||
DIAG Pi_xy_mean step32 phi0.0000: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)
|
||||
A phi1.5708: lambda=0.01584192 stderr=2.131e-07 R2=1.000000 A0=1.000000e-03 A32=5.989032e-04
|
||||
B phi1.5708: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi1.5708: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi1.5708: s=2.9406 (lambda_C-lambda_B)=1.505674e-04
|
||||
DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.550631e-04 e_IF_patch=9.195288e-05 e_IF_out=1.248568e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5700
|
||||
DIAG per-cell RMS (uA-uB) step32 phi1.5708: patch=1.1494e-05 (64 cells) outside=9.0108e-06 (192 cells) ratio=1.276 patch_energy_frac=0.3517 (area frac 0.25)
|
||||
DIAG sensors step32: nonmodal(L2/U0)=5.5487e-02 max|uy|/U0=5.0221e-03 max|drho|=4.3542e-06
|
||||
DIAG (uA-uB)_xavg(y) step32 phi1.5708: -9.119e-06 -8.622e-06 -7.886e-06 -7.167e-06 -2.176e-06 6.314e-06 1.264e-05 1.601e-05 1.601e-05 1.264e-05 6.314e-06 -2.176e-06 -7.167e-06 -7.886e-06 -8.622e-06 -9.119e-06
|
||||
DIAG Pi_xy_mean step32 phi1.5708: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)
|
||||
|
||||
=== PER-TICK AMPLITUDE (selected) ===
|
||||
tick A_p0 B_p0 C_p0 A_p90 B_p90 C_p90 exact
|
||||
0 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03
|
||||
1 9.773722e-04 9.860853e-04 9.746265e-04 9.774280e-04 9.860853e-04 9.746265e-04 9.846970e-04
|
||||
2 9.636011e-04 9.710270e-04 9.617788e-04 9.635461e-04 9.710270e-04 9.617788e-04 9.696283e-04
|
||||
3 9.481499e-04 9.561886e-04 9.465229e-04 9.481500e-04 9.561886e-04 9.465229e-04 9.547901e-04
|
||||
4 9.332807e-04 9.415768e-04 9.319786e-04 9.332641e-04 9.415768e-04 9.319786e-04 9.401790e-04
|
||||
8 8.759254e-04 8.853290e-04 8.757728e-04 8.759360e-04 8.853290e-04 8.757728e-04 8.839365e-04
|
||||
12 8.221055e-04 8.324412e-04 8.229603e-04 8.221445e-04 8.324412e-04 8.229603e-04 8.310585e-04
|
||||
16 7.715978e-04 7.827129e-04 7.733326e-04 7.716635e-04 7.827129e-04 7.733326e-04 7.813437e-04
|
||||
20 7.241928e-04 7.359552e-04 7.266976e-04 7.242838e-04 7.359552e-04 7.266976e-04 7.346029e-04
|
||||
24 6.796981e-04 6.919908e-04 6.828749e-04 6.798155e-04 6.919908e-04 6.828749e-04 6.906582e-04
|
||||
28 6.379365e-04 6.506527e-04 6.416948e-04 6.380768e-04 6.506527e-04 6.416948e-04 6.493424e-04
|
||||
32 5.987423e-04 6.117840e-04 6.029981e-04 5.989032e-04 6.117840e-04 6.029981e-04 6.104980e-04
|
||||
|
||||
=== NUMERIC SUMMARY ===
|
||||
ALL_HARD_CHECKS_PASS=True
|
||||
runtime_sec=0.55
|
||||
SUMMARY_LINES_BEGIN
|
||||
FIT A phi0.0000 lambda=0.0158522189 stderr=8.571672e-08 R2=1.00000000 A0=1.0000000000e-03 A32=5.9874229183e-04
|
||||
FIT B phi0.0000 lambda=0.0153991657 stderr=3.372428e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
|
||||
FIT C phi0.0000 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
|
||||
FIT A phi1.5708 lambda=0.0158419175 stderr=2.130663e-07 R2=1.00000000 A0=1.0000000000e-03 A32=5.9890316832e-04
|
||||
FIT B phi1.5708 lambda=0.0153991657 stderr=3.372390e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
|
||||
FIT C phi1.5708 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
|
||||
TRANSPOSE err=6.661338e-16 ok=True
|
||||
ANALYTIC lambda=0.0154212569
|
||||
SUMMARY_LINES_END
|
||||
@@ -0,0 +1,93 @@
|
||||
RECORDER {"started_utc": "2026-10-13T05:02:42.804589+00:00", "cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid", "parent_command": ["env", "OPENBLAS_NUM_THREADS=1", "PYTHONDONTWRITEBYTECODE=1", "PYTHONNOUSERSITE=1", "PYTHONOPTIMIZE=0", "PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py", "/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/shear_v0_2_evidence/run_once.py"], "script_command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/shear_diagnostic_v0_2.py"], "environment": {"OPENBLAS_NUM_THREADS": "1", "PYTHONDONTWRITEBYTECODE": "1", "PYTHONNOUSERSITE": "1", "PYTHONOPTIMIZE": "0", "PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"}, "python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]", "numpy_version_from_installed_metadata": "1.26.4", "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35", "hard_limits": {"address_space_bytes": [268435456, 268435456], "output_file_bytes": [2097152, 2097152], "core_bytes": [0, 0]}, "planned_runs": 7, "coarse_steps_per_run": 32, "attempt": 1}
|
||||
COMMAND /usr/bin/prlimit --as=268435456 --fsize=2097152 --core=0 -- /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python -B /home/frank14f/CelerisLab/tests/validation/multigrid/shear_diagnostic_v0_2.py
|
||||
=== shear_diagnostic_v0.2 against CPUREF-0.3 ===
|
||||
REF_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py
|
||||
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
|
||||
API_VERSION=CPUREF-0.3
|
||||
U0=0.001 tau_c=0.8 tau_f=1.1 steps=32 nu=0.1 k=0.39269908169872414
|
||||
nu*k^2=0.01542126 (analytic decay rate)
|
||||
INIT: equilibrium of averaged velocity (NOT exact cell-avg of nonlinear feq)
|
||||
UNITS: fit/report 'steps' are coarse steps; CPUREF tick = fine step count
|
||||
fit window coarse steps 4..32 = CPUREF ticks 8..64
|
||||
startup coarse steps 0..3 = CPUREF ticks 0..6
|
||||
nonmodal/e_IF/e_CB are unnormalised L2 sums over 256 coarse cells
|
||||
(per-cell RMS = value/16); nonmodal is already /U0
|
||||
CONS_TOL=1e-12 relative to mass (~256) => abs ~2.560e-10
|
||||
|
||||
-- running C (uniform-coarse) phi0.0000
|
||||
-- running B (uniform-fine) phi0.0000
|
||||
-- running A (composite CPUREF) phi0.0000
|
||||
-- running C (uniform-coarse) phi1.5708
|
||||
-- running B (uniform-fine) phi1.5708
|
||||
-- running A (composite CPUREF) phi1.5708
|
||||
-- running A transpose phi=1.5707963267948966
|
||||
|
||||
=== HARD CHECKS ===
|
||||
finite[A_phi0.0000]=True cons=True mass_drift=5.969e-13 momx_drift=1.690e-13 momy_drift=2.753e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi0.0000]=True cons=True mass_drift=7.105e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[C_phi0.0000]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[A_phi1.5708]=True cons=True mass_drift=8.242e-13 momx_drift=1.033e-13 momy_drift=9.015e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
finite[B_phi1.5708]=True cons=True mass_drift=6.821e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[C_phi1.5708]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|)
|
||||
finite[A_T_phi1.5708]=True cons=True mass_drift=7.105e-13 momx_drift=1.843e-14 momy_drift=6.062e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
|
||||
transpose_ok=True max_err=6.661e-16 (tol=1.000e-15)
|
||||
t0 amp A/B/C phi0.0000: 1.00000000e-03 1.00000000e-03 1.00000000e-03
|
||||
t0 max|ux A-B| patch=1.084e-19 |A-C| outside=2.168e-19 |B-C| all=6.245e-17
|
||||
t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15) init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
t0 amp A/B/C phi1.5708: 1.00000000e-03 1.00000000e-03 1.00000000e-03
|
||||
t0 max|ux A-B| patch=1.084e-19 |A-C| outside=2.168e-19 |B-C| all=6.245e-17
|
||||
t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15) init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
init_mismatch[A_T]=1.110e-16 ok=True (INIT_TOL=1.0e-12)
|
||||
N_BOOLEAN_HARD_CHECKS=22: cons_A_T_phi1.5708,cons_A_phi0.0000,cons_A_phi1.5708,cons_B_phi0.0000,cons_B_phi1.5708,cons_C_phi0.0000,cons_C_phi1.5708,finite_A_T_phi1.5708,finite_A_phi0.0000,finite_A_phi1.5708,finite_B_phi0.0000,finite_B_phi1.5708,finite_C_phi0.0000,finite_C_phi1.5708,init_mismatch_ok_A_T_phi1.5708,init_mismatch_ok_phi0.0000,init_mismatch_ok_phi1.5708,t0_AB_patch_ok_phi0.0000,t0_AB_patch_ok_phi1.5708,t0_AC_out_ok_phi0.0000,t0_AC_out_ok_phi1.5708,transpose_ok
|
||||
|
||||
=== DECAY FITS (coarse steps 4..32 = CPUREF ticks 8..64) ===
|
||||
analytic lambda = nu*k^2 = 0.01542126
|
||||
A phi0.0000: lambda=0.01585222 stderr=8.572e-08 R2=1.000000 A0=1.000000e-03 A32=5.987423e-04
|
||||
B phi0.0000: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi0.0000: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi0.0000: s=3.0090 (lambda_C-lambda_B)=1.505674e-04
|
||||
DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.482978e-04 e_IF_patch=7.933404e-05 e_IF_out=1.252931e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5015
|
||||
DIAG per-cell RMS (uA-uB) step32 phi0.0000: patch=9.9168e-06 (64 cells) outside=9.0422e-06 (192 cells) ratio=1.097 patch_energy_frac=0.2862 (area frac 0.25)
|
||||
DIAG sensors step32: nonmodal(L2/U0)=2.2349e-02 max|uy|/U0=3.6890e-03 max|drho|=3.8401e-06
|
||||
DIAG (uA-uB)_xavg(y) step32 phi0.0000: -2.032e-06 -6.024e-06 -9.820e-06 -1.332e-05 -1.222e-05 -1.167e-05 -8.270e-06 -2.980e-06 2.980e-06 8.270e-06 1.167e-05 1.222e-05 1.332e-05 9.820e-06 6.024e-06 2.032e-06
|
||||
DIAG Pi_xy_mean step32 phi0.0000: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)
|
||||
A phi1.5708: lambda=0.01584192 stderr=2.131e-07 R2=1.000000 A0=1.000000e-03 A32=5.989032e-04
|
||||
B phi1.5708: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
|
||||
C phi1.5708: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
|
||||
DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi1.5708: s=2.9406 (lambda_C-lambda_B)=1.505674e-04
|
||||
DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.550631e-04 e_IF_patch=9.195288e-05 e_IF_out=1.248568e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5700
|
||||
DIAG per-cell RMS (uA-uB) step32 phi1.5708: patch=1.1494e-05 (64 cells) outside=9.0108e-06 (192 cells) ratio=1.276 patch_energy_frac=0.3517 (area frac 0.25)
|
||||
DIAG sensors step32: nonmodal(L2/U0)=5.5487e-02 max|uy|/U0=5.0221e-03 max|drho|=4.3542e-06
|
||||
DIAG (uA-uB)_xavg(y) step32 phi1.5708: -9.119e-06 -8.622e-06 -7.886e-06 -7.167e-06 -2.176e-06 6.314e-06 1.264e-05 1.601e-05 1.601e-05 1.264e-05 6.314e-06 -2.176e-06 -7.167e-06 -7.886e-06 -8.622e-06 -9.119e-06
|
||||
DIAG Pi_xy_mean step32 phi1.5708: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)
|
||||
|
||||
=== PER-TICK AMPLITUDE (selected) ===
|
||||
tick A_p0 B_p0 C_p0 A_p90 B_p90 C_p90 exact
|
||||
0 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03 1.000000e-03
|
||||
1 9.773722e-04 9.860853e-04 9.746265e-04 9.774280e-04 9.860853e-04 9.746265e-04 9.846970e-04
|
||||
2 9.636011e-04 9.710270e-04 9.617788e-04 9.635461e-04 9.710270e-04 9.617788e-04 9.696283e-04
|
||||
3 9.481499e-04 9.561886e-04 9.465229e-04 9.481500e-04 9.561886e-04 9.465229e-04 9.547901e-04
|
||||
4 9.332807e-04 9.415768e-04 9.319786e-04 9.332641e-04 9.415768e-04 9.319786e-04 9.401790e-04
|
||||
8 8.759254e-04 8.853290e-04 8.757728e-04 8.759360e-04 8.853290e-04 8.757728e-04 8.839365e-04
|
||||
12 8.221055e-04 8.324412e-04 8.229603e-04 8.221445e-04 8.324412e-04 8.229603e-04 8.310585e-04
|
||||
16 7.715978e-04 7.827129e-04 7.733326e-04 7.716635e-04 7.827129e-04 7.733326e-04 7.813437e-04
|
||||
20 7.241928e-04 7.359552e-04 7.266976e-04 7.242838e-04 7.359552e-04 7.266976e-04 7.346029e-04
|
||||
24 6.796981e-04 6.919908e-04 6.828749e-04 6.798155e-04 6.919908e-04 6.828749e-04 6.906582e-04
|
||||
28 6.379365e-04 6.506527e-04 6.416948e-04 6.380768e-04 6.506527e-04 6.416948e-04 6.493424e-04
|
||||
32 5.987423e-04 6.117840e-04 6.029981e-04 5.989032e-04 6.117840e-04 6.029981e-04 6.104980e-04
|
||||
|
||||
=== NUMERIC SUMMARY ===
|
||||
ALL_HARD_CHECKS_PASS=True
|
||||
runtime_sec=2.07
|
||||
SUMMARY_LINES_BEGIN
|
||||
FIT A phi0.0000 lambda=0.0158522189 stderr=8.571672e-08 R2=1.00000000 A0=1.0000000000e-03 A32=5.9874229183e-04
|
||||
FIT B phi0.0000 lambda=0.0153991657 stderr=3.372428e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
|
||||
FIT C phi0.0000 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
|
||||
FIT A phi1.5708 lambda=0.0158419175 stderr=2.130663e-07 R2=1.00000000 A0=1.0000000000e-03 A32=5.9890316832e-04
|
||||
FIT B phi1.5708 lambda=0.0153991657 stderr=3.372390e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
|
||||
FIT C phi1.5708 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
|
||||
TRANSPOSE err=6.661338e-16 ok=True
|
||||
ANALYTIC lambda=0.0154212569
|
||||
SUMMARY_LINES_END
|
||||
|
||||
RUN_RESULT {"started_utc": "2026-10-13T05:02:42.804589+00:00", "cwd": "/home/frank14f/CelerisLab/tests/validation/multigrid", "parent_command": ["env", "OPENBLAS_NUM_THREADS=1", "PYTHONDONTWRITEBYTECODE=1", "PYTHONNOUSERSITE=1", "PYTHONOPTIMIZE=0", "PYTHONPATH=/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH=/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py", "/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/shear_v0_2_evidence/run_once.py"], "script_command": ["/usr/bin/prlimit", "--as=268435456", "--fsize=2097152", "--core=0", "--", "/home/frank14f/anaconda3/envs/pycuda_3_10/bin/python", "-B", "/home/frank14f/CelerisLab/tests/validation/multigrid/shear_diagnostic_v0_2.py"], "environment": {"OPENBLAS_NUM_THREADS": "1", "PYTHONDONTWRITEBYTECODE": "1", "PYTHONNOUSERSITE": "1", "PYTHONOPTIMIZE": "0", "PYTHONPATH": "/home/frank14f/CelerisLab/tests/validation/multigrid", "CPU_REFERENCE_PATH": "/home/frank14f/CelerisLab/tests/validation/multigrid/cpu_reference.py"}, "python_version": "3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0]", "numpy_version_from_installed_metadata": "1.26.4", "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35", "hard_limits": {"address_space_bytes": [268435456, 268435456], "output_file_bytes": [2097152, 2097152], "core_bytes": [0, 0]}, "planned_runs": 7, "coarse_steps_per_run": 32, "attempt": 1, "returncode": 0, "elapsed_seconds": 2.2370318549801596, "child_peak_rss_MiB": 37.69140625, "parent_peak_rss_MiB": 18.75, "completed_utc": "2026-10-13T05:02:45.056308+00:00"}
|
||||
Reference in new issue
Block a user