--- license: apache-2.0 language: - en tags: - OneScience - computational-fluid-dynamics - heat-transfer - random-forest --- # WavyChannel-RF-ThermoHydraulics ## Model Introduction This package reproduces the fixed 80/20 Random Forest experiment for a partially porous wavy-channel CFD surrogate. It predicts mean Nusselt number `Nuavg` and pressure drop `DelP_Pa` from seven operating and geometry features, following the [authors' version 4 data supplement](https://data.mendeley.com/datasets/5b5n3cg32n/4) for [the associated paper](https://doi.org/10.1016/j.aitf.2026.100051). Two independent 800-tree forests were fitted on 3,686 samples and tested on 922 samples. `weight/best_model.pth` is a joblib bundle, despite the `.pth` extension; it is not a PyTorch state dictionary. The published bundle changes only data-path strings in its metadata. Its fitted forests are unchanged from the original run. The published SHA256 is `d43fe39fc6de27aa26eeb063a8b81c2089150e09a7ea21db1e67d8f136aeab17`; the original training checkpoint SHA256 was `dad800c2ee630455ac421b81c5fc38a0a584c065adca720d0c534d2df065e421`. ## Intended Use | Task | Description | | --- | --- | | Thermo-hydraulic surrogate | Predict heat-transfer and pressure-drop responses | | Design screening | Compare configurations within the training data's parameter range | ## Usage ### Download the Model Package ```bash hf download OneScience-Group/WavyChannel-RF-ThermoHydraulics --local-dir ./WavyChannel-RF-ThermoHydraulics cd WavyChannel-RF-ThermoHydraulics ``` ### Install Dependencies ```bash pip install -r requirements.txt pip install 'modelscope[datasets]' ``` Use scikit-learn 1.6.0, as pinned in `requirements.txt`, when loading the joblib checkpoint. Only load model files from a trusted source. ### Data Hugging Face hosts only this model package. The two CSV files required by the fixed split are available as [OneScience/WavyChannel-ThermoHydraulics on ModelScope](https://www.modelscope.cn/datasets/OneScience/WavyChannel-ThermoHydraulics): ```bash modelscope download --dataset OneScience/WavyChannel-ThermoHydraulics --local_dir ./data ``` The package expects `data/02_processed_data/ML_dataset_longform.csv` and `data/03_splits/random80_20_split.csv`. Keep the authors' `case_uid` join and fixed train/test labels; do not generate a new split. The source is [Mendeley Data version 4](https://data.mendeley.com/datasets/5b5n3cg32n/4), CC BY 4.0. ### Train On a SLURM compute cluster, from the package root: ```bash sbatch scripts/run_experiment.slurm ``` Alternatively, on an allocated compute node: ```bash python scripts/train.py --config config/config.yaml python scripts/inference.py --config config/config.yaml python scripts/result.py --config config/config.yaml ``` Preserve the bundled weight and results before retraining. A Random Forest has no epochs; this is one full fit of two independent targets. ### Results The reproduced test MAE/RMSE were `0.083817/0.276695` for `Nuavg` and `0.640271/2.000163 Pa` for pressure drop. The data supplement reports `0.083819/0.276695` and `0.639853/1.997940 Pa`, respectively. The archived validation JSON files refer to the original training-file hash; reloaded predictions from the published bundle must be checked separately. ## OneScience Repositories | Platform | Main repository | Skills repository | | --- | --- | --- | | Gitee | [OneScience](https://gitee.com/onescience-ai/onescience) | [OneSkills](https://gitee.com/onescience-ai/oneskills) | | GitHub | [OneScience](https://github.com/onescience-ai/OneScience) | [OneSkills](https://github.com/onescience-ai/oneskills) | ## Citation and License - Paper: [Machine learning surrogate for CFD-based prediction of heat transfer and pressure drop in partially porous wavy channels](https://doi.org/10.1016/j.aitf.2026.100051). - Data: [Kumar and Pandey, Mendeley Data v4](https://doi.org/10.17632/5b5n3cg32n.4), CC BY 4.0. Model-code and dataset licenses are separate.