208 Star 856 Fork 632

GVPMindSpore / mindscience

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_CN.md 3.40 KB
一键复制 编辑 原始数据 按行查看 历史
Brian-K 提交于 2023-09-02 11:47 . [fix]

ENGLISH | 简体中文

二维圆柱绕流

概述

问题描述

圆柱绕流,即二维圆柱低速非定常绕流,流动特性与雷诺数Re有关。。在Re≤1 时,流场中的惯性力与粘性力相比居次要地位,圆柱上下游的流线前后对称,阻力系数近似与Re成反比,此Re数范围的绕流称为斯托克斯区;随着 Re 的增大,圆柱上下游的流线逐渐失去对称性。这种特殊的现象反映了流体与物体表面相互作用的奇特本质,求解圆柱绕流则是流体力学中的经典问题。本案例利用 PINNs 求解圆柱绕流的尾流流场。

技术路径

纳维-斯托克斯方程(Navier-Stokes equation),简称N-S方程,是流体力学领域的经典偏微分方程,在粘性不可压缩情况下,无量纲N-S方程的形式如下:

$$ \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} = 0 $$

$$ \frac{\partial u} {\partial t} + u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y} = - \frac{\partial p}{\partial x} + \frac{1} {Re} (\frac{\partial^2u}{\partial x^2} + \frac{\partial^2u}{\partial y^2}) $$

$$ \frac{\partial v} {\partial t} + u \frac{\partial v}{\partial x} + v \frac{\partial v}{\partial y} = - \frac{\partial p}{\partial y} + \frac{1} {Re} (\frac{\partial^2v}{\partial x^2} + \frac{\partial^2v}{\partial y^2}) $$

其中,Re表示雷诺数。

本案例利用 PINNs 方法学习位置和时间到相应流场物理量的映射,实现N-S方程的求解:

$$ (x, y, t) \mapsto (u, v, p) $$

快速开始

数据集下载地址:physics_driven/flow_past_cylinder/dataset/. 将数据集保存在./dataset路径下.

训练方式一:在命令行中调用train.py脚本

python train.py --config_file_path ./configs/cylinder_flow.yaml --device_target GPU --device_id 0 --mode GRAPH

其中,

--config_file_path表示配置文件的路径,默认值'./configs/cylinder_flow.yaml';

--device_target表示使用的计算平台类型,可以选择'Ascend'或'GPU',默认值'GPU';

--device_id表示使用的计算卡编号,可按照实际情况填写,默认值 0;

--mode表示运行的模式,'GRAPH'表示静态图模式, 'PYNATIVE'表示动态图模式。

训练方式二:运行 Jupyter Notebook

您可以使用中文版英文版Jupyter Notebook 逐行运行训练和验证代码。

结果展示

cylinder flow

flow

Time Error

性能

参数 Ascend GPU
硬件资源 Ascend 910A, 显存 32G;CPU: 2.6GHz, 192 核 NVIDIA V100 显存 32G
MindSpore 版本 2.0.0 2.0.0
训练损失 5e-5 6e-5
验证损失 2e-2 2e-2
速度 0.2s/epoch 1s/epoch

贡献者

gitee id:liulei277

email: liulei2770919@163.com

1
https://gitee.com/mindspore/mindscience.git
git@gitee.com:mindspore/mindscience.git
mindspore
mindscience
mindscience
r0.5

搜索帮助