"tests/vscode:/vscode.git/clone" did not exist on "f4fdb3a0ab2ba7ab77158d09f0d564dc7f9a6b01"
Commit 79f25a88 authored by mashun1's avatar mashun1
Browse files

jax-cfd

parent 5e31fa1f
Pipeline #1016 failed with stages
in 0 seconds
# jax-cfd_jax # jax-cfd_jax
## 仓库介绍 <!-- ## 仓库介绍
JAX-CFD是一个探索机器学习、自动微分和硬件加速器(GPU/TPU)在计算流体动力学中潜在应用的实验研究项目。它是用JAX实现的。 JAX-CFD是一个探索机器学习、自动微分和硬件加速器(GPU/TPU)在计算流体动力学中潜在应用的实验研究项目。它是用JAX实现的。
...@@ -38,30 +38,28 @@ JAX-CFD目前专注于非稳态湍流流动: ...@@ -38,30 +38,28 @@ JAX-CFD目前专注于非稳态湍流流动:
- 稳态模拟(例如,雷诺平均N-S方程RANS) - 稳态模拟(例如,雷诺平均N-S方程RANS)
- 在多个TPU/GPU上的分布式模拟 - 在多个TPU/GPU上的分布式模拟
我们欢迎在这些方面的任何合作!在开始重要工作之前,请通过GitHub或电子邮件与我们联系以协调。 我们欢迎在这些方面的任何合作!在开始重要工作之前,请通过GitHub或电子邮件与我们联系以协调。 -->
## 论文
## 应用案例
### 论文
**Machine learning–accelerated computationalfluid dynamics** **Machine learning–accelerated computationalfluid dynamics**
* https://www.pnas.org/doi/epdf/10.1073/pnas.2101784118 * https://www.pnas.org/doi/epdf/10.1073/pnas.2101784118
### 模型结构 ## 模型结构
该模型包括一个卷积神经网络,该网络控制在标准数值求解器的对流计算中的学习近似。ψ和u分别指的是被输送和输送速度分量。对于空间维度,有d*d个对流通量模块的副本,对应于每个空间方向中每个速度分量的通量。 该模型包括一个卷积神经网络,该网络控制在标准数值求解器的对流计算中的学习近似。ψ和u分别指的是被输送和输送速度分量。对于空间维度,有d*d个对流通量模块的副本,对应于每个空间方向中每个速度分量的通量。
![alt text](asset/model_structure.png) ![alt text](asset/model_structure.png)
### 算法原理 ## 算法原理
CNN网络具有平移不变性。这意味着网络对输入数据的平移不敏感,即使图像中的对象位置发生了变化,网络也能识别出对象。在流体动力学的上下文中,网络能够识别出流动中相同的模式,无论它们在空间中如何移动。此外,卷积神经网络在空间上是局部化的,网络的操作集中在输入数据的局部区域。在流体动力学的背景下,网络专注于网格点周围的局部流速场,而不是整个流速场。这种局部化允许网络捕捉局部流动特征,如涡旋、边界层等,这对于准确模拟流体行为至关重要。 CNN网络具有平移不变性。这意味着网络对输入数据的平移不敏感,即使图像中的对象位置发生了变化,网络也能识别出对象。在流体动力学的上下文中,网络能够识别出流动中相同的模式,无论它们在空间中如何移动。此外,卷积神经网络在空间上是局部化的,网络的操作集中在输入数据的局部区域。在流体动力学的背景下,网络专注于网格点周围的局部流速场,而不是整个流速场。这种局部化允许网络捕捉局部流动特征,如涡旋、边界层等,这对于准确模拟流体行为至关重要。
![alt text](asset/alg.png) ![alt text](asset/alg.png)
### 环境配置 ## 环境配置
#### Docker(方法一) ### Docker(方法一)
docker pull image.sourcefind.cn:5000/dcu/admin/base/jax:0.4.23-ubuntu20.04-dtk24.04-py310 docker pull image.sourcefind.cn:5000/dcu/admin/base/jax:0.4.23-ubuntu20.04-dtk24.04-py310
...@@ -71,7 +69,7 @@ CNN网络具有平移不变性。这意味着网络对输入数据的平移不 ...@@ -71,7 +69,7 @@ CNN网络具有平移不变性。这意味着网络对输入数据的平移不
pip install dask jupyter pip install dask jupyter
#### Dockerfile(方法二) ### Dockerfile(方法二)
docker build -t <IMAGE_NAME>:<TAG> . docker build -t <IMAGE_NAME>:<TAG> .
...@@ -81,7 +79,7 @@ CNN网络具有平移不变性。这意味着网络对输入数据的平移不 ...@@ -81,7 +79,7 @@ CNN网络具有平移不变性。这意味着网络对输入数据的平移不
pip install dask jupyter pip install dask jupyter
#### Anaconda(方法三) ### Anaconda(方法三)
DTK驱动:dtk24.04 DTK驱动:dtk24.04
python:python3.10 python:python3.10
...@@ -93,7 +91,7 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一 ...@@ -93,7 +91,7 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一
pip install dask jupyter pip install dask jupyter
### 数据集 ## 数据集
1、安装gsutil 1、安装gsutil
...@@ -120,7 +118,7 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一 ...@@ -120,7 +118,7 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一
gsutil -m cp gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000/long_eval*.nc ./content gsutil -m cp gs://gresearch/jax-cfd/public_eval_datasets/kolmogorov_re_1000/long_eval*.nc ./content
### 推理 ## 推理
1、下载模型 1、下载模型
...@@ -153,12 +151,12 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一 ...@@ -153,12 +151,12 @@ Tips:以上dtk驱动、python、jax等DCU相关工具版本需要严格一一
注意:跳过代码中需要下载数据的部分。 注意:跳过代码中需要下载数据的部分。
### result ## result
![alt text](asset/result1.png) ![alt text](asset/result1.png)
#### 精度 ### 精度
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment