这是一个求解PDE的模型集,包括8个微分方程的神经网络模型。
PDENNEval 对 8 种用于偏微分方程(PDE)的神经网络(NN)方法进行了全面和系统的评估,其中包括 2 种基于函数学习的神经网络方法: PINN, WAN 以及 6 种基于算子学习的神经网络方法: U-Net, MPNN, FNO, DeepONet, PINO, U-NO. 在这个代码库中,我们提供了所有评估方法的代码参考。
我们评估中使用的数据来自两个来源: PDEBench 和自生成的数据。
PDEBench 提供了涵盖广泛偏微分方程(PDE)的大规模数据集。可以从 DaRUS 数据库 下载这些数据集。我们工作中使用的数据文件如下:
使用SCNET-华中一区计算环境,可在「/public/share/sugonhpcapp01/onestore/onedatasets/PDENNEval」获取数据集
使用前需要
source ../../../env.sh| PDE | 文件名 | 文件大小 |
|---|---|---|
| 1D Advection | 1D_Advection_Sols_beta0.1.hdf5 | 7.7G |
| 1D Diffusion-Reaction | ReacDiff_Nu0.5_Rho1.0.hdf5 | 3.9G |
| 1D Burgers | 1D_Burgers_Sols_Nu0.001.hdf5 | 7.7G |
| 1D Diffusion-Sorption | 1D_diff-sorp_NA_NA.h5 | 4.0G |
| 1D Compressible NS | 1D_CFD_Rand_Eta0.1_Zeta0.1_periodic_Train.hdf5 | 12G |
| 2D Compressible NS | 2D_CFD_Rand_M0.1_Eta0.1_Zeta0.1_periodic_128_Train.hdf5 | 52G |
| 2D Darcy Flow | 2D_DarcyFlow_beta1.0_Train.hdf5 | 1.3G |
| 2D Shallow Water | 2D_rdb_NA_NA.h5 | 6.2G |
| 3D Compressible NS | 3D_CFD_Rand_M1.0_Eta1e-08_Zeta1e-08 _periodic_Train.hdf5 | 83G |
| PDE | 文件大小 | 下载链接 |
|---|---|---|
| 1D Allen-Cahn 方程 | 3.9G | 链接 |
| 1D Cahn-Hilliard 方程 | 3.9G | 链接 |
| 2D Allen-Cahn 方程 | 6.2G | 链接 |
| 2D Black-Scholes-Barenblatt 方程 | 6.2G | 链接 |
| 3D Euler 方程 | 83G | 链接 |
| 3D Maxwell 方程 | 5.9G | 链接 |
具体的代码保存在 src 目录下。各方法的相关代码文件和详细指南保存在以方法名命名的子目录中。
以DeepONet为例:
- 检查配置文件中的以下参数:
file_name和saved_folder路径是否正确;if_training是否为True;
- 设置训练超参数,如学习率、批大小等。可以使用我们提供的默认值;
- 运行命令:
CUDA_VISIBLE_DEVICES=0 python train.py ./configs/${config_filename}
# 示例:CUDA_VISIBLE_DEVICES=0 python train.py ./config/config_2D_Darcy_Flow.yamlPDENNEval: A Comprehensive Evaluation of Neural Network Methods for Solving PDEs