yushuang88's picture
Upload folder using huggingface_hub
c023008 verified
|
Raw History Blame Contribute Delete
3.98 kB
---
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.