Skip to content

Latest commit

 

History

History
72 lines (57 loc) · 3.39 KB

File metadata and controls

72 lines (57 loc) · 3.39 KB

Reproducibility

Python workflow

The repository analysis can be rebuilt with:

python -m venv .venv
python -m pip install -r requirements.txt -r requirements-preprocess.txt
python scripts/preprocess/build_internal_convection_inputs.py --check
python scripts/run_all.py
python -m pytest -q
git diff --exit-code

The workflow uses repository-relative paths and rebuilds geometry import files, processed tables, numerical checks and figures from the committed Fluent CSV and text exports. SVG figures use a fixed Matplotlib hash salt and omit date metadata, so unchanged inputs produce unchanged SVG output. run_all.py does not launch Fluent.

The direct Python dependencies used by the project are version-pinned. GitHub Actions runs the same checks on ubuntu-24.04 with Python 3.13. The workflow covers the internal-convection preprocessing, NASA comparisons, mesh and balance checks, sensitivity summaries, figures and regression tests.

Fluent saved-state check

scripts/verification/replay_saved_state_reports.py provides a separate check for the released fine-grid Fluent states. It requires a local licensed Fluent 26.1 installation and ansys-fluent-core==0.40.2 from requirements-fluent.txt. The helper launches Fluent 26.1.0 in 2D double precision with ui_mode="no_gui", opens a released .cas.h5/.dat.h5 pair and recomputes the stored external heat-rate, mean-wall-temperature and outlet-Mach report definitions.

Each run records the SHA-256 hashes of the case and data files together with the requested and actual Fluent version, dimension and precision. The archived checks for the two released fine-grid states are under results/processed/verification/live_saved_state_audits/:

Saved state External heat rate [W] Mean wall temperature [K] Mass-weighted outlet Mach
fine SST, iter 236 35819.60242176461 655.619216610248 0.9012944409738727
fine Transition SST, iter 556 28548.27415186197 608.87899709921 0.9033510682539843

The commands are:

python -m pip install -r requirements-fluent.txt
python scripts/verification/replay_saved_state_reports.py c3x_run145_nasa_exact_fine_SST_final_iter236.cas.h5 --output run145_sst_fine_saved_state_audit.json
python scripts/verification/replay_saved_state_reports.py c3x_run145_transition_sst_fine_final_iter556.cas.h5 --output run145_transition_sst_fine_saved_state_audit.json

The matching .dat.h5 files must remain beside the case files with the canonical filenames listed in fluent/restart_manifest.csv. Fluent itself is not launched in CI.

Limitations

The source curves and solved meshes are retained, but the original SpaceClaim and Ansys Meshing GUI history, several interactive meshing controls and the operation sequence are not. The repository also has no full initialisation-to-final Fluent replay for the SST baseline or replay scripts for the internal-cooling and Transition SST sensitivity solves; those study outputs are checked in CI against the committed case matrices and reported numerical relationships.

The requirement files pin the project's direct Python dependencies but not every transitive package or the complete runner operating-system image. The tested GitHub Actions environment is therefore the practical reference for the Python rebuild rather than a bit-for-bit snapshot of the full software stack.