Skip to content

thuml/Neural-Solver-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogoNeural-Solver-Library (NeuralSolver)

NeuralSolver is an open-source library for deep learning researchers, especially for neural PDE solvers.

🚩News (2025.03) We release the NeuralSolver as a simple and neat code base for benchmarking neural PDE solvers, which is extended from our previous GitHub repository Transolver.

Features

This library currently supports the following benchmarks:



Figure 1. Examples of supported PDE-solving tasks.

Supported Neural Solvers

Here is the list of supported neural PDE solvers:

Some vision backbones can be good baselines for tasks in structured geometries:

  • Swin Transformer - Swin Transformer: Hierarchical Vision Transformer using Shifted Windows [ICCV 2021] [Code]
  • U-Net - U-Net: Convolutional Networks for Biomedical Image Segmentation [MICCAI 2015] [Code]

Some classical geometric deep models are also included for design tasks:

🌟 We have made a great effort to ensure good reproducibility, and are glad to claim that the official results of all the above methods can be completely reproduced (sometimes even better) by this library.

Usage

  1. Install Python 3.8. For convenience, execute the following command.
pip install -r requirements.txt
  1. Prepare Data
  2. Train and evaluate the model. We provide the experiment scripts for all benchmarks under the folder ./scripts/. You can reproduce the experiment results as follows:
bash ./scripts/StandardBench/airfoil/Transolver.sh
  1. Develop your own model.
  • Add the model file to the folder ./models. You can follow the ./models/Transolver.py.
  • Include the newly added model in the model_dict of ./models/model_factory.py.
  • Create the corresponding scripts under the folder ./scripts, where you can set hyperparameters following the provided scripts of other models.

Citation

If you find this repo useful, please cite our paper.

@inproceedings{wu2024Transolver,
  title={Transolver: A Fast Transformer Solver for PDEs on General Geometries},
  author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long},
  booktitle={International Conference on Machine Learning},
  year={2024}
}

Contact

If you have any questions or want to use the code, please contact our team or describe it in Issues.

Current maintenance team:

Acknowledgement

We appreciate the following GitHub repos a lot for their valuable code base or datasets:

https://github.com/thuml/Transolver

https://github.com/thuml/Latent-Spectral-Models

https://github.com/neuraloperator/neuraloperator

https://github.com/neuraloperator/Geo-FNO

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •