cfd
论文
Machine learning–accelerated computationalfluid dynamics
模型结构
该模型包括一个卷积神经网络,该网络控制在标准数值求解器的对流计算中的学习近似。ψ和u分别指的是被输送和输送速度分量。对于空间维度,有d*d个对流通量模块的副本,对应于每个空间方向中每个速度分量的通量。
算法原理
CNN网络具有平移不变性。这意味着网络对输入数据的平移不敏感,即使图像中的对象位置发生了变化,网络也能识别出对象。在流体动力学的上下文中,网络能够识别出流动中相同的模式,无论它们在空间中如何移动。此外,卷积神经网络在空间上是局部化的,网络的操作集中在输入数据的局部区域。在流体动力学的背景下,网络专注于网格点周围的局部流速场,而不是整个流速场。这种局部化允许网络捕捉局部流动特征,如涡旋、边界层等,这对于准确模拟流体行为至关重要。
环境配置
Docker(方法一)
docker pull image.sourcefind.cn:5000/dcu/admin/base/jax:0.4.23-ubuntu20.04-dtk24.04-py310
docker run --shm-size 10g --network=host --name=jax_cfd --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
pip install -e ".[complete]"
pip install dask jupyter
Dockerfile(方法二)
docker build -t <IMAGE_NAME>:<TAG> .
docker run --shm-size 10g --network=host --name=jax_cfd --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
pip install -e ".[complete]"
pip install dask jupyter
Anaconda(方法三)
DTK驱动:dtk24.04
python:python3.10
jax: 0.4.23
Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一对应
2、其他非特殊库
pip install dask jupyter
数据集
使用SCNet 高速下载通道下载,
或
1、安装gsutil
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-linux-x86_64.tar.gz
tar zxvf google-cloud-sdk-367.0.0-linux-x86_64.tar.gz
cd /安装目录/google-cloud-sdk
bash install.sh
# 添加环境变量
vim ~/.bashrc
export PATH=$PATH:/安装目录/google-cloud-sdk/bin
source ~/.bashrc
2、下载数据
cd jax-cfd && mkdir content
gsutil -m cp gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000/eval_*.nc ./content
gsutil -m cp -r gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000_fig1 ./content
gsutil -m cp gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000/learned*.nc ./content
gsutil -m cp gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000/long_eval*.nc ./content
推理
1、下载模型
gsutil -m cp gs://gresearch/jax-cfd/public_models/*.pkl ./content
注意:可以使用SCNet高速下载通道下载。
2、执行
注意:跳过代码中需要下载数据的部分以及环境安装部分,根据实际情况修改相关文件路径。
# 执行该目录下的ipynb中的代码
cd notebooks
# 采用交错网格的二维有限体积法模拟
demo.ipynb
# 使用伪谱法解算器的二维模拟
spectral_forced_turbulence.ipynb
# 二维通道流模拟
channel_flow_demo.ipynb
# 在共位网格上使用有限体积法(FVM)的二维模拟
collocated_demo.ipynb
# PNAS论文
# 数据分析及评估
ml_accelerated_cfd_data_analysis.ipynb
# 预训练模型
ml_model_inference_demo.ipynb
注意:可以使用jupyter notebook --no-browser --ip=0.0.0.0 --allow-root
启动运行环境。
result
精度
无
应用场景
算法类别
流体动力学
热点应用行业
化工,气象,能源