# 湍流建模赛题-南科大AI湍流建模
## 题目介绍
不可压缩流体RANS方程如下:
$$\frac{\partial U_i}{\partial x_i}=0$$
$$\rho \frac{\partial U_i}{\partial t}+\rho U_j\frac{\partial U_i}{\partial x_j}=-\frac{\partial P}{\partial x_i}+\frac{\partial}{\partial x_j}\left(2\mu S_{ij}-\rho\overline{u_i'u_j'}\right)$$
其中 $U_i$ 和 $x_i$ 是平均速度与位置, $P$ 是平均压力, $\rho$ 是密度项, $S_{ij}$ 是应变率张量:
$$S_{ij}=\frac{1}{2}\left( \frac{\partial U_i}{\partial x_j} + \frac{\partial U_j}{\partial x_i}\right)$$
$\rho\overline{u_i'u_j'}$ 为雷诺应力,是RANS方程中的未封闭项,需要使用合适的方式对其封闭,就是所谓的湍流模型建模。
本题目的解决方式是利用神经网络模型封闭雷诺应力:
本模型采用全连接神经网络,单个网络预测六个雷诺平均应力,输入为3个速度分量(u, v, w)和9个速度梯度分量(即: 输入维度为12),输出为6个雷诺平均应力(依次为uu, uv, uw, vv, vw, ww)。神经网络结构为12×100×100×100×100×6。输入层通过除以输入数据的rms值做归一化,输出层输出之前乘以目标输出应力的rms值,达到近似归一化的效果。用于归一化的参数已预先计算获取,放在scaling_factors目录下。需要注意的是,在做测试验证时,应使用同样的归一化参数,以保证在模型的训练和测试过程中,归一化操作的一致性。此外,除输出层外,每一层网络都做了batch normalization以增强训练效果。
## 使用的数据集
训练数据来自于周期山、方管、后台阶、压缩拐角等外形在不同工况下的DNS/LES模拟数据。数据集下载地址:https://openi.pcl.ac.cn/innovation_contest/innov202305100905418/datasets
将data_train_input.zip和data_train_output.zip下载解压后,将csv文件放入training_data目录。数据目录结构如下:
```
.
└─training_data
├─data_train_input.csv
└─data_train_output.csv
```
## 环境要求
计算硬件:CPU
系统要求:Windows(IDE环境: Jupyter Notebook)或Linux-x86_64
计算框架:Mindspore 2.0.0, python 3.7(CPU), numpy 1.21.6, pandas 1.3.5, scikit-learn 1.0.2
## 脚本及样例代码
```
.
└─mindspore_RANS
├─src
| └──model.py #神经网络模型文件
├─scaling_factors
| ├──rms_input_factors.npy #训练数据输入归一化参数
| └──rms_output_factors.npy #训练数据输出归一化参数
├─weights
| └──ANN-170_4208.ckpt #训练到最后的权重文件
├─training_data
| └──put_the_training_data_here.txt
├─testing_data
| └──put_the_testing_data_here.txt
├─model_train.ipynb #训练程序(可用于Jupyter Notebook)
├─model_train.py #训练程序(可用于Linux-x86_64系统用脚本提交)
├─model_train.lsf #集群系统任务提交脚本
├─model_predict.ipynb #推理(测试)程序(可用于Jupyter Notebook)
├─model_predict.py #推理(测试)程序(可用于Linux-x86_64系统用脚本提交)
├─model_predict.lsf #集群系统任务提交脚本
├─scaling_factors.ipynb #生成归一化参数的程序(可用于Jupyter Notebook)
├─scaling_factors.py #生成归一化参数的程序(可用于Linux-x86_64系统用脚本提交)
├─scaling_factors.lsf #集群系统任务提交脚本
├─requirements.txt #运行环境
└─README.md
```
## 模型参数
全连接网络参数: 12:100:100:100:100:6
batch size: 4000
learning rate: 0.002
## 评估结果
MAE loss约为0.00025,R2约为0.99892。加权指标0.5*MAE+0.5*(1-R2)约为0.00066。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
python实现基于深度学习的雷诺应力预测源码+PDF文档+代码注释.zip本题目的解决方式是利用神经网络模型封闭雷诺应力:本模型采用全连接神经网络,单个网络预测六个雷诺平均应力,输入为3个速度分量(u, v, w)和9个速度梯度分量(即: 输入维度为12),输出为6个雷诺平均应力(依次为uu, uv, uw, vv, vw, ww)。神经网络结构为12×100×100×100×100×6。输入层通过除以输入数据的rms值做归一化,输出层输出之前乘以目标输出应力的rms值,达到近似归一化的效果。用于归一化的参数已预先计算获取,放在scaling_factors目录下。需要注意的是,在做测试验证时,应使用同样的归一化参数,以保证在模型的训练和测试过程中,归一化操作的一致性。此外,除输出层外,每一层网络都做了batch normalization以增强训练效果。 python实现基于深度学习的雷诺应力预测源码+PDF文档+代码注释.zip本题目的解决方式是利用神经网络模型封闭雷诺应力:本模型采用全连接神经网络,单个网络预测六个雷诺平均应力,输入为3个速度分量(u, v, w)和9个速度梯
资源推荐
资源详情
资源评论
收起资源包目录
python实现基于深度学习的雷诺应力预测源码+全部数据.zip (19个子文件)
mindspore_-rans-master
weights
ANN-170_4208.ckpt 393KB
src
model.py 2KB
model_train.lsf 119B
testing_data
put_the_testing_data_here.txt 0B
湍流建模赛题作品报告.pdf 205KB
scaling_factors
rms_output_factors.npy 152B
rms_input_factors.npy 176B
scaling_factors.lsf 123B
training_data
put_the_training_data_here.txt 0B
model_predict.py 2KB
scaling_factors.ipynb 2KB
model_train.ipynb 4KB
requirements.txt 64B
.gitignore 2KB
model_train.py 3KB
scaling_factors.py 979B
README.md 4KB
model_predict.ipynb 4KB
model_predict.lsf 121B
共 19 条
- 1
资源评论
- 2401_834479342024-05-19资源很实用,对我启发很大,有很好的参考价值,内容详细。
猰貐的新时代
- 粉丝: 1w+
- 资源: 2585
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- vlmcsd-1113-2020-03-28-Hotbird64(最新版本KMS)
- 433.基于SpringBoot的冷链物流系统(含报告).zip
- com.harmonyos4.exception.PowerFailureException(怎么解决).md
- 使用 Python 字典统计字符串中每个字符的出现次数.docx
- com.harmonyos4.exception.SystemBootFailureException(怎么解决).md
- 球队获胜数据集.zip
- ERR-NULL-POINTER(解决方案).md
- <项目代码>YOLOv8 航拍行人识别<目标检测>
- 计算机网络-socket-inet-master.zip
- Java编程学习路线:从基础到实战全攻略
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功