221 Star 935 Fork 688

GVPMindSpore/mindscience

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.gitee
.jenkins
MindChemistry
MindEarth
MindElec
MindFlow
applications
cfd
acoustic
couette
lax
images
src
README.md
README_CN.md
lax_tube.ipynb
lax_tube_CN.ipynb
numeric.yaml
solve_lax.py
riemann2d
sod
data_driven
data_mechanism_fusion
pdeformer1d
physics_driven
research
README.md
README_EN.md
cmake
docs
features
mindflow
CMakeLists.txt
CONTRIBUTION_CN.md
LICENSE
NOTICE
README.md
README_EN.md
RELEASE.md
RELEASE_CN.md
build.sh
requirements.txt
setup.py
version.txt
MindSPONGE
SciAI
docs
tests
RELEASE.md
.gitignore
CONTRIBUTION.md
LICENSE
NOTICE
OWNERS
README.md
README_CN.md
models.md
models_en.md
requirements.txt
version.txt
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ENGLISH | 简体中文

Lax 激波管问题

概述

Lax 激波管问题是流体动力学中的经典问题,以 Peter D. Lax 的名字命名。该问题用于测试求解偏微分方程的数值方法的准确性。本案例采用 MindFlow 流体模拟套件用于解决 Lax 激波管问题。

快速开始

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

python solve_lax.py --mode GRAPH --save_graphs_path ./graphs --device_target GPU --device_id 0 --config_file_path ./numeric.yaml --reconstructor WENO5 --riemann_computer Roe

其中, --mode表示运行的模式,'GRAPH'表示静态图模式, 'PYNATIVE'表示动态图模式,详见MindSpore 官网,默认值'GRAPH';

--save_graphs表示是否保存计算图,默认值'False';

--save_graphs_path表示计算图保存的路径,默认值'./graphs'

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

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

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

--reconstructor表示使用的重构格式,可以选择'WENO3'、'WENO5'或'WENO7',默认值'WENO5';

--riemann_computer表示使用的 Riemann 求解器,可以选择'HLLC'、'Roe'或'Rusanov',默认值'Roe';

训练方式二:运行 Jupyter Notebook

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

结果展示

下面的两幅图展示了针对 Lax 激波管问题采用不同的重构格式和 Riemann 求解器所计算得到的结果。首先是第一幅图,展示了在使用 Roe Riemann 求解器的情况下,采用不同的重构格式得到的结果。第二幅图旨在展示在使用固定重构格式 WENO5 的情况下,不同 Riemann 求解器之间的差异。其中,"exact"表示精确解,用作参考对比。需要注意的是,两幅图中的计算结果呈现出一定的振荡行为。这是因为本程序采用了基于物理空间的守恒变量重构,而在物理空间中进行高阶重构可能会引起一些振荡。从结果中也可以观察到,WENO7 的振荡比 WENO3 更为明显。

重构格式对比 黎曼求解器对比

Contributor

huxin2023

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mindspore/mindscience.git
git@gitee.com:mindspore/mindscience.git
mindspore
mindscience
mindscience
master

搜索帮助