PINN-SWE-CircularDamBreak

Model Introduction

PINN-SWE-CircularDamBreak reproduces the dCDB9 circular dam-break experiment for the two-dimensional shallow water equations. It predicts water depth and velocity without labeled training fields.

Paper: Physics-Informed Neural Networks for Solving the Two-Dimensional Shallow Water Equations with Terrain Topography and Rainfall Source Terms

Model Description

The network maps (x, y, t) to (h, u, v). It has five fully connected hidden layers of width 300 with N-LAAF activations. Training uses shallow-water PDE residuals, initial conditions, and periodic boundary conditions.

Applications

Application Description
Circular dam-break prediction Predict water depth and velocity over time
Shallow-water solver verification Compare PINN fields with a numerical reference

Usage

1. OneCode

Open the OneCode AI4S environment

2. Manual Setup

Hardware

  • Formal training, inference, and evaluation were verified on one DCU compute node; the training script requires a Slurm DCU job environment.
  • At least 30 GB of host memory is recommended.
  • CPU is suitable for configuration inspection, not the recorded full training run.

Download the model

hf download OneScience-Group/PINN-SWE-CircularDamBreak --local-dir ./PINN-SWE-CircularDamBreak
cd PINN-SWE-CircularDamBreak

Install dependencies

DCU

# Activate a compatible DTK and Conda environment first.
conda create -n onescience311 python=3.11 -y
conda activate onescience311
pip install onescience[cfd-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
pip install numpy PyYAML matplotlib

GPU

conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
pip install numpy PyYAML matplotlib

The formal scripts were verified only in a Slurm DCU environment. The GPU command is provided for dependency setup, not as a tested training claim.

Training data

No external dataset is needed. scripts/fake_data.py creates collocation points and targets from the configuration's PDE, initial condition, and periodic boundary conditions.

python scripts/fake_data.py --config config/config.yaml

Train

The downloaded package includes a trained checkpoint. To train from scratch, first archive the bundled weights, then run on an allocated Slurm DCU node:

mkdir -p weight/pretrained
mv weight/best_model.pth weight/last_model.pth weight/pretrained/
python scripts/train.py --config config/config.yaml

The formal run takes 5,000 optimizer steps and writes weight/best_model.pth.

Trained weights

weight/best_model.pth was selected at step 4,100 after the full 5,000-step run and is ready for inference. File size: 1,466,146 bytes. SHA256: 26953fa8d218a585b05dd2775e1d3574a86ec33a2d68fb2bd58c1c78a8b3734e.

Inference

python scripts/inference.py --config config/config.yaml

Evaluation and visualization

python scripts/result.py --config config/config.yaml

Outputs are written to results/. At t=0.8 s, the recorded water-depth RMSE is 0.01066 versus 0.01000 in paper Table 2. The recorded metric uses an independently implemented HLL reference, so it is not strict parity against the paper's exact reference array.

OneScience Repositories

Citation and License

Downloads last month
70
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for OneScience-Group/PINN-SWE-CircularDamBreak