File size: 4,660 Bytes
e2703dc
 
 
 
 
 
ede74c0
 
 
e2703dc
 
 
 
ede74c0
e2703dc
 
 
 
 
ede74c0
 
 
e2703dc
 
 
ede74c0
 
 
 
 
e2703dc
 
ede74c0
 
 
 
e2703dc
ede74c0
e2703dc
 
 
 
 
 
 
 
 
 
 
 
 
ede74c0
 
 
e2703dc
 
 
 
ede74c0
 
e2703dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ede74c0
e2703dc
ede74c0
 
 
e2703dc
 
 
 
 
 
ede74c0
 
 
 
 
 
 
 
 
 
e2703dc
 
ede74c0
e2703dc
 
 
 
 
 
 
ede74c0
 
 
 
 
e2703dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ede74c0
 
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
license: apache-2.0
language:
- en
tags:
- OneScience
- fluid dynamics
- physics-informed neural networks
- long-horizon physical prediction
frameworks: PyTorch
---
<p align="center">
  <strong>
    <span style="font-size: 30px;">PINNsformer</span>
  </strong>
</p>

# Model Overview

PINNsFormer is a Transformer-based physics-informed neural network framework developed by researchers at the Georgia Institute of Technology and Carnegie Mellon University. It enables rapid prediction of solutions to time-dependent partial differential equations and their associated physical fields.

Paper: [PINNsFormer: A Transformer-Based Framework For Physics-Informed Neural Networks](https://arxiv.org/abs/2307.11833).

# Model Description

PINNsFormer uses a Transformer encoder–decoder with multi-head attention to numerically solve time-dependent partial differential equations, including convection, reaction, wave, and Navier–Stokes equations.



# Use Cases

| Use Case | Description |
| :--- | :--- |
| Time-dependent PDE solving | Train a continuous-field surrogate constrained by physical residuals, boundary conditions, and initial conditions |
| Physics-informed neural network validation | Rapidly validate the PINNsFormer network, loss functions, weight serialization, and inference pipeline |
| One-dimensional reaction equation example | Generate target fields from an analytical solution for pipeline validation and error analysis |
| ModelScope/OneCode execution | Download the standalone model package, install its dependencies, and run the provided scripts |


# Usage

## 1. OneCode

Use the online OneCode environment for an intelligent, one-click AI for Science (AI4S) programming experience:

[Launch OneCode for one-click AI4S programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home)

## 2. Manual Setup

**Hardware Requirements**

* A CPU can be used for small-scale pipeline validation.
* A GPU or DCU is recommended for training on larger grids or for more epochs.
* DCU users must install DTK in advance. DTK 25.04.2 or later, or the OneScience-recommended version for the target cluster, is recommended.

### Download the Model Package

```bash
modelscope download --model OneScience/PINNsformer --local_dir ./PINNsformer
cd PINNsformer
```

### Set Up the Runtime Environment


**DCU Environment**

```bash
# Activate DTK and Conda first
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# Installation with uv is also supported
pip install onescience[cfd-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

**GPU Environment**
```bash
# Activate Conda first
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
# Installation with uv is also supported
pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

### Training Data

To use real data, download it from the link below and set `data.data_dir` in `conf/config.yaml` to the correct path.

| Source | Link | Extraction Code | Destination |
|---|---|---|---|
| Baidu Netdisk | https://pan.baidu.com/s/1pM4ICc6FJX5pLF7WEoozxQ?pwd=5gha | `5gha` | `convection/convection.mat` and `navier_stokes/cylinder_nektar_wake.mat` |

### Training

```bash
python scripts/train.py
```
The default configuration uses a smaller grid and fewer L-BFGS iterations for rapid end-to-end validation. To restore the scale of the original example, edit `conf/config.yaml`:

```yaml
data:
  x_num: 101
  t_num: 101

training:
  epochs: 500
```

### Model Weights
This repository will provide PINNsFormer model weights in the `weights/` directory. The weights will be uploaded soon.

### Inference

```bash
python scripts/inference.py
```

Inference loads `weight/1dreaction_pinnsformer.pt` and saves:

```text
result/prediction.npz
```

### Evaluation and Visualization

```bash
python scripts/result.py
```

# Official OneScience Resources

| Platform | OneScience Repository | Skills Repository |
| --- | --- | --- |
| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |
| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |

# Citations and License

* Original PINNsformer paper: [PINNsFormer: A Transformer-Based Framework For Physics-Informed Neural Networks](https://arxiv.org/abs/2307.11833).
* This repository retains the relevant source and attribution notices. Follow all applicable license requirements when using, modifying, or distributing its contents.