File size: 4,673 Bytes
911bf32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
frameworks:
  - pytorch
language:
  - en
license: apache-2.0
tags:
  - OneScience
  - GFNO
  - neural-operator
  - group-equivariance
  - Fourier-neural-operator
  - Navier-Stokes
tasks:
  - time-series-prediction
---
<p align="center">
  <strong>
    <span style="font-size: 30px;">GFNO</span>
  </strong>
</p>

# Model Overview

GFNO (Group Equivariant Fourier Neural Operator) is a Fourier neural operator augmented with group-equivariant structure for learning physical systems with geometric symmetries. This model predicts Navier–Stokes time series on a two-dimensional regular grid. By default, it uses the C4 rotation group and the first 10 time steps to predict the subsequent 10.

Paper: Group Equivariant Fourier Neural Operators for Partial Differential Equations  
https://openreview.net/forum?id=kgAOY5x4fi

# Model Description

GFNO adds group-equivariant weight sharing to the spectral convolutions of a Fourier Neural Operator, producing consistent responses under rotations or reflections and making more effective use of geometric symmetries in Navier–Stokes flow fields. The model supports the C4 rotation group and D4 dihedral group and performs multistep flow prediction autoregressively.

# Use Cases

| Use Case | Description |
| :---: | :--- |
| Flow-field time-series prediction | Predict future Navier–Stokes states from historical vorticity fields |
| Geometric-equivariance research | Compare a standard FNO with C4- and D4-equivariant operators |
| CFD surrogate modeling | Learn mappings from historical to future physical fields on regular grids |
| Pipeline validation | Validate model training, inference, and result visualization with a small-scale configuration |

# 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 GPU or DCU is recommended for training and inference.
- A CPU can be used for small-scale pipeline validation, but full training will be slow.
- DCU users must install DTK and a PyTorch environment compatible with the target cluster.

### Download the Model Package

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

### Set Up the Runtime Environment

**DCU Environment**

```bash
# Activate DTK and Conda 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
```

**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
pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
```

### Training Data

The model uses the standard Navier–Stokes dataset `NavierStokes_V1e-5_N1200_T20.mat`, in which the data variable `u` has shape `[1200, 64, 64, 20]`. Download the data with the following command and verify that the data path in `conf/config.yaml` is configured correctly:

```bash
modelscope download --dataset OneScience/cfd_benchmark data/ns/NavierStokes_V1e-5_N1200_T20.mat --local_dir ./data
```

### Training

```bash
python scripts/train.py
```

The default weights are saved to `weight/gfno_navier_stokes.pt`.

### Model Weights

This repository provides weights trained on the standard Navier–Stokes dataset in the `weight/` directory.

### Inference, Evaluation, and Visualization

After training, run:

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

The script loads `weight/gfno_navier_stokes.pt` by default. Predicted tensors and visualizations are saved to the `result/` directory. Training and inference parameters can be modified in `conf/config.yaml`.

# 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

- Romero, D. W., Bekkers, E. J., Tomczak, J. M., and Hoogendoorn, M. Group Equivariant Fourier Neural Operators for Partial Differential Equations.
- Li, Z. et al. Fourier Neural Operator for Parametric Partial Differential Equations. arXiv:2010.08895, 2020.
- This model package is released under the Apache-2.0 license and retains attribution to the original paper and data sources.