Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【PaddlePaddle Hackathon 3】科学计算项目贡献合集 #44070

Closed
Ligoml opened this issue Jul 4, 2022 · 1 comment
Closed

【PaddlePaddle Hackathon 3】科学计算项目贡献合集 #44070

Ligoml opened this issue Jul 4, 2022 · 1 comment

Comments

@Ligoml
Copy link
Contributor

Ligoml commented Jul 4, 2022

(此 ISSUE 为 PaddlePaddle Hackathon 第三期活动的任务 ISSUE,更多详见 【PaddlePaddle Hackathon 第三期】任务总览

为科学计算项目贡献任务合集,包括模型分析与功能完善,开发请参考 贡献指南,任务列表如下:

No.57:PaddelScience 支持对外部导入的几何文件进行法向外扩采样

  • 技术标签:科学计算,采样,Python

  • 任务难度:基础

  • 详细描述:

    • 1)Python 读取 .stl 封闭几何外形的三角点文件,识别 .stl 的三角网格点;
    • 2)基于识别的封闭几何外形的三角网格点,能够基于三角点构成的面元,计算面的内外法向,并能够基于所有面元的外法向,向外创建多层采样点;
    • 3)采样点可以是均匀分布。
      注:.stl 为通用的 CAD 几何中间格式,可由 Catia/UG 等工具生成,可使用 Numpy-stl 或其他解析方式识别 .stl。示例:如三维球体,识别球体表面的包络点后,能够基于球面上的临近三点构成的平面,创建法向,并能够基于多个面元的外法向的方向,创建不同距离的采样点。可以简单理解为识别 . stl 球面后,创建多个半径大于该球体的球面(球体是指特例,需要使用不规则的三维外形,比如三维翼型)。
  • 提交流程:

  • 提交内容:

    • 设计外部几何读入后向外扩展的采样方法,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 提交可执行的、基于 Python 实现的 API,并提供对应API功能实现方案及 Demo,可复现提交的内容;
    • 提交的 API 具有通用性,支持不同形状外部几何文件(凸形状的 .stl 文件)的外部加密节点采样,需要提供对应单测的完整说明;
    • 加密采样可以分为均匀采样与随机/准随机采样几种形式,并能够对均匀采样定义采样密度;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟悉 Python;
    • 熟悉准随机采样中的样本序列(Montecarlo/ 拉丁超立方等);
    • 简单了解 CAD 生成 .stl 的过程。
  • 参考内容:

No.58:PaddleScience 支持解析 CFD 前处理网格文件

  • 技术标签:科学计算,文件解析,Python

  • 任务难度:基础

  • 详细描述:基于 Python 开发标准 API,能够解析 Gambit/Fluent 等工具前处理阶段定义的 .msh 网格文件,能够解析网格文件中对应的各个节点 set 集(包含流场内部区域、边界区域),set 集合应该按照类别包含对应的节点坐标,如:BC__Inlet :(noedID, node_x, node_y, node_z)。

  • 提交流程:

  • 提交内容:

    • 设计外部几何读入后向外扩展的采样方法,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 提交可执行的、基于 Python 实现的 API,并提供对应 API 功能实现方案及 Demo,可复现提交的内容;
    • 提交的 API 要简洁易用,可直接给定 .msh 文件,并解析出对应的节点集合与节点坐标,需要提供完整的使用说明,并放到参考文件夹中;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立 API 功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟悉Python;
    • 初步了解 CFD 网格,如 GMSH工具 可生成 .msh 文件。
  • 参考内容:

    • .msh 文件可参照 CFD 工具 Fluent 导出,解析结果可参照 OpenFoam mesh读取等工具识别后的结果
    • rfc模板 rfcs/example

