You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ The main changes are documented in the `README.md` under the [`torch_cfd` direct
12
12
- All ops take into consideration the batch dimension of tensors `(b, *, n, m)` regardless of `*` dimension, for example, `(b, T, C, n, n)`, which is similar to PyTorch behavior, not a single trajectory like Google's original Jax-CFD package.
13
13
14
14
### Part II: Spectral-Refiner: Neural Operator-Assisted Navier-Stokes Equations simulator.
15
-
- The **Spatiotemporal Fourier Neural Operator** (SFNO) is a spacetime tensor-to-tensor learner (or trajectory-to-trajectory), available in the [`sfno` directory](./sfno/). We draw inspiration from the [3D FNO in Nvidia's Neural Operator repo](https://github.com/neuraloperator/neuraloperator), as well as Temam's book on functional analysis for NSE. Major architectural changes can be found in [the documentation of the `SFNO` class](./sfno/sfno.py#L547).
15
+
- The **Spatiotemporal Fourier Neural Operator** (SFNO) is a spacetime tensor-to-tensor learner (or trajectory-to-trajectory), available in the [`fno` directory](./fno). Different components of FNO have been re-implemented keeping the conciseness of the original implementation while allowing modern expansions. We draw inspiration from the [3D FNO in Nvidia's Neural Operator repo](https://github.com/neuraloperator/neuraloperator), [Transformers-based neural operators](https://github.com/thuml/Neural-Solver-Library), as well as Temam's book on functional analysis for NSE. Major architectural changes can be found in [the documentation of the `SFNO` class](./fno/sfno.py#L485).
16
16
- Data generation for the meta-example of the isotropic turbulence in [McWilliams1984]. After the warmup phase, the energy spectra match the inverse cascade of Kolmogorov flow in a periodic box.
17
17
- Pipelines for the *a posteriori* error estimation to fine-tune the SFNO to reach the scientific computing level of accuracy ($\le 10^{-6}$) in Bochner norm using FLOPs on par with a single evaluation, and only a fraction of FLOPs of a single `.backward()`.
18
18
-[Examples](#examples) can be found below.
@@ -33,7 +33,7 @@ pip install -r requirements.txt
33
33
34
34
## Data
35
35
The data are available at [https://huggingface.co/datasets/scaomath/navier-stokes-dataset](https://huggingface.co/datasets/scaomath/navier-stokes-dataset).
36
-
Data generation instructions are available in the [SFNO folder](./sfno/).
36
+
Data generation instructions are available in the [SFNO folder](./fno).
37
37
38
38
39
39
## Examples
@@ -75,4 +75,4 @@ If you like to use `torch-cfd` please use the following [paper](https://arxiv.or
75
75
I am grateful for the support from [Long Chen (UC Irvine)](https://github.com/lyc102/ifem) and
76
76
[Ludmil Zikatanov (Penn State)](https://github.com/HAZmathTeam/hazmath) over the years, and their efforts in open-sourcing scientific computing codes. I also appreciate the support from the National Science Foundation (NSF) to junior researchers. I also want to thank the free A6000 credits at the SSE ML cluster from the University of Missouri.
77
77
78
-
For individual paper's acknowledgement please see [here](./sfno/README.md).
78
+
For individual paper's acknowledgement please see [here](./fno/README.md).
Copy file name to clipboardExpand all lines: fno/README.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
-
# Spatiotemporal Fourier Neural Operator
1
+
# Spatiotemporal Fourier Neural Operator (SFNO)
2
+
This is a new concise implementation of the Fourier Neural Operator see [`base.py`](./base.py#L172) for a template class.
2
3
3
4
## Learning maps between Bochner spaces
4
5
SFNO now can learn a `trajectory-to-trajectory` map that inputs arbitrary-length trajectory, and outputs arbitrary-lengthed trajectory (if length is not specified, then the output length is the same with the input).
@@ -37,6 +38,13 @@ Generate the isotropic turbulence in [1] with the inverse cascade frequency sign
37
38
38
39
## Training and evaluation scripts
39
40
41
+
42
+
### Testing the arbitrary input and output discretization sizes (including time)
43
+
Run the part below `__name__ == "__main__"` in [`sfno.py`](sfno.py)
0 commit comments