File size: 4,054 Bytes
d647964
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
license: other
language:
- en
tags:
- OneScience
- cavity-flow
- physics-informed-neural-network
- quantum-machine-learning
---

# QCPINN-CavityFlow

## Model Introduction

This package reproduces the unsteady lid-driven cavity experiment in [QCPINN: Quantum-Classical Physics-Informed Neural Networks for Solving PDEs](https://arxiv.org/abs/2503.16678), Table 3. The Angle-Cascade quantum-classical PINN maps `(t, x, y)` to `(u, v, p)`. Sobol-sampled PDE and boundary points drive training; the author's reference field is used for validation and evaluation, not gradient updates.

Ten independent runs of 20,000 epochs were completed on CPU quantum simulation. The included `weight/best_model.pt` is the validation-selected checkpoint from seed 6, epoch 1, not a claim of paper-level accuracy. Only the reference-data path in its checkpoint metadata was changed for portability; all nine parameter tensors are unchanged. The published checkpoint SHA256 is `498bcc0dbfc053ca4824b1b6cd2914e85536d0aed1e07ad50d5ef3b4a0b11b87`; the original training checkpoint SHA256 was `f24e5f3357b045ed2a49fdb8a377cd3668a5cbb8100ff3c13906e3bfce9aff11`.

## Intended Use

| Task | Description |
| --- | --- |
| Cavity-flow field inference | Predict velocity and pressure at spatiotemporal coordinates |
| PINN research | Examine a quantum-classical Navier-Stokes training protocol |

## Usage

### Download the Model Package

```bash
hf download OneScience-Group/QCPINN-CavityFlow --local-dir ./QCPINN-CavityFlow
cd QCPINN-CavityFlow
```

### Install Dependencies

The formal run used Python 3.10, CPU PyTorch 2.6.0 and PennyLane 0.40.0. The `+cpu` PyTorch wheel requires the official CPU index:

```bash
conda create -n qcpinn-cavity python=3.10 -y
conda activate qcpinn-cavity
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
pip install 'modelscope[datasets]'
```

### Reference Data

Hugging Face hosts only the model package. Obtain the author's `cavity.mat` from [OneScience/QCPINN-Cavity on ModelScope](https://www.modelscope.cn/datasets/OneScience/QCPINN-Cavity):

```bash
modelscope download --dataset OneScience/QCPINN-Cavity --local_dir ./data
```

The expected file is `data/cavity.mat`, SHA256 `4010d55dc23aa0f8ba79b24baf75e3903044bc4333d772168121cd30bc95c3ba`. It contains `cavity_internal`, `cavity_gamma0`, and `cavity_gamma1` in MATLAB v7.3/HDF5 format. No external labeled training dataset is needed.

### Train

From a fresh package copy on a SLURM compute cluster, with the Python environment activated:

```bash
sbatch scripts/run_all.slurm
```

The script runs ten seeds, 20,000 epochs per seed, then reloads checkpoints for inference and figures. Adjust the cluster's time/partition settings as needed. Preserve the bundled weight and results before retraining.

### Inference and Results

```bash
python scripts/inference.py --checkpoint weight/best_model.pt
python scripts/result.py
```

The selected checkpoint's internal-field relative L2 errors for `(u, v, p)` were `(123.70%, 121.43%, 164.19%)`. Across ten validation-best checkpoints, the means were `(200.42%, 274.73%, 148.86%)`, versus `(25.73%, 38.00%, 42.65%)` in paper Table 3. The full training was completed, but the paper accuracy was not reproduced. Historical `results/best_model/metrics.json` records the original checkpoint hash; rerunning inference records the published checkpoint hash.

## 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: [QCPINN](https://arxiv.org/abs/2503.16678).
- Reference field: [authors' QCPINN repository](https://github.com/afrah/QCPINN/tree/main/data). The repository has an MIT software license; the data is distributed separately with its own provenance information.