No.59:为 PaddleMD 增加 MARTINI 力场

  • 技术标签:分子动力学,Python

  • 任务难度:进阶

  • 详细描述:在 PaddleMD 套件已有 Amber 力场的基础上,为其增加丰富的力场库,本任务增加粗粒化力场 MARTINI。并在 MARTINI 力场的基础上跑通一个生物蛋白分子的例子,评价标准根据新增力场的相关代码和生物蛋白案例的准确度进行结果的评定。

  • 提交流程:

  • 提交内容:

    • 设计逻辑、代码流程图、显示结果、性能分析、概述流程的文档,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 PaddleMD 开源仓库。
  • 合入标准:

    • 按 API 设计规范 完成 API 设计文档,且设计思路于已有概率分布技术方案保持一致;
    • 按 API 验收标准完成 API 功能实现、单测、API 文档;完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉分子动力学方法。
  • 参考内容:

    • PaddleMD 可参考已有的 Amber 力场;
    • GROMACS(可参考 GROMACS 关于 MARTINI 力场的源代码);
    • MARTINI 力场:资料1(MARTINI力场官网)、资料2(一个创建分子初始结构的工具,源代码包含了 MARTINI 力场)。

No.60:为 PaddleMD 新增自由能计算工作流

  • 技术标签:分子动力学,Python,C++

  • 任务难度:进阶

  • 详细描述:在 PaddleMD 套件已有 Amber 力场的基础上,增加自由能计算工作流。任务目标实现自由能微扰(FEP)/热力学积分(TI)/平均作用力势能(PMF)任意一种均可,可任选一种抽样方法完成该任务。评价标准根据工作的完成程度酌情进行判定。

  • 提交流程:

  • 提交内容:

    • 设计逻辑、显示结果、性能分析、概述流程的文档等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 PaddleMD 开源仓库。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立 API 功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python、C++;
    • 熟悉分子动力学方法。
  • 参考内容:

    • PaddleMD
    • GROMACS(可参考自由能计算相关代码)
    • LAMMPS(可参考自由能计算相关代码)

No.61:为 PaddleScience 2D 非定常圆柱绕流案例调优精度

  • 技术标签:计算流体力学,Python

  • 任务难度:进阶

  • 详细描述:在 PaddleScience 工具组件已有的 2D 非定常圆柱绕流 Demo 基础上,进一步调优精度,不限 Loss 类型(L2、MSE),optimizer 等多种调参手段或者正则化算法,进一步降低整体 Loss。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉计算流体方法和相关神经网络优化方法。
  • 参考内容

No.62:为 PaddleScience 2D 非定常圆柱绕流案例进行可解释性分析

  • 技术标签:计算流体力学,Python

  • 任务难度:进阶

  • 详细描述:在 PaddleScience 工具组件已有的 2D 非定常圆柱绕流 Demo 基础上,进行可解释性分析,可利用表征可视化或者贝叶斯等等工具与算法进行分析。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,概述流程,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉计算流体方法和相关神经网络可解释性方法与工具。
  • 参考内容:

No.63:为 PaddleScience 2D 非定常圆柱绕流案例进行训练过程动力学行为进行分析

  • 技术标签:计算流体力学,Python

  • 任务难度:进阶

  • 详细描述:在 PaddleScience 工具组件已有的 2D 非定常圆柱绕流 Demo 基础上,进行训练过程动力学行为分析,比如时间维度、空间维度、频域维度收敛情况。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,概述流程,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉计算流体方法和相关神经网络训练过程动力学理论。
  • 参考内容:

No.64:为 PaddleScience 增加基于数据驱动的污染物扩散深度学习模型案例

  • 技术标签:计算流体力学,Python

  • 任务难度:进阶

  • 详细描述:120个动图数据:3个风速 * 5个释放源点位 * 8个风向,选择 CV 或者时序类模型提取数据特征,得到污染物扩散模型。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,概述流程图,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉计算流体方法和相关神经网络训练过程动力学理论。
  • 参考内容:

No.65:减少 PaddleScience 2D 非定常圆柱绕流案例的监督数据

  • 技术标签:计算流体力学,Python

  • 任务难度:进阶

  • 详细描述:目前该模型使用了 200 - 300 个点的监督数据(不考虑时间维度),希望能降低到 30 个点以内,保持同样的精度。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,概述流程图,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉计算流体方法和相关神经网络训练过程动力学理论。
  • 参考内容:

No.66:为 PaddleScience 增加损失函数权重自适应功能

  • 技术标签:Python

  • 任务难度:进阶

  • 详细描述:由于 PINNs 方法中损失函数由 PDE Loss、初值 Loss、边值 Loss及 data Loss 组成,其中每项损失函数有不同的权重,本题目希望为 PaddleScience 新增 GradNorm Loss 权重自适应功能,集成入 PaddleScience 作为 API 调用。

  • 提交流程:

  • 提交内容:

    • 设计思路与逻辑,概述流程图,相关原理等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至 X4Science 开源仓库,并创建自己的文件夹。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立API功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉PaddlePaddle、Pytorch。
  • 参考内容:

No.92:为 Paddle_DeepMD-kit 新增Descriptor

  • 技术标签:Python,分子动力学

  • 任务难度:进阶

  • 详细描述:在Paddle-DeepMD-kit上增加se_e2_r 或 se_e3 或hybrid 共计三个Descriptor,并基于LAMMPS,以example下的water为例,测试上述三个Descriptor的精度与性能表现。根据实现的Descripor量、结果精度评估任务。

  • 提交流程:

  • 提交内容:

    • 设计逻辑、显示结果、性能分析、概述流程的文档等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至Paddle_DeepMD-kit开源仓库。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立 API 功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉深度学习方法、分子动力学方法。
  • 参考内容:

No.93:为 Paddle_DeepMD-kit 增加一种新的fitting net

  • 技术标签:深度学习、Python,分子动力学

  • 任务难度:进阶

  • 详细描述:在Paddle-DeepMD-kit上增加fitting net,分别为tensor 和 dipole,并基于LAMMPS,以example下的water为例,测试其精度与性能表现。根据实现的fitting net量、结果精度评估任务。

  • 提交流程:

  • 提交内容:

    • 设计逻辑、显示结果、性能分析、概述流程的文档等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至Paddle_DeepMD-kit开源仓库。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立 API 功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 Python;
    • 熟悉深度学习方法、分子动力学方法。
  • 参考内容:

No.94:为 Paddle_DeepMD-kit 增加与GROMACS的接口

  • 技术标签:分子动力学,深度学习,C++,CMake

  • 任务难度:进阶

  • 详细描述:详细描述:在Paddle-DeepMD-kit上增加与GROMACS的接口,目前已经具备Paddle_DeepMD-kit对外的统一C++接口,可基于此支持GROMACS。并以水分子为例测试Paddle_DeepMD-kit + Gromacs训练推理全流程,根据完成程度酌情评价。

  • 提交流程:

  • 提交内容:

    • 设计逻辑、显示结果、性能分析、概述流程的文档等,提交方案 rfc 至 community 的 rfcs/Science 目录下;
    • 请将代码提交至Paddle_DeepMD-kit开源仓库。
  • 合入标准:

    • 按 rfc 设计文档格式,提交设计思路,并保证后期提交的内容与该技术方案保持一致;
    • 针对提交的内容,在自定义 repo 下建立 API 功能实现、单测、API 文档对应的文件夹,并完成功能实现、单测、功能测试。
  • 技术要求:

    • 熟练掌握 C++,CMake
    • 熟悉深度学习方法、分子动力学方法
    • 了解GROMACS的使用
  • 参考内容:

答疑交流

  • 如果在开发中对于上述任务有任何问题,欢迎在本 ISSUE 下留言交流。
  • 对于开发中的共性问题,在活动过程中,会定期组织答疑,请大家关注官网&QQ群的通知,及时参与。
@i02-c
Copy link

i02-c commented Jul 26, 2022

【队名】:冬天不太热
【序号】:94
【状态】:报名
【链接】:https://github.com/X4Science

@luotao1 luotao1 closed this as completed May 31, 2023
@paddle-bot paddle-bot bot added the status/close 已关闭 label May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants