Neural Solver Library
A Library for Advanced Neural PDE Solvers.
NeuralSolver is an open-source library for deep learning researchers, especially for neural PDE solvers. The project is written primarily in Python, distributed under the MIT License license, first published in 2025. Key topics include: deep-learning, neural-operators, pde-solver.
<img src=".\pic\logo.png" alt="Logo" width="30" style="vertical-align: middle;">Neural-Solver-Library (NeuralSolver)
NeuralSolver is an open-source library for deep learning researchers, especially for neural PDE solvers.
:triangular_flag_on_post:News (2025.10) We propose FlashBias (NeurIPS 2025) to support fast computation of scientific models. With FlashBias, it is easy to introduce a learnable spatial distance bias into the Transformer for better geometry learning. Check the Transformer_Spatial_Bias model for details. Welcome to try FlashBias and implement your own scientific bias.
:triangular_flag_on_post: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:
- Six Standard Benchmarks from [FNO] and [geo-FNO]
- PDEBench [NeurIPS 2022 Track Datasets and Benchmarks] for benchmarking autoregressive tasks
- ShapeNet-Car from [TOG 2018] for benchmarking industrial design tasks
Supported Neural Solvers
Here is the list of supported neural PDE solvers:
- Transolver - Transolver: A Fast Transformer Solver for PDEs on General Geometries [ICML 2024] [Code]
- UPT - Universal Physics Transformers: A Framework For Efficiently Scaling Neural Operators [NeurIPS 2024] [Code]
- ONO - Improved Operator Learning by Orthogonal Attention [ICML 2024] [Code]
- Factformer - Scalable Transformer for PDE Surrogate Modeling [NeurIPS 2023] [Code]
- U-NO - U-NO: U-shaped Neural Operators [TMLR 2023] [Code]
- LSM - Solving High-Dimensional PDEs with Latent Spectral Models [ICML 2023] [Code]
- GNOT - GNOT: A General Neural Operator Transformer for Operator Learning [ICML 2023] [Code]
- F-FNO - Factorized Fourier Neural Operators [ICLR 2023] [Code]
- U-FNO - An enhanced Fourier neural operator-based deep-learning model for multiphase flow [Advances in Water Resources 2022] [Code]
- Galerkin Transformer - Choose a Transformer: Fourier or Galerkin [NeurIPS 2021] [Code]
- MWT - Multiwavelet-based Operator Learning for Differential Equations [NeurIPS 2021] [Code]
- FNO - Fourier Neural Operator for Parametric Partial Differential Equations [ICLR 2021] [Code]
- Transformer - Attention Is All You Need [NeurIPS 2017] [Code]
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:
- Graph-UNet - Graph U-Nets [ICML 2019] [Code]
- GraphSAGE - Inductive Representation Learning on Large Graphs [NeurIPS 2017] [Code]
- PointNet - PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation [CVPR 2017] [Code]
š 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
- Install Python 3.8. For convenience, execute the following command.
bashpip install -r requirements.txt
- Prepare Data. You can obtain the data from our previous repository here.
- 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:
bashbash ./scripts/StandardBench/airfoil/Transolver.sh
- 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_dictof./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:
- Haixu Wu (Ph.D., wuhaixu98@gmail.com)
- Yuanxu Sun (Master student, sunyuanx22@mails.tsinghua.edu.cn)
- Hang Zhou (Ph.D. student, zhou-h23@mails.tsinghua.edu.cn)
- Yuezhou Ma (Ph.D. student, mayz24@mails.tsinghua.edu.cn)
- Haonan Shangguan (Ph.D. student, sghn25@mails.tsinghua.edu.cn)
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
Contributors
Showing top 5 contributors by commit count.
