PaddlePaddle/PaddleScience

【快乐开源】迁移 DeepCFD 案例至 PaddleScience

HydrogenSulfate opened this issue · 0 comments

This project will be mentored by @HydrogenSulfate

1. 背景

计算流体力学(Computational fluid dynamics, CFD)通过求解Navier-Stokes方程(N-S方程),可以获得流体的各种物理量的分布,如密度、压力和速度等,在微电子系统、土木工程和航空航天等领域应用广泛。然而,在某些复杂的应用场景中,如机翼优化和流体与结构相互作用方面,需要使用千万级甚至上亿的网格对问题进行建模(如下图所示,下图展示了F-18战斗机的全机内外流一体结构化网格模型),导致CFD的计算量非常巨大。因此,目前亟需发展出一种相比于传统CFD方法更高效,且可以保持计算精度的方法。这篇文章的作者提到,可以使用深度学习的方法,通过训练少量传统CFD仿真的数据,构建一种数据驱动(data-driven)的CFD计算模型,来解决上述的问题。

image

在 AIStudio 上已经有使用 PaddlePaddle 框架API 复现的项目:基于PaddlePaddle的DeepCFD复现 - 飞桨AI Studio,现在希望能将这个项目迁移至 PaddleScience,也就是基于 PaddleScience 的 API 实现该项目,最终合入 PaddleScience 仓库

2. 收益

2.1 个人收益

  • 同时熟悉 CV 领域的经典模型结构 U-Net,并从该项目中了解相关流体力学知识,以及如何将物理公式融入到深度学习方法中
  • 学习 PaddleScience 套件代码,掌握开源套件开发基本知识

2.2 PaddleScience 收益

  • 补充 U-Net 结构至 Arch 模块
  • 补充 DeepCFD 案例至流体相关案例中,提升案例丰富度

3. 开发流程

3.1 安装 PaddleScience

下载安装 PaddleScience 套件:https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#121-git

3.2 代码开发

参考 基于PaddlePaddle的DeepCFD复现 - 飞桨AI Studio项目,以及 PaddleScience 的开发与复现指南,使用 PaddleScience API 文档 等价实现该项目,开发代码风格与已有案例保持一致(如 Darcy 2D),训练精度与原论文对齐,并仿照已有文档撰写 DeepCFD 的案例文档,最终合入 PaddleScience。

3.3 整理代码并提交PR

参考 PaddleScience文档-贡献指南-整理代码并提交

4. 参考资料

奖励

500 京东卡