# PaddleScience
<!-- --8<-- [start:status] -->
> *Developed with [PaddlePaddle](https://www.paddlepaddle.org.cn/)*
[![Version](https://img.shields.io/pypi/v/paddlesci)](https://pypi.org/project/paddlesci/)
[![Python Version](https://img.shields.io/pypi/pyversions/paddlesci)](https://pypi.org/project/paddlesci/)
[![Doc](https://img.shields.io/readthedocs/paddlescience-docs/release-1.2)](https://paddlescience-docs.readthedocs.io/zh/release-1.2/)
[![Code Style](https://img.shields.io/badge/code_style-black-black)](https://github.com/psf/black)
[![Hydra](https://img.shields.io/badge/config-hydra-89b8cd)](https://hydra.cc/)
[![License](https://img.shields.io/github/license/PaddlePaddle/PaddleScience)](https://github.com/PaddlePaddle/PaddleScience/blob/develop/LICENSE)
<!-- --8<-- [end:status] -->
[**PaddleScience使用文档**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/)
<!-- --8<-- [start:description] -->
## 👀简介
PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计算套件,利用深度神经网络的学习能力和 PaddlePaddle 框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础 API 和详尽文档供用户使用与二次开发。
<!-- --8<-- [end:description] -->
## 📝案例列表
<p align="center"><b>数学(AI for Math)</b></p>
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
|-----|---------|-----|---------|----|---------|---------|
| 微分方程 | [拉普拉斯方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/laplace2d) | 机理驱动 | MLP | 无监督学习 | - | - |
| 微分方程 | [伯格斯方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deephpms) | 机理驱动 | MLP | 无监督学习 | [Data](https://github.com/maziarraissi/DeepHPMs/tree/master/Data) | [Paper](https://arxiv.org/pdf/1801.06637.pdf) |</center>
| 微分方程 | [非线性偏微分方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/pirbn) | 机理驱动 | PIRBN | 无监督学习 | - | [Paper](https://arxiv.org/abs/2304.06234) |
| 微分方程 | [洛伦兹方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/lorenz) | 数据驱动 | Transformer-Physx | 监督学习 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957) |
| 微分方程 | [若斯叻方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/rossler) | 数据驱动 | Transformer-Physx | 监督学习 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957) |
| 算子学习 | [DeepONet](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deeponet) | 数据驱动 | MLP | 监督学习 | [Data](https://deepxde.readthedocs.io/en/latest/demos/operator/antiderivative_unaligned.html) | [Paper](https://export.arxiv.org/pdf/1910.03193.pdf) |
| 微分方程 | 梯度增强的物理知识融合PDE求解<sup>coming soon</sup> | 机理驱动 | gPINN | 半监督学习 | - | [Paper](https://www.sciencedirect.com/science/article/abs/pii/S0045782522001438?via%3Dihub) |
| 积分方程 | [沃尔泰拉积分方程](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/volterra_ide) | 机理驱动 | MLP | 无监督学习 | - | [Project](https://github.com/lululxvi/deepxde/blob/master/examples/pinn_forward/Volterra_IDE.py) |
<br>
<p align="center"><b>技术科学(AI for Technology)</b></p>
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
|-----|---------|-----|---------|----|---------|---------|
| 定常不可压流体 | [2D 定常方腔流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/ldc2d_steady) | 机理驱动 | MLP | 无监督学习 | - | |
| 定常不可压流体 | [2D 达西流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/darcy2d) | 机理驱动 | MLP | 无监督学习 | - | |
| 定常不可压流体 | [2D 管道流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/labelfree_DNN_surrogate) | 机理驱动 | MLP | 无监督学习 | - | [Paper](https://arxiv.org/abs/1906.02382) |
| 定常不可压流体 | [3D 血管瘤](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/aneurysm) | 机理驱动 | MLP | 无监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/aneurysm/aneurysm_dataset.tar) | [Project](https://docs.nvidia.com/deeplearning/modulus/modulus-v2209/user_guide/intermediate/adding_stl_files.html)|
| 定常不可压流体 | [任意 2D 几何体绕流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deepcfd) | 数据驱动 | DeepCFD | 监督学习 | - | [Paper](https://arxiv.org/abs/2004.08826)|
| 非定常不可压流体 | [2D 非定常方腔流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/ldc2d_unsteady) | 机理驱动 | MLP | 无监督学习 | - | - |
| 非定常不可压流体 | [Re100 2D 圆柱绕流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cylinder2d_unsteady) | 机理驱动 | MLP | 半监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/cylinder2d_unsteady_Re100/cylinder2d_unsteady_Re100_dataset.tar) | [Paper](https://arxiv.org/abs/2004.08826)|
| 非定常不可压流体 | [Re100~750 2D 圆柱绕流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cylinder2d_unsteady_transformer_physx) | 数据驱动 | Transformer-Physx | 监督学习 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957)|
| 可压缩流体 | [2D 空气激波](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/shock_wave) | 机理驱动 | PINN-WE | 无监督学习 | - | [Paper](https://arxiv.org/abs/2206.03864)|
| 飞行器设计 | [MeshGraphNets](https://aistudio.baidu.com/projectdetail/5322713) | 数据驱动 | GNN | 监督学习 | [Data](https://aistudio.baidu.com/datasetdetail/184320) | [Paper](https://arxiv.org/abs/2010.03409)|
| 飞行器设计 | [火箭发动机真空羽流](https://aistudio.baidu.com/projectdetail/4486133) | 数据驱动 | CNN | 监督学习 | [Data](https://aistudio.baidu.com/datasetdetail/167250) | - |
| 飞行器设计 | [Deep-Flow-Prediction](https://aistudio.baidu.com/projectdetail/5671596) | 数据驱动 | TurbNetG | 监督学习 | [Data](https://aistudio.baidu.com/datasetdetail/197778) | [Paper](https://arxiv.org/abs/1810.08217) |
| 流固耦合 | [涡激振动](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/viv) | 机理驱动 | MLP | 半监督学习 | [Data](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/fsi/VIV_Training_Neta100.mat) | [Paper](https://arxiv.org/abs/2206.03864)|
| 多相流 | [气液两相流](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/bubble) | 机理驱动 | BubbleNet | 半监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/BubbleNet/bubble.mat) | [Paper](https://pubs.aip.org/aip/adv/article/12/3/035153/2819394/Predicting-micro-bubble-dynamics-with-semi-physics)|
| 多相流 | [twophasePINN](https://aistudio.baidu.com/projectdetail/5379212) | 机理驱动 | MLP | 无监督学习 | - | [Paper](https://doi.org/10.1016/j.mlwa.2021.100029)|
| 多相流 | 非高斯渗透率场估计<sup>coming soon</sup> | 机理驱动 | cINN | 监督学习 | - | [Paper](https://pubs.aip.org/aip/adv/article/12/3/035153/2819394/Predicting-micro-bubble-dynamics-with-semi-physics)|
| 流场高分辨率重构 | [2D 湍流流场重构](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/tempoGAN) | 数据驱动 | tempoGAN | 监督学习 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_valid.mat) | [Paper](https://dl.acm.org/doi/10.1145/3197517.3201304)|
| 流场高分辨率重构 | [2D 湍流流场重构](https://aistudio.baidu.com/projectdetail/4493261?contributionType=1) | 数据驱动 | cycleGAN | 监督学习 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_valid.mat) | [Paper](https://arxiv.org/abs/2007.15324)|
| 流场高分辨率重构 | [基于Voronoi嵌入辅助深度学习的稀疏传感器全局场重建](https://aistudio.baidu.com/projectdetail/5807904) | 数据驱动 | CNN | 监督学习 | [Data1](https://drive.google.com/drive/folders/1K7upSyHAIVtsyNAqe6P8TY1nS5WpxJ2c)<br>[Data2](https://drive.google.com/drive/folders/1pVW4epkeHkT2WHZB7Dym5IURcfOP4cXu)<br>[Data3](https://drive.google.com/drive/folders/1xIY_jIu-hNcRY-TTf4oYX1Xg4_fx8ZvD) | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |
| 流场高分辨率重构 | 基于扩散的流体超分重构<sup>coming soon</sup> | 数理融合 | DDPM | 监督学习 | - | [Paper](https://www.sciencedirect.com/science/article/pii/S0021999123000670)|
| 求解器耦合 | [CFD-GCN](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cfdgcn) | 数据驱动 | GCN | 监督学习 | [Data](https://aistudio.baidu.com/aistudio/datasetdetail/184778)<br>[Mesh](https://paddle-org.bj.bcebos.com/paddlescience/datasets/CFDGCN/meshes.tar) | [Paper](https://arxiv.org/abs/2007.04439)|
| 受力分析 | [1D 欧拉梁变形](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/euler_beam/euler_beam.py) | 机理驱动 | MLP | 无监督学习 | - | - |
| 受力分析 | [2D 平板变形](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/biharmonic2d) | 机理驱动 | MLP | 无监督学习 | - | [Paper](https://arxiv.org/abs/2108.07243) |
| 受力分析 | [3D 连接件变形](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/bracket) | 机理驱动 | MLP | 无监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/bracket/bracket_dataset.tar) | [Tutorial](https://docs.nvidia.com/deeplearning/modulus/modulus-v2209/user_guide/foundational/linear_elasticity.html) |
| 受力分析 | [结构震动模拟](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/phylstm) | 机理驱动 | PhyLSTM | 监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/PhyLSTM/data_boucwen.mat) | [Paper](https://arxiv.org/abs/2002.10253) |
| 受力分析 | [2D 弹塑性结构](https://paddlescience-docs.readthedocs.io/zh/examples/epnn.md) | 机理驱动 | EPNN | 无监督学习 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/epnn/dstate-16-plas.dat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/epnn/dstress-16-plas.dat) | [Paper](https://arxiv.org/abs/2204.12088) |
| 拓扑优化 | [2D 拓扑优化](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/topopt.md) | 数据驱动 | TopOptNN | 监督学习 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/topopt/top_dataset.h5) | [Paper](https://arxiv.org/pdf/1709.09578) |
<br>
<p align="center"><b>材料科学(AI for Material)</b></p>
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
|-----|---------|-----|---------|----|---------|---------|
| 材料设计 | [散射板设计(反问题)](./zh/examples/hpinns.md) | 数理融合 | 数据驱动 | 监督学习 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/hPINNs/hpinns_holo_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/hPINNs/hpinns_holo_valid.mat) | [Paper](https://arxiv.org/pdf/2102.04626.pdf) |
| 材料生成 | 面向对称感知的周期性材料生成<sup>coming soon</sup> | 数据驱动 | SyMat | 监督学习 | - | - |
<br>
<p align="center"><b>地球科学(AI for Earth Science)</b></p>
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
|-----|---------|-----|---------|----|---------|---------|
| 天气预报 | [FourCastNet 气象预报](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/fourcastnet) | 数据驱动 | FourCastNet | 监督学习 | [ERA5](https://app.globus.org/file-manager?origin_id=945b3c9e-0f8c-11ed-8daf-9f359c660fbd&origin_path=%2F~%2Fdata%2F) | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |
| 天气预报 | GraphCast 气象预报<sup>coming soon</sup> | 数据驱动 | GraphCastNet* | 监督学习 | - | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |
| 大气污染物 | [UNet 污染物扩散](https://aistudio.baidu.com/projectdetail/5663515?channel=0&channelType=0&sUid=438690&shared=1&ts=1698221963752) | 数据驱动 | UNet | 监督学习 | [Data](https://aistudio.baidu.com/datasetdetail/198102) | - |
<!-- --8<-- [start:update] -->
## 🕘最近更新
- 添加二维血管案例([LabelFree-DNN-Surrogate](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/labelfree_DNN_surrogate/#4))、空气激波案例([ShockWave](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/shock_wave/))、去噪网络模型([DUCNN](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/DU_CNN))、风电预测模型([Deep Spatial Temporal](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/Deep-Spatio-Temporal))、域分解模型([XPINNs](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/XPINNs))、积分方程求解案例([Volterra Equation](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/volterra_ide/))、分数阶方程求解案例([Fractional Poisson 2D](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/fpde/fractional_poisson_2d.py))。
- 针对串联方程和复杂方程场景,`Equation` 模块支持基于 [sympy](https://docs.sympy.org/dev/tutorials/intro-tutorial/intro.html) 的符号计算,并支持和 python 函数混合使用([#507](https://github.com/PaddlePaddle/PaddleScience/pull/507)、[#505](https://github.com/PaddlePaddle/PaddleScience/pull/505))。
- `Geometry` 模块和 `InteriorConstraint`、`InitialConstraint` 支持计算 SDF 微分功能([#539](https://github.com/PaddlePaddle/PaddleScience/pull/539))。
- 添加 **M**ulti**T**ask**L**earning(`ppsci.loss.mtl`) 多任务学习模块,针对多任务优化(如 PINN 方法)进一步提升性能,使用方式:[多任务学习指南](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/user_guide/#24)([#493](https://github.com/PaddlePaddle/PaddleScience/pull/505)、[#492](https://github.com/PaddlePaddle/PaddleScience/pull/505))。
<!-- --8<-- [end:update] -->
<!-- --8<-- [start:feature] -->
## ✨特性
- 支持简单几何和复杂 STL 几何的采样与布尔运算。
- 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。
- 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 20+ 案例。
- 支持结果可视化输出与日志结构化保存。
- 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。
- 支持基于 sympy 符号计算库的方程表示。
- 更多特性正在开发中...
<!-- --8<-- [end:feature] -->
## 🚀安装使用
### 安装 PaddlePaddle
<!-- --8<-- [start:paddle_install] -->
请在 [PaddlePaddle](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html) 官网按照您的运行环境,安装 <font color="red"><b>develop</b></font> 版的 PaddlePaddle。
安装完毕之后,运行以下命令,验证 Paddle 是否安装成功。
``` shell
python -c "import paddle; paddle.utils.run_check()"
```
如果出现 `PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.` 信息,说明您已成功安装,可以继续安装 PaddleScience。
<!-- --8<-- [end:paddle_install] -->
### 安装 PaddleScience
1. 执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。
<!-- --8<-- [start:git_install] -->
``` shell
git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git
# 若 github clone 速度比较慢,可以使用 gitee clone
# git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.git
cd PaddleScience
# windows 用户安装前请执行如下命令,否则可能因为gbk编码问题导致安装失败
set PYTHONUTF8=1
# install paddlesci with editable mode
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
```
<!-- --8<-- [end:git_install] -->
2. 验证安装
``` py
python -c "import ppsci; ppsci.utils.run_check()"
```
3. 开始使用
``` py
import ppsci
# write your code here...
```
如需读取复杂几何文件,并进行解析、采样等操作,请参考完整安装流程:[**安装与使用**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/)
## ⚡️快速开始
请参考 [**快速开始**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/quickstart/)
<!-- --8<-- [start:support] -->
## 💬支持与建议
如使用过程中遇到问题或想提出开发建议,欢迎在 [**Discussion**](https://github.com/PaddlePaddle/PaddleScience/discussions/new?category=general) 提出建议,或者在 [**Issue**](https://github.com/PaddlePaddle/PaddleScience/issues/new/choose) 页面新建 issue,会有专业的研发人员进行解答。
<!-- --8<-- [end:support] -->
<!-- --8<-- [start:contribution] -->
## 👫开源共建
PaddleScience 项目欢迎并依赖开发人员和开源社区中的用户,会不定期推出开源活动。
> 在开源活动中如需使用 PaddleScience 进行开发,可参考 [**PaddleScience 开发与贡献指南**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/development/) 以提升开发效率和质量。
- 🎁快乐开源
旨在鼓励更多的开发者参与到飞桨科学计算社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。了解编程基本知识的入门用户即可参与,活动进行中:
[PaddleScience 快乐开源活动表单](https://github.com/PaddlePaddle/PaddleScience/issues/379)
- 🔥第五期黑客松
面向全球开发者的深度学习领域编程活动,鼓励开发者了解与参与飞桨深度学习开源项目与文心大模型开发实践。活动进行中:[【PaddlePaddle Hackathon 5th】开源贡献个人挑战赛](https://github.com/PaddlePaddle/community/blob/master/hackathon/hackathon_5th/%E3%80%90PaddlePaddle%20Hackathon%205th%E3%80%91%E5%BC%80%E6%BA%90%E8%B4%A1%E7%8C%AE%E4%B8%AA%E4%BA%BA%E6%8C%91%E6%88%98%E8%B5%9B%E7%A7%91%E5%AD%A6%E8%AE%A1%E7%AE%97%E4%BB%BB%E5%8A%A1%E5%90%88%E9%9B%86.md#%E4%BB%BB%E5%8A%A1%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E4%B8%8E%E9%AA%8C%E6%94%B6%E6%A0%87%E5%87%86)
<!-- --8<-- [end:contribution] -->
<!-- --8<-- [start:collaboration] -->
## 🎯共创计划
PaddleScience 作为一个开源项目,欢迎来各行各业的伙伴携手共建基于飞桨的 AI for Science 领域顶尖开源项目, 打造活跃的前瞻性的 AI for Science 开源社区,建立产学研闭环,推动科研创新与产业赋能。点击了解 [飞桨AI for Science共创计划](https://www.paddlepaddle.org.cn/science)。
<!-- --8<-- [end:collaboration] -->
<!-- --8<-- [start:thanks] -->
## ❤️致谢
- PaddleScience 的部分模块和案例设计受 [NVIDIA-Modulus](https://github.com/NVIDIA/modulus/tree/main)、[DeepXDE](https://github.com/lululxvi/deepxde/tree/master)、[PaddleNLP](https://github.com/PaddlePaddle/PaddleNLP/tree/develop)、[PaddleClas](https://github.com/PaddlePaddle/PaddleClas/tree/develop) 等优秀开源套件的启发。
<!-- --8<-- [end:thanks] -->
- PaddleScience 的部分案例和代码由以下优秀社区开发者贡献(按 [Contributors](https://github.com/PaddlePaddle/PaddleScience/graphs/contributors) 排序):
[Asthestarsfalll](https://github.com/Asthestarsfalll),
[co63oc](https://github.com/co63oc),
[MayYouBeProsperous](https://github.com/MayYouBeProsperous),
[AndPuQing](https://github.com/AndPuQing),
[lknt](https://github.com/lknt),
[yangguohao](https://github.com/yangguohao),
[mrcangye](https://github.com/mrcangye),
[jjyaoao](https://github.com/jjyaoao),
[jiamingkong](https://github.com/jiamingkong),
[Liyulingyue](https://github.com/Liyulingyue),
[DrRyanHuang](https://github.com/DrRyanHuang),
[zbt78](https://github.com/zbt78),
[Gxinhu](https://github.com/Gxinhu),
[XYM](https://github.com/XYM),
[xusuyong](https://github.com/xusuyong),
[NKNaN](https://github.com/NKNaN),
[ruoyunbai](https://github.com/ruoyunbai),
[sanbuphy](https://github.com/sanbuphy),
[ccsuzzh](https://github.com/ccsuzzh),
[enkilee](https://github.com/enkilee),
[GreatV](https://github.com/GreatV)
## 🤝合作单位
![cooperation](./docs/images/overview/cooperation.png)
<!-- --8<-- [start:license] -->
## 📜证书
[Apache License 2.0](https://github.com/PaddlePaddle/PaddleScience/blob/develop/LICENSE)
<!-- --8<-- [end:license] -->
Raw data
{
"_id": null,
"home_page": "https://github.com/PaddlePaddle/PaddleScience",
"name": "paddlesci",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "Machine learning,Deep learning,Differential equations,AI4Science,Physics-informed neural networks,PaddlePaddle",
"author": "PaddlePaddle",
"author_email": "",
"download_url": "",
"platform": null,
"description": "# PaddleScience\n\n<!-- --8<-- [start:status] -->\n> *Developed with [PaddlePaddle](https://www.paddlepaddle.org.cn/)*\n\n[![Version](https://img.shields.io/pypi/v/paddlesci)](https://pypi.org/project/paddlesci/)\n[![Python Version](https://img.shields.io/pypi/pyversions/paddlesci)](https://pypi.org/project/paddlesci/)\n[![Doc](https://img.shields.io/readthedocs/paddlescience-docs/release-1.2)](https://paddlescience-docs.readthedocs.io/zh/release-1.2/)\n[![Code Style](https://img.shields.io/badge/code_style-black-black)](https://github.com/psf/black)\n[![Hydra](https://img.shields.io/badge/config-hydra-89b8cd)](https://hydra.cc/)\n[![License](https://img.shields.io/github/license/PaddlePaddle/PaddleScience)](https://github.com/PaddlePaddle/PaddleScience/blob/develop/LICENSE)\n<!-- --8<-- [end:status] -->\n\n[**PaddleScience\u4f7f\u7528\u6587\u6863**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/)\n\n<!-- --8<-- [start:description] -->\n## \ud83d\udc40\u7b80\u4ecb\n\nPaddleScience \u662f\u4e00\u4e2a\u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PaddlePaddle \u5f00\u53d1\u7684\u79d1\u5b66\u8ba1\u7b97\u5957\u4ef6\uff0c\u5229\u7528\u6df1\u5ea6\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u4e60\u80fd\u529b\u548c PaddlePaddle \u6846\u67b6\u7684\u81ea\u52a8(\u9ad8\u9636)\u5fae\u5206\u673a\u5236\uff0c\u89e3\u51b3\u7269\u7406\u3001\u5316\u5b66\u3001\u6c14\u8c61\u7b49\u9886\u57df\u7684\u95ee\u9898\u3002\u652f\u6301\u7269\u7406\u673a\u7406\u9a71\u52a8\u3001\u6570\u636e\u9a71\u52a8\u3001\u6570\u7406\u878d\u5408\u4e09\u79cd\u6c42\u89e3\u65b9\u5f0f\uff0c\u5e76\u63d0\u4f9b\u4e86\u57fa\u7840 API \u548c\u8be6\u5c3d\u6587\u6863\u4f9b\u7528\u6237\u4f7f\u7528\u4e0e\u4e8c\u6b21\u5f00\u53d1\u3002\n<!-- --8<-- [end:description] -->\n\n## \ud83d\udcdd\u6848\u4f8b\u5217\u8868\n\n<p align=\"center\"><b>\u6570\u5b66(AI for Math)</b></p>\n\n| \u95ee\u9898\u7c7b\u578b | \u6848\u4f8b\u540d\u79f0 | \u4f18\u5316\u7b97\u6cd5 | \u6a21\u578b\u7c7b\u578b | \u8bad\u7ec3\u65b9\u5f0f | \u6570\u636e\u96c6 | \u53c2\u8003\u8d44\u6599 |\n|-----|---------|-----|---------|----|---------|---------|\n| \u5fae\u5206\u65b9\u7a0b | [\u62c9\u666e\u62c9\u65af\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/laplace2d) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | - |\n| \u5fae\u5206\u65b9\u7a0b | [\u4f2f\u683c\u65af\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deephpms) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | [Data](https://github.com/maziarraissi/DeepHPMs/tree/master/Data) | [Paper](https://arxiv.org/pdf/1801.06637.pdf) |</center>\n| \u5fae\u5206\u65b9\u7a0b | [\u975e\u7ebf\u6027\u504f\u5fae\u5206\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/pirbn) | \u673a\u7406\u9a71\u52a8 | PIRBN | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/abs/2304.06234) |\n| \u5fae\u5206\u65b9\u7a0b | [\u6d1b\u4f26\u5179\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/lorenz) | \u6570\u636e\u9a71\u52a8 | Transformer-Physx | \u76d1\u7763\u5b66\u4e60 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957) |\n| \u5fae\u5206\u65b9\u7a0b | [\u82e5\u65af\u53fb\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/rossler) | \u6570\u636e\u9a71\u52a8 | Transformer-Physx | \u76d1\u7763\u5b66\u4e60 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957) |\n| \u7b97\u5b50\u5b66\u4e60 | [DeepONet](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deeponet) | \u6570\u636e\u9a71\u52a8 | MLP | \u76d1\u7763\u5b66\u4e60 | [Data](https://deepxde.readthedocs.io/en/latest/demos/operator/antiderivative_unaligned.html) | [Paper](https://export.arxiv.org/pdf/1910.03193.pdf) |\n| \u5fae\u5206\u65b9\u7a0b | \u68af\u5ea6\u589e\u5f3a\u7684\u7269\u7406\u77e5\u8bc6\u878d\u5408PDE\u6c42\u89e3<sup>coming soon</sup> | \u673a\u7406\u9a71\u52a8 | gPINN | \u534a\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://www.sciencedirect.com/science/article/abs/pii/S0045782522001438?via%3Dihub) |\n| \u79ef\u5206\u65b9\u7a0b | [\u6c83\u5c14\u6cf0\u62c9\u79ef\u5206\u65b9\u7a0b](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/volterra_ide) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Project](https://github.com/lululxvi/deepxde/blob/master/examples/pinn_forward/Volterra_IDE.py) |\n\n<br>\n<p align=\"center\"><b>\u6280\u672f\u79d1\u5b66(AI for Technology)</b></p>\n\n| \u95ee\u9898\u7c7b\u578b | \u6848\u4f8b\u540d\u79f0 | \u4f18\u5316\u7b97\u6cd5 | \u6a21\u578b\u7c7b\u578b | \u8bad\u7ec3\u65b9\u5f0f | \u6570\u636e\u96c6 | \u53c2\u8003\u8d44\u6599 |\n|-----|---------|-----|---------|----|---------|---------|\n| \u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [2D \u5b9a\u5e38\u65b9\u8154\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/ldc2d_steady) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | |\n| \u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [2D \u8fbe\u897f\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/darcy2d) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | |\n| \u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [2D \u7ba1\u9053\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/labelfree_DNN_surrogate) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/abs/1906.02382) |\n| \u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [3D \u8840\u7ba1\u7624](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/aneurysm) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/aneurysm/aneurysm_dataset.tar) | [Project](https://docs.nvidia.com/deeplearning/modulus/modulus-v2209/user_guide/intermediate/adding_stl_files.html)|\n| \u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [\u4efb\u610f 2D \u51e0\u4f55\u4f53\u7ed5\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/deepcfd) | \u6570\u636e\u9a71\u52a8 | DeepCFD | \u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/abs/2004.08826)|\n| \u975e\u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [2D \u975e\u5b9a\u5e38\u65b9\u8154\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/ldc2d_unsteady) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | - |\n| \u975e\u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [Re100 2D \u5706\u67f1\u7ed5\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cylinder2d_unsteady) | \u673a\u7406\u9a71\u52a8 | MLP | \u534a\u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/cylinder2d_unsteady_Re100/cylinder2d_unsteady_Re100_dataset.tar) | [Paper](https://arxiv.org/abs/2004.08826)|\n| \u975e\u5b9a\u5e38\u4e0d\u53ef\u538b\u6d41\u4f53 | [Re100~750 2D \u5706\u67f1\u7ed5\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cylinder2d_unsteady_transformer_physx) | \u6570\u636e\u9a71\u52a8 | Transformer-Physx | \u76d1\u7763\u5b66\u4e60 | [Data](https://github.com/zabaras/transformer-physx) | [Paper](https://arxiv.org/abs/2010.03957)|\n| \u53ef\u538b\u7f29\u6d41\u4f53 | [2D \u7a7a\u6c14\u6fc0\u6ce2](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/shock_wave) | \u673a\u7406\u9a71\u52a8 | PINN-WE | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/abs/2206.03864)|\n| \u98de\u884c\u5668\u8bbe\u8ba1 | [MeshGraphNets](https://aistudio.baidu.com/projectdetail/5322713) | \u6570\u636e\u9a71\u52a8 | GNN | \u76d1\u7763\u5b66\u4e60 | [Data](https://aistudio.baidu.com/datasetdetail/184320) | [Paper](https://arxiv.org/abs/2010.03409)|\n| \u98de\u884c\u5668\u8bbe\u8ba1 | [\u706b\u7bad\u53d1\u52a8\u673a\u771f\u7a7a\u7fbd\u6d41](https://aistudio.baidu.com/projectdetail/4486133) | \u6570\u636e\u9a71\u52a8 | CNN | \u76d1\u7763\u5b66\u4e60 | [Data](https://aistudio.baidu.com/datasetdetail/167250) | - |\n| \u98de\u884c\u5668\u8bbe\u8ba1 | [Deep-Flow-Prediction](https://aistudio.baidu.com/projectdetail/5671596) | \u6570\u636e\u9a71\u52a8 | TurbNetG | \u76d1\u7763\u5b66\u4e60 | [Data](https://aistudio.baidu.com/datasetdetail/197778) | [Paper](https://arxiv.org/abs/1810.08217) |\n| \u6d41\u56fa\u8026\u5408 | [\u6da1\u6fc0\u632f\u52a8](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/viv) | \u673a\u7406\u9a71\u52a8 | MLP | \u534a\u76d1\u7763\u5b66\u4e60 | [Data](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/fsi/VIV_Training_Neta100.mat) | [Paper](https://arxiv.org/abs/2206.03864)|\n| \u591a\u76f8\u6d41 | [\u6c14\u6db2\u4e24\u76f8\u6d41](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/bubble) | \u673a\u7406\u9a71\u52a8 | BubbleNet | \u534a\u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/BubbleNet/bubble.mat) | [Paper](https://pubs.aip.org/aip/adv/article/12/3/035153/2819394/Predicting-micro-bubble-dynamics-with-semi-physics)|\n| \u591a\u76f8\u6d41 | [twophasePINN](https://aistudio.baidu.com/projectdetail/5379212) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://doi.org/10.1016/j.mlwa.2021.100029)|\n| \u591a\u76f8\u6d41 | \u975e\u9ad8\u65af\u6e17\u900f\u7387\u573a\u4f30\u8ba1<sup>coming soon</sup> | \u673a\u7406\u9a71\u52a8 | cINN | \u76d1\u7763\u5b66\u4e60 | - | [Paper](https://pubs.aip.org/aip/adv/article/12/3/035153/2819394/Predicting-micro-bubble-dynamics-with-semi-physics)|\n| \u6d41\u573a\u9ad8\u5206\u8fa8\u7387\u91cd\u6784 | [2D \u6e4d\u6d41\u6d41\u573a\u91cd\u6784](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/tempoGAN) | \u6570\u636e\u9a71\u52a8 | tempoGAN | \u76d1\u7763\u5b66\u4e60 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_valid.mat) | [Paper](https://dl.acm.org/doi/10.1145/3197517.3201304)|\n| \u6d41\u573a\u9ad8\u5206\u8fa8\u7387\u91cd\u6784 | [2D \u6e4d\u6d41\u6d41\u573a\u91cd\u6784](https://aistudio.baidu.com/projectdetail/4493261?contributionType=1) | \u6570\u636e\u9a71\u52a8 | cycleGAN | \u76d1\u7763\u5b66\u4e60 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/tempoGAN/2d_valid.mat) | [Paper](https://arxiv.org/abs/2007.15324)|\n| \u6d41\u573a\u9ad8\u5206\u8fa8\u7387\u91cd\u6784 | [\u57fa\u4e8eVoronoi\u5d4c\u5165\u8f85\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u7a00\u758f\u4f20\u611f\u5668\u5168\u5c40\u573a\u91cd\u5efa](https://aistudio.baidu.com/projectdetail/5807904) | \u6570\u636e\u9a71\u52a8 | CNN | \u76d1\u7763\u5b66\u4e60 | [Data1](https://drive.google.com/drive/folders/1K7upSyHAIVtsyNAqe6P8TY1nS5WpxJ2c)<br>[Data2](https://drive.google.com/drive/folders/1pVW4epkeHkT2WHZB7Dym5IURcfOP4cXu)<br>[Data3](https://drive.google.com/drive/folders/1xIY_jIu-hNcRY-TTf4oYX1Xg4_fx8ZvD) | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |\n| \u6d41\u573a\u9ad8\u5206\u8fa8\u7387\u91cd\u6784 | \u57fa\u4e8e\u6269\u6563\u7684\u6d41\u4f53\u8d85\u5206\u91cd\u6784<sup>coming soon</sup> | \u6570\u7406\u878d\u5408 | DDPM | \u76d1\u7763\u5b66\u4e60 | - | [Paper](https://www.sciencedirect.com/science/article/pii/S0021999123000670)|\n| \u6c42\u89e3\u5668\u8026\u5408 | [CFD-GCN](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/cfdgcn) | \u6570\u636e\u9a71\u52a8 | GCN | \u76d1\u7763\u5b66\u4e60 | [Data](https://aistudio.baidu.com/aistudio/datasetdetail/184778)<br>[Mesh](https://paddle-org.bj.bcebos.com/paddlescience/datasets/CFDGCN/meshes.tar) | [Paper](https://arxiv.org/abs/2007.04439)|\n| \u53d7\u529b\u5206\u6790 | [1D \u6b27\u62c9\u6881\u53d8\u5f62](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/euler_beam/euler_beam.py) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | - |\n| \u53d7\u529b\u5206\u6790 | [2D \u5e73\u677f\u53d8\u5f62](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/biharmonic2d) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/abs/2108.07243) |\n| \u53d7\u529b\u5206\u6790 | [3D \u8fde\u63a5\u4ef6\u53d8\u5f62](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/bracket) | \u673a\u7406\u9a71\u52a8 | MLP | \u65e0\u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/bracket/bracket_dataset.tar) | [Tutorial](https://docs.nvidia.com/deeplearning/modulus/modulus-v2209/user_guide/foundational/linear_elasticity.html) |\n| \u53d7\u529b\u5206\u6790 | [\u7ed3\u6784\u9707\u52a8\u6a21\u62df](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/phylstm) | \u673a\u7406\u9a71\u52a8 | PhyLSTM | \u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/PhyLSTM/data_boucwen.mat) | [Paper](https://arxiv.org/abs/2002.10253) |\n| \u53d7\u529b\u5206\u6790 | [2D \u5f39\u5851\u6027\u7ed3\u6784](https://paddlescience-docs.readthedocs.io/zh/examples/epnn.md) | \u673a\u7406\u9a71\u52a8 | EPNN | \u65e0\u76d1\u7763\u5b66\u4e60 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/epnn/dstate-16-plas.dat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/epnn/dstress-16-plas.dat) | [Paper](https://arxiv.org/abs/2204.12088) |\n| \u62d3\u6251\u4f18\u5316 | [2D \u62d3\u6251\u4f18\u5316](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/topopt.md) | \u6570\u636e\u9a71\u52a8 | TopOptNN | \u76d1\u7763\u5b66\u4e60 | [Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/topopt/top_dataset.h5) | [Paper](https://arxiv.org/pdf/1709.09578) |\n\n<br>\n<p align=\"center\"><b>\u6750\u6599\u79d1\u5b66(AI for Material)</b></p>\n\n| \u95ee\u9898\u7c7b\u578b | \u6848\u4f8b\u540d\u79f0 | \u4f18\u5316\u7b97\u6cd5 | \u6a21\u578b\u7c7b\u578b | \u8bad\u7ec3\u65b9\u5f0f | \u6570\u636e\u96c6 | \u53c2\u8003\u8d44\u6599 |\n|-----|---------|-----|---------|----|---------|---------|\n| \u6750\u6599\u8bbe\u8ba1 | [\u6563\u5c04\u677f\u8bbe\u8ba1(\u53cd\u95ee\u9898)](./zh/examples/hpinns.md) | \u6570\u7406\u878d\u5408 | \u6570\u636e\u9a71\u52a8 | \u76d1\u7763\u5b66\u4e60 | [Train Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/hPINNs/hpinns_holo_train.mat)<br>[Eval Data](https://paddle-org.bj.bcebos.com/paddlescience/datasets/hPINNs/hpinns_holo_valid.mat) | [Paper](https://arxiv.org/pdf/2102.04626.pdf) |\n| \u6750\u6599\u751f\u6210 | \u9762\u5411\u5bf9\u79f0\u611f\u77e5\u7684\u5468\u671f\u6027\u6750\u6599\u751f\u6210<sup>coming soon</sup> | \u6570\u636e\u9a71\u52a8 | SyMat | \u76d1\u7763\u5b66\u4e60 | - | - |\n\n<br>\n<p align=\"center\"><b>\u5730\u7403\u79d1\u5b66(AI for Earth Science)</b></p>\n\n| \u95ee\u9898\u7c7b\u578b | \u6848\u4f8b\u540d\u79f0 | \u4f18\u5316\u7b97\u6cd5 | \u6a21\u578b\u7c7b\u578b | \u8bad\u7ec3\u65b9\u5f0f | \u6570\u636e\u96c6 | \u53c2\u8003\u8d44\u6599 |\n|-----|---------|-----|---------|----|---------|---------|\n| \u5929\u6c14\u9884\u62a5 | [FourCastNet \u6c14\u8c61\u9884\u62a5](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/fourcastnet) | \u6570\u636e\u9a71\u52a8 | FourCastNet | \u76d1\u7763\u5b66\u4e60 | [ERA5](https://app.globus.org/file-manager?origin_id=945b3c9e-0f8c-11ed-8daf-9f359c660fbd&origin_path=%2F~%2Fdata%2F) | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |\n| \u5929\u6c14\u9884\u62a5 | GraphCast \u6c14\u8c61\u9884\u62a5<sup>coming soon</sup> | \u6570\u636e\u9a71\u52a8 | GraphCastNet* | \u76d1\u7763\u5b66\u4e60 | - | [Paper](https://arxiv.org/pdf/2202.11214.pdf) |\n| \u5927\u6c14\u6c61\u67d3\u7269 | [UNet \u6c61\u67d3\u7269\u6269\u6563](https://aistudio.baidu.com/projectdetail/5663515?channel=0&channelType=0&sUid=438690&shared=1&ts=1698221963752) | \u6570\u636e\u9a71\u52a8 | UNet | \u76d1\u7763\u5b66\u4e60 | [Data](https://aistudio.baidu.com/datasetdetail/198102) | - |\n\n<!-- --8<-- [start:update] -->\n## \ud83d\udd58\u6700\u8fd1\u66f4\u65b0\n\n- \u6dfb\u52a0\u4e8c\u7ef4\u8840\u7ba1\u6848\u4f8b([LabelFree-DNN-Surrogate](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/labelfree_DNN_surrogate/#4))\u3001\u7a7a\u6c14\u6fc0\u6ce2\u6848\u4f8b([ShockWave](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/shock_wave/))\u3001\u53bb\u566a\u7f51\u7edc\u6a21\u578b([DUCNN](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/DU_CNN))\u3001\u98ce\u7535\u9884\u6d4b\u6a21\u578b([Deep Spatial Temporal](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/Deep-Spatio-Temporal))\u3001\u57df\u5206\u89e3\u6a21\u578b([XPINNs](https://github.com/PaddlePaddle/PaddleScience/tree/develop/jointContribution/XPINNs))\u3001\u79ef\u5206\u65b9\u7a0b\u6c42\u89e3\u6848\u4f8b([Volterra Equation](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/volterra_ide/))\u3001\u5206\u6570\u9636\u65b9\u7a0b\u6c42\u89e3\u6848\u4f8b([Fractional Poisson 2D](https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/fpde/fractional_poisson_2d.py))\u3002\n- \u9488\u5bf9\u4e32\u8054\u65b9\u7a0b\u548c\u590d\u6742\u65b9\u7a0b\u573a\u666f\uff0c`Equation` \u6a21\u5757\u652f\u6301\u57fa\u4e8e [sympy](https://docs.sympy.org/dev/tutorials/intro-tutorial/intro.html) \u7684\u7b26\u53f7\u8ba1\u7b97\uff0c\u5e76\u652f\u6301\u548c python \u51fd\u6570\u6df7\u5408\u4f7f\u7528([#507](https://github.com/PaddlePaddle/PaddleScience/pull/507)\u3001[#505](https://github.com/PaddlePaddle/PaddleScience/pull/505))\u3002\n- `Geometry` \u6a21\u5757\u548c `InteriorConstraint`\u3001`InitialConstraint` \u652f\u6301\u8ba1\u7b97 SDF \u5fae\u5206\u529f\u80fd([#539](https://github.com/PaddlePaddle/PaddleScience/pull/539))\u3002\n- \u6dfb\u52a0 **M**ulti**T**ask**L**earning(`ppsci.loss.mtl`) \u591a\u4efb\u52a1\u5b66\u4e60\u6a21\u5757\uff0c\u9488\u5bf9\u591a\u4efb\u52a1\u4f18\u5316(\u5982 PINN \u65b9\u6cd5)\u8fdb\u4e00\u6b65\u63d0\u5347\u6027\u80fd\uff0c\u4f7f\u7528\u65b9\u5f0f\uff1a[\u591a\u4efb\u52a1\u5b66\u4e60\u6307\u5357](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/user_guide/#24)([#493](https://github.com/PaddlePaddle/PaddleScience/pull/505)\u3001[#492](https://github.com/PaddlePaddle/PaddleScience/pull/505))\u3002\n<!-- --8<-- [end:update] -->\n\n<!-- --8<-- [start:feature] -->\n## \u2728\u7279\u6027\n\n- \u652f\u6301\u7b80\u5355\u51e0\u4f55\u548c\u590d\u6742 STL \u51e0\u4f55\u7684\u91c7\u6837\u4e0e\u5e03\u5c14\u8fd0\u7b97\u3002\n- \u652f\u6301\u5305\u62ec Dirichlet\u3001Neumann\u3001Robin \u4ee5\u53ca\u81ea\u5b9a\u4e49\u8fb9\u754c\u6761\u4ef6\u3002\n- \u652f\u6301\u7269\u7406\u673a\u7406\u9a71\u52a8\u3001\u6570\u636e\u9a71\u52a8\u3001\u6570\u7406\u878d\u5408\u4e09\u79cd\u95ee\u9898\u6c42\u89e3\u65b9\u5f0f\u3002\u6db5\u76d6\u6d41\u4f53\u3001\u7ed3\u6784\u3001\u6c14\u8c61\u7b49\u9886\u57df 20+ \u6848\u4f8b\u3002\n- \u652f\u6301\u7ed3\u679c\u53ef\u89c6\u5316\u8f93\u51fa\u4e0e\u65e5\u5fd7\u7ed3\u6784\u5316\u4fdd\u5b58\u3002\n- \u5b8c\u5584\u7684 type hints\uff0c\u7528\u6237\u4f7f\u7528\u548c\u4ee3\u7801\u8d21\u732e\u5168\u6d41\u7a0b\u6587\u6863\uff0c\u7ecf\u5178\u6848\u4f8b AI studio \u5feb\u901f\u4f53\u9a8c\uff0c\u964d\u4f4e\u4f7f\u7528\u95e8\u69db\uff0c\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\u3002\n- \u652f\u6301\u57fa\u4e8e sympy \u7b26\u53f7\u8ba1\u7b97\u5e93\u7684\u65b9\u7a0b\u8868\u793a\u3002\n- \u66f4\u591a\u7279\u6027\u6b63\u5728\u5f00\u53d1\u4e2d...\n<!-- --8<-- [end:feature] -->\n\n## \ud83d\ude80\u5b89\u88c5\u4f7f\u7528\n\n### \u5b89\u88c5 PaddlePaddle\n\n<!-- --8<-- [start:paddle_install] -->\n\u8bf7\u5728 [PaddlePaddle](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html) \u5b98\u7f51\u6309\u7167\u60a8\u7684\u8fd0\u884c\u73af\u5883\uff0c\u5b89\u88c5 <font color=\"red\"><b>develop</b></font> \u7248\u7684 PaddlePaddle\u3002\n\n\u5b89\u88c5\u5b8c\u6bd5\u4e4b\u540e\uff0c\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u9a8c\u8bc1 Paddle \u662f\u5426\u5b89\u88c5\u6210\u529f\u3002\n\n``` shell\npython -c \"import paddle; paddle.utils.run_check()\"\n```\n\n\u5982\u679c\u51fa\u73b0 `PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.` \u4fe1\u606f\uff0c\u8bf4\u660e\u60a8\u5df2\u6210\u529f\u5b89\u88c5\uff0c\u53ef\u4ee5\u7ee7\u7eed\u5b89\u88c5 PaddleScience\u3002\n<!-- --8<-- [end:paddle_install] -->\n\n### \u5b89\u88c5 PaddleScience\n\n1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u4ece github \u4e0a clone PaddleScience \u6e90\u4ee3\u7801\uff0c\u5e76\u4ee5 editable \u7684\u65b9\u5f0f\u5b89\u88c5 PaddleScience\u3002\n\n <!-- --8<-- [start:git_install] -->\n ``` shell\n git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git\n # \u82e5 github clone \u901f\u5ea6\u6bd4\u8f83\u6162\uff0c\u53ef\u4ee5\u4f7f\u7528 gitee clone\n # git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.git\n\n cd PaddleScience\n\n # windows \u7528\u6237\u5b89\u88c5\u524d\u8bf7\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5426\u5219\u53ef\u80fd\u56e0\u4e3agbk\u7f16\u7801\u95ee\u9898\u5bfc\u81f4\u5b89\u88c5\u5931\u8d25\n set PYTHONUTF8=1\n\n # install paddlesci with editable mode\n pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple\n ```\n <!-- --8<-- [end:git_install] -->\n\n2. \u9a8c\u8bc1\u5b89\u88c5\n\n ``` py\n python -c \"import ppsci; ppsci.utils.run_check()\"\n ```\n\n3. \u5f00\u59cb\u4f7f\u7528\n\n ``` py\n import ppsci\n\n # write your code here...\n ```\n\n\u5982\u9700\u8bfb\u53d6\u590d\u6742\u51e0\u4f55\u6587\u4ef6\uff0c\u5e76\u8fdb\u884c\u89e3\u6790\u3001\u91c7\u6837\u7b49\u64cd\u4f5c\uff0c\u8bf7\u53c2\u8003\u5b8c\u6574\u5b89\u88c5\u6d41\u7a0b\uff1a[**\u5b89\u88c5\u4e0e\u4f7f\u7528**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/)\n\n## \u26a1\ufe0f\u5feb\u901f\u5f00\u59cb\n\n\u8bf7\u53c2\u8003 [**\u5feb\u901f\u5f00\u59cb**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/quickstart/)\n\n<!-- --8<-- [start:support] -->\n## \ud83d\udcac\u652f\u6301\u4e0e\u5efa\u8bae\n\n\u5982\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\u6216\u60f3\u63d0\u51fa\u5f00\u53d1\u5efa\u8bae\uff0c\u6b22\u8fce\u5728 [**Discussion**](https://github.com/PaddlePaddle/PaddleScience/discussions/new?category=general) \u63d0\u51fa\u5efa\u8bae\uff0c\u6216\u8005\u5728 [**Issue**](https://github.com/PaddlePaddle/PaddleScience/issues/new/choose) \u9875\u9762\u65b0\u5efa issue\uff0c\u4f1a\u6709\u4e13\u4e1a\u7684\u7814\u53d1\u4eba\u5458\u8fdb\u884c\u89e3\u7b54\u3002\n<!-- --8<-- [end:support] -->\n\n<!-- --8<-- [start:contribution] -->\n## \ud83d\udc6b\u5f00\u6e90\u5171\u5efa\n\nPaddleScience \u9879\u76ee\u6b22\u8fce\u5e76\u4f9d\u8d56\u5f00\u53d1\u4eba\u5458\u548c\u5f00\u6e90\u793e\u533a\u4e2d\u7684\u7528\u6237\uff0c\u4f1a\u4e0d\u5b9a\u671f\u63a8\u51fa\u5f00\u6e90\u6d3b\u52a8\u3002\n\n> \u5728\u5f00\u6e90\u6d3b\u52a8\u4e2d\u5982\u9700\u4f7f\u7528 PaddleScience \u8fdb\u884c\u5f00\u53d1\uff0c\u53ef\u53c2\u8003 [**PaddleScience \u5f00\u53d1\u4e0e\u8d21\u732e\u6307\u5357**](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/development/) \u4ee5\u63d0\u5347\u5f00\u53d1\u6548\u7387\u548c\u8d28\u91cf\u3002\n\n- \ud83c\udf81\u5feb\u4e50\u5f00\u6e90\n\n \u65e8\u5728\u9f13\u52b1\u66f4\u591a\u7684\u5f00\u53d1\u8005\u53c2\u4e0e\u5230\u98de\u6868\u79d1\u5b66\u8ba1\u7b97\u793e\u533a\u7684\u5f00\u6e90\u5efa\u8bbe\u4e2d\uff0c\u5e2e\u52a9\u793e\u533a\u4fee\u590d bug \u6216\u8d21\u732e feature\uff0c\u52a0\u5165\u5f00\u6e90\u3001\u5171\u5efa\u98de\u6868\u3002\u4e86\u89e3\u7f16\u7a0b\u57fa\u672c\u77e5\u8bc6\u7684\u5165\u95e8\u7528\u6237\u5373\u53ef\u53c2\u4e0e\uff0c\u6d3b\u52a8\u8fdb\u884c\u4e2d\uff1a\n [PaddleScience \u5feb\u4e50\u5f00\u6e90\u6d3b\u52a8\u8868\u5355](https://github.com/PaddlePaddle/PaddleScience/issues/379)\n\n- \ud83d\udd25\u7b2c\u4e94\u671f\u9ed1\u5ba2\u677e\n\n \u9762\u5411\u5168\u7403\u5f00\u53d1\u8005\u7684\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7f16\u7a0b\u6d3b\u52a8\uff0c\u9f13\u52b1\u5f00\u53d1\u8005\u4e86\u89e3\u4e0e\u53c2\u4e0e\u98de\u6868\u6df1\u5ea6\u5b66\u4e60\u5f00\u6e90\u9879\u76ee\u4e0e\u6587\u5fc3\u5927\u6a21\u578b\u5f00\u53d1\u5b9e\u8df5\u3002\u6d3b\u52a8\u8fdb\u884c\u4e2d\uff1a[\u3010PaddlePaddle Hackathon 5th\u3011\u5f00\u6e90\u8d21\u732e\u4e2a\u4eba\u6311\u6218\u8d5b](https://github.com/PaddlePaddle/community/blob/master/hackathon/hackathon_5th/%E3%80%90PaddlePaddle%20Hackathon%205th%E3%80%91%E5%BC%80%E6%BA%90%E8%B4%A1%E7%8C%AE%E4%B8%AA%E4%BA%BA%E6%8C%91%E6%88%98%E8%B5%9B%E7%A7%91%E5%AD%A6%E8%AE%A1%E7%AE%97%E4%BB%BB%E5%8A%A1%E5%90%88%E9%9B%86.md#%E4%BB%BB%E5%8A%A1%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E4%B8%8E%E9%AA%8C%E6%94%B6%E6%A0%87%E5%87%86)\n<!-- --8<-- [end:contribution] -->\n\n<!-- --8<-- [start:collaboration] -->\n## \ud83c\udfaf\u5171\u521b\u8ba1\u5212\n\nPaddleScience \u4f5c\u4e3a\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u6b22\u8fce\u6765\u5404\u884c\u5404\u4e1a\u7684\u4f19\u4f34\u643a\u624b\u5171\u5efa\u57fa\u4e8e\u98de\u6868\u7684 AI for Science \u9886\u57df\u9876\u5c16\u5f00\u6e90\u9879\u76ee, \u6253\u9020\u6d3b\u8dc3\u7684\u524d\u77bb\u6027\u7684 AI for Science \u5f00\u6e90\u793e\u533a\uff0c\u5efa\u7acb\u4ea7\u5b66\u7814\u95ed\u73af\uff0c\u63a8\u52a8\u79d1\u7814\u521b\u65b0\u4e0e\u4ea7\u4e1a\u8d4b\u80fd\u3002\u70b9\u51fb\u4e86\u89e3 [\u98de\u6868AI for Science\u5171\u521b\u8ba1\u5212](https://www.paddlepaddle.org.cn/science)\u3002\n<!-- --8<-- [end:collaboration] -->\n\n<!-- --8<-- [start:thanks] -->\n## \u2764\ufe0f\u81f4\u8c22\n\n- PaddleScience \u7684\u90e8\u5206\u6a21\u5757\u548c\u6848\u4f8b\u8bbe\u8ba1\u53d7 [NVIDIA-Modulus](https://github.com/NVIDIA/modulus/tree/main)\u3001[DeepXDE](https://github.com/lululxvi/deepxde/tree/master)\u3001[PaddleNLP](https://github.com/PaddlePaddle/PaddleNLP/tree/develop)\u3001[PaddleClas](https://github.com/PaddlePaddle/PaddleClas/tree/develop) \u7b49\u4f18\u79c0\u5f00\u6e90\u5957\u4ef6\u7684\u542f\u53d1\u3002\n<!-- --8<-- [end:thanks] -->\n- PaddleScience \u7684\u90e8\u5206\u6848\u4f8b\u548c\u4ee3\u7801\u7531\u4ee5\u4e0b\u4f18\u79c0\u793e\u533a\u5f00\u53d1\u8005\u8d21\u732e\uff08\u6309 [Contributors](https://github.com/PaddlePaddle/PaddleScience/graphs/contributors) \u6392\u5e8f\uff09\uff1a\n [Asthestarsfalll](https://github.com/Asthestarsfalll)\uff0c\n [co63oc](https://github.com/co63oc)\uff0c\n [MayYouBeProsperous](https://github.com/MayYouBeProsperous)\uff0c\n [AndPuQing](https://github.com/AndPuQing)\uff0c\n [lknt](https://github.com/lknt)\uff0c\n [yangguohao](https://github.com/yangguohao)\uff0c\n [mrcangye](https://github.com/mrcangye)\uff0c\n [jjyaoao](https://github.com/jjyaoao)\uff0c\n [jiamingkong](https://github.com/jiamingkong)\uff0c\n [Liyulingyue](https://github.com/Liyulingyue)\uff0c\n [DrRyanHuang](https://github.com/DrRyanHuang)\uff0c\n [zbt78](https://github.com/zbt78)\uff0c\n [Gxinhu](https://github.com/Gxinhu)\uff0c\n [XYM](https://github.com/XYM)\uff0c\n [xusuyong](https://github.com/xusuyong)\uff0c\n [NKNaN](https://github.com/NKNaN)\uff0c\n [ruoyunbai](https://github.com/ruoyunbai)\uff0c\n [sanbuphy](https://github.com/sanbuphy)\uff0c\n [ccsuzzh](https://github.com/ccsuzzh)\uff0c\n [enkilee](https://github.com/enkilee)\uff0c\n [GreatV](https://github.com/GreatV)\n\n## \ud83e\udd1d\u5408\u4f5c\u5355\u4f4d\n\n![cooperation](./docs/images/overview/cooperation.png)\n\n<!-- --8<-- [start:license] -->\n## \ud83d\udcdc\u8bc1\u4e66\n\n[Apache License 2.0](https://github.com/PaddlePaddle/PaddleScience/blob/develop/LICENSE)\n<!-- --8<-- [end:license] -->\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A library for scientific machine learning",
"version": "1.2.0",
"project_urls": {
"Bug Tracker": "https://github.com/PaddlePaddle/PaddleScience/issues",
"Changelog": "https://github.com/PaddlePaddle/PaddleScience/releases",
"Documentation": "https://paddlescience-docs.readthedocs.io/zh/release-1.2/",
"Homepage": "https://github.com/PaddlePaddle/PaddleScience"
},
"split_keywords": [
"machine learning",
"deep learning",
"differential equations",
"ai4science",
"physics-informed neural networks",
"paddlepaddle"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6a9db9a989cb32014dd7118db12e7fa279e453220ee4b8888f20e26a6fe46dba",
"md5": "8cdb9725b0ab26e0555a6016158ae9a8",
"sha256": "8b29d6517d056e8ac18552d9598d2c912bf9479813bdb3f94b71544c2ff3a567"
},
"downloads": -1,
"filename": "paddlesci-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8cdb9725b0ab26e0555a6016158ae9a8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 263257,
"upload_time": "2023-11-27T07:56:53",
"upload_time_iso_8601": "2023-11-27T07:56:53.704394Z",
"url": "https://files.pythonhosted.org/packages/6a/9d/b9a989cb32014dd7118db12e7fa279e453220ee4b8888f20e26a6fe46dba/paddlesci-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-27 07:56:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PaddlePaddle",
"github_project": "PaddleScience",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "colorlog",
"specs": []
},
{
"name": "h5py",
"specs": []
},
{
"name": "hydra-core",
"specs": []
},
{
"name": "imageio",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "meshio",
"specs": [
[
"==",
"5.3.4"
]
]
},
{
"name": "numpy",
"specs": [
[
"<=",
"1.23.1"
],
[
">=",
"1.20.0"
]
]
},
{
"name": "opencv-python",
"specs": []
},
{
"name": "pyevtk",
"specs": []
},
{
"name": "pyvista",
"specs": [
[
"==",
"0.37.0"
]
]
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "scikit-optimize",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "sympy",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "typing-extensions",
"specs": []
},
{
"name": "visualdl",
"specs": []
},
{
"name": "vtk",
"specs": []
},
{
"name": "wget",
"specs": []
}
],
"lcname": "paddlesci"
}