8 Star 21 Fork 13

PaddlePaddle/PaddleScience

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0

PaddleScience

Developed with PaddlePaddle

Version Python Version Doc Code Style Hydra License

PaddleScience使用文档

🔥 IJCAI 2024: 任意三维几何外形车辆的风阻快速预测竞赛,track A, B, C 代码:

👀简介

PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计算套件,利用深度神经网络的学习能力和 PaddlePaddle 框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础 API 和详尽文档供用户使用与二次开发。

📝案例列表

数学(AI for Math)

问题类型 案例名称 优化算法 模型类型 训练方式 数据集 参考资料
亥姆霍兹方程 SPINN(Helmholtz3D) 机理驱动 SPINN 无监督学习 - Paper
相场方程 Allen-Cahn 机理驱动 MLP 无监督学习 Data Paper
微分方程 拉普拉斯方程 机理驱动 MLP 无监督学习 - -
微分方程 伯格斯方程 机理驱动 MLP 无监督学习 Data Paper
微分方程 非线性偏微分方程 机理驱动 PIRBN 无监督学习 - Paper
微分方程 洛伦兹方程 数据驱动 Transformer-Physx 监督学习 Data Paper
微分方程 若斯叻方程 数据驱动 Transformer-Physx 监督学习 Data Paper
算子学习 DeepONet 数据驱动 MLP 监督学习 Data Paper
微分方程 梯度增强的物理知识融合 PDE 求解 机理驱动 gPINN 无监督学习 - Paper
积分方程 沃尔泰拉积分方程 机理驱动 MLP 无监督学习 - Project
微分方程 分数阶微分方程 机理驱动 MLP 无监督学习 - -
光孤子 Optical soliton 机理驱动 MLP 无监督学习 - Paper
光纤怪波 Optical rogue wave 机理驱动 MLP 无监督学习 - Paper
域分解 XPINN 机理驱动 MLP 无监督学习 - Paper

技术科学(AI for Technology)

问题类型 案例名称 优化算法 模型类型 训练方式 数据集 参考资料
一维线性对流问题 1D 线性对流 数据驱动 ViT 监督学习 Data Paper
非定常不可压流体 2D 方腔浮力驱动流 数据驱动 ViT 监督学习 Data Paper
定常不可压流体 Re3200 2D 定常方腔流 机理驱动 MLP 无监督学习 -
定常不可压流体 2D 达西流 机理驱动 MLP 无监督学习 -
定常不可压流体 2D 管道流 机理驱动 MLP 无监督学习 - Paper
定常不可压流体 3D 颅内动脉瘤 机理驱动 MLP 无监督学习 Data Project
定常不可压流体 任意 2D 几何体绕流 数据驱动 DeepCFD 监督学习 - Paper
非定常不可压流体 2D 非定常方腔流 机理驱动 MLP 无监督学习 - -
非定常不可压流体 Re100 2D 圆柱绕流 机理驱动 MLP 半监督学习 Data Paper
非定常不可压流体 Re100~750 2D 圆柱绕流 数据驱动 Transformer-Physx 监督学习 Data Paper
可压缩流体 2D 空气激波 机理驱动 PINN-WE 无监督学习 - Paper
飞行器设计 MeshGraphNets 数据驱动 GNN 监督学习 Data Paper
飞行器设计 火箭发动机真空羽流 数据驱动 CNN 监督学习 Data -
飞行器设计 Deep-Flow-Prediction 数据驱动 TurbNetG 监督学习 Data Paper
通用流场模拟 气动外形设计 数据驱动 AMGNet 监督学习 Data Paper
流固耦合 涡激振动 机理驱动 MLP 半监督学习 Data Paper
多相流 气液两相流 机理驱动 BubbleNet 半监督学习 Data Paper
多相流 twophasePINN 机理驱动 MLP 无监督学习 - Paper
多相流 非高斯渗透率场估计coming soon 机理驱动 cINN 监督学习 - Paper
流场高分辨率重构 2D 湍流流场重构 数据驱动 tempoGAN 监督学习 Train Data
Eval Data
Paper
流场高分辨率重构 2D 湍流流场重构 数据驱动 cycleGAN 监督学习 Train Data
Eval Data
Paper
流场高分辨率重构 基于Voronoi嵌入辅助深度学习的稀疏传感器全局场重建 数据驱动 CNN 监督学习 Data1
Data2
Data3
Paper
流场高分辨率重构 基于扩散的流体超分重构coming soon 数理融合 DDPM 监督学习 - Paper
求解器耦合 CFD-GCN 数据驱动 GCN 监督学习 Data
Mesh
Paper
受力分析 1D 欧拉梁变形 机理驱动 MLP 无监督学习 - -
受力分析 2D 平板变形 机理驱动 MLP 无监督学习 - Paper
受力分析 3D 连接件变形 机理驱动 MLP 无监督学习 Data Tutorial
受力分析 结构震动模拟 机理驱动 PhyLSTM 监督学习 Data Paper
受力分析 2D 弹塑性结构 机理驱动 EPNN 无监督学习 Train Data
Eval Data
Paper
受力分析和逆问题 3D 汽车控制臂变形 机理驱动 MLP 无监督学习 - -
拓扑优化 2D 拓扑优化 数据驱动 TopOptNN 监督学习 Data Paper
热仿真 1D 换热器热仿真 机理驱动 PI-DeepONet 无监督学习 - -
热仿真 2D 热仿真 机理驱动 PINN 无监督学习 - Paper
热仿真 2D 芯片热仿真 机理驱动 PI-DeepONet 无监督学习 - Paper

材料科学(AI for Material)

问题类型 案例名称 优化算法 模型类型 训练方式 数据集 参考资料
材料设计 散射板设计(反问题) 数理融合 数据驱动 监督学习 Train Data
Eval Data
Paper
材料生成 面向对称感知的周期性材料生成coming soon 数据驱动 SyMat 监督学习 - -

地球科学(AI for Earth Science)

问题类型 案例名称 优化算法 模型类型 训练方式 数据集 参考资料
天气预报 Extformer-MoE 气象预报 数据驱动 FourCastNet 监督学习 enso -
天气预报 FourCastNet 气象预报 数据驱动 FourCastNet 监督学习 ERA5 Paper
天气预报 NowCastNet 气象预报 数据驱动 NowCastNet 监督学习 MRMS Paper
天气预报 GraphCast 气象预报 数据驱动 GraphCastNet 监督学习 - Paper
大气污染物 UNet 污染物扩散 数据驱动 UNet 监督学习 Data -
天气预报 DGMR 气象预报 数据驱动 DGMR 监督学习 UK dataset Paper

🕘最近更新

✨特性

  • 支持简单几何和复杂 STL 几何的采样与布尔运算。
  • 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。
  • 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 20+ 案例。
  • 支持结果可视化输出与日志结构化保存。
  • 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。
  • 支持基于 sympy 符号计算库的方程表示与联立方程组计算。
  • 更多特性正在开发中...

🚀安装使用

安装 PaddlePaddle

请在 PaddlePaddle 官网按照您的运行环境,安装 3.0-beta 或 develop 版的 PaddlePaddle。

安装完毕之后,运行以下命令,验证 Paddle 是否安装成功。

python -c "import paddle; paddle.utils.run_check()"

如果出现 PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now. 信息,说明您已成功安装,可以继续安装 PaddleScience。

安装 PaddleScience

  1. 基础功能安装

    从以下三种安装方式中,任选一种均可安装。

    • git 源码安装[推荐]

      执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。

      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
      
      # install paddlesci with editable mode
      pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
    • pip 安装

      执行以下命令以 pip 的方式安装 release / nightly build 版本的 PaddleScience。

      # release
      pip install -U paddlesci
      # nightly build
      # pip install https://paddle-qa.bj.bcebos.com/PaddleScience/whl/latest/dist/paddlesci-0.0.0-py3-none-any.whl
    • 设置 PYTHONPATH 并手动安装 requirements

      如果在您的环境中,上述两种方式都无法正常安装,则可以选择本方式,在终端内将环境变量 PYTHONPATH 临时设置为 PaddleScience绝对路径,如下所示。

      cd PaddleScience
      export PYTHONPATH=$PYTHONPATH:$PWD # for linux
      set PYTHONPATH=%cd% # for windows
      pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # manually install requirements

      注:上述方式的优点是步骤简单无需安装,缺点是当环境变量生效的终端被关闭后,需要重新执行上述命令设置 PYTHONPATH 才能再次使用 PaddleScience,较为繁琐。

  2. 验证安装

    python -c "import ppsci; ppsci.utils.run_check()"
  3. 开始使用

    import ppsci
    
    # write your code here...

如需基于复杂几何文件(*.stl, *.mesh, *.obj)文件进行训练、测试等流程,请参考完整安装流程:安装与使用

⚡️快速开始

请参考 快速开始

🎈其他领域支持

除 PaddleScience 套件外,Paddle 框架还支持了 Modulus-symDeepXDE 的所有案例,分子动力学套件 DeepMD-kit 部分案例和功能。

💬支持与建议

如使用过程中遇到问题或想提出开发建议,欢迎在 Discussion 提出建议,或者在 Issue 页面新建 issue,会有专业的研发人员进行解答。

👫开源共建

PaddleScience 项目欢迎并依赖开发人员和开源社区中的用户,会不定期推出开源活动。

在开源活动中如需使用 PaddleScience 进行开发,可参考 PaddleScience 开发与贡献指南 以提升开发效率和质量。

  • 🎁快乐开源

    旨在鼓励更多的开发者参与到飞桨科学计算社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。了解编程基本知识的入门用户即可参与,活动进行中: PaddleScience 快乐开源活动表单

🎯共创计划

PaddleScience 作为一个开源项目,欢迎来各行各业的伙伴携手共建基于飞桨的 AI for Science 领域顶尖开源项目, 打造活跃的前瞻性的 AI for Science 开源社区,建立产学研闭环,推动科研创新与产业赋能。点击了解 飞桨AI for Science共创计划

❤️致谢

🤝合作单位

cooperation

📜开源协议

Apache License 2.0

Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

PaddleScience is SDK and library for developing AI-driven scientific computing applications based on PaddlePaddle. expand collapse
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/paddlepaddle/PaddleScience.git
git@gitee.com:paddlepaddle/PaddleScience.git
paddlepaddle
PaddleScience
PaddleScience
develop

Search