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

【Hackathon 5th No.63】Physics-informed Convolutional-Recurrent Network for Solving Spatiotemporal PDEs #676

Merged
merged 9 commits into from
Nov 21, 2023
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions rfcs/Science/20230929_phycrnet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# PhyCRNet 设计文档

| | |
|--------------|----------------------------|
| 提交作者 | co63oc |
| 提交时间 | 2023-09-29 |
| RFC 版本号 | v1.0 |
| 依赖飞桨版本 | develop/release 2.5.0 版本 |
| 文件名 | 20230929_phycrnet.md |

## 1. 概述

### 1.1 相关背景

[No.63:PhyCRNet: Physics-informed Convolutional-Recurrent Network for Solving Spatiotemporal PDEs](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#no63phycrnet-physics-informed-convolutional-recurrent-network-for-solving-spatiotemporal-pdes)

用偏微分方程建模的复杂时空系统在许多学科中是普遍存在的,这些学科包括应用数学、物理学、生物学、化学和工程学。解决偏微分方程系统的问题一直是科学计算界的一个关键组成部分。由于大多数物理系统无法获得解析解,近几十年来已经广泛研究和开发了各种数值方法,例如有限差分/元素/体积法和 isogeometric 分析(IGA)法。虽然用基函数和未知参数近似精确解的经典数值方法在正向分析中可以达到很高的精度,但是在数据同化和逆向问题的应用中,计算需求仍然是一个关键问题,例如由于需要重复进行正向模拟。

co63oc marked this conversation as resolved.
Show resolved Hide resolved
### 1.2 功能目标

复现 PhyCRNet 模型

co63oc marked this conversation as resolved.
Show resolved Hide resolved
在此,我们考虑一组多维 (n)、非线性、耦合的参数设置下的偏微分方程 (PDE) 系统的通用形式:
co63oc marked this conversation as resolved.
Show resolved Hide resolved

$$
\mathbf{u}_t+\mathcal{F}\left[\mathbf{u}, \mathbf{u}^2, \cdots, \nabla_{\mathbf{x}} \mathbf{u}, \nabla_{\mathbf{x}}^2 \mathbf{u}, \nabla_{\mathbf{x}} \mathbf{u} \cdot \mathbf{u}, \cdots ; \boldsymbol{\lambda}\right]=\mathbf{0}
$$

我们的目标是开发基于深度神经网络(DNN)的方法,用于解决给定式中的时空PDE系统的正向分析问题。

### 1.3 意义

复现 PhyCRNet 模型,能够使用 PhyCRNet 模型进行推理。

## 2. PaddleScience 现状

PaddleScience 套件暂无 PhyCRNet 模型案例。
co63oc marked this conversation as resolved.
Show resolved Hide resolved

## 3. 目标调研

参考代码 https://github.com/isds-neu/PhyCRNet
论文链接 https://arxiv.org/abs/2106.14103

原代码为 Pytorch 代码,需要在 PaddleScience 中复现,复现的主要问题是模型的转换,数据集读取的转换,使用 PaddleScience 的 API 调用。

## 4. 设计思路与实现方案

参考已有代码实现 PhyCRNet
1. 模型构建
2. 方程构建
3. 计算域构建
4. 约束构建
5. 超参数设定
6. 优化器构建
7. 评估器构建
8. 模型训练、评估

### 4.1 补充说明[可选]


## 5. 测试和验收的考量

原代码使用脚本 Codes/PhyCRNet_burgers.py 运行,复现需要达到原有代码精度,并使用 PaddleScience 复现
co63oc marked this conversation as resolved.
Show resolved Hide resolved

## 6. 可行性分析和排期规划

参考代码修改为 paddle 实现,使用 PaddleScience API,测试精度对齐
202309:调研
202310:基于 Paddle API 的复现,基于 PaddleScience 的复现
202311:整理项目产出,撰写案例文档

## 7. 影响面

在 ppsci.arch 下新增 PhyCRNet 模型