Skip to content

thuml/Neural-Solver-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

414482c · Apr 22, 2025

History

49 Commits
Apr 11, 2025
Apr 4, 2025
Apr 22, 2025
Apr 22, 2025
Mar 14, 2025
Apr 10, 2025
Apr 7, 2025
Apr 7, 2025
Feb 23, 2025
Apr 15, 2025
Apr 7, 2025
Apr 9, 2025

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