# 湍流建模赛题-南科大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。
猰貐的新时代
- 粉丝: 1w+
- 资源: 2901
最新资源
- 高考倒计时html完整代码.html
- 机械手机器人含设计文档汽车零件加工自动线上的多功能机械手的设计
- 【自动驾驶博弈决策道】VS「文献复现」 参考文献博弈公式建立,体会博弈决策思想,对照代码实现并学会自主解决问题 基于NGSSIM数据集预定义路径 python求解结果matlab绘图对比实验分析及
- 基于python的web漏洞挖掘技术的研究(django)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档轻型平动搬运机械手的设计
- 基于自适应svm电影评价倾向性分析(cs)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档三自由度圆柱坐标型工业机器人设计
- 基于python的棉花数据平台建设与可视化系统(django)源代码(python毕业设计完整源码+LW).zip
- 【图像分割领域】+【Segment Anything模型】+【C++本地部署】
- 机械手机器人含设计文档数控机床上下料机械手设计
- 基于python的人脸表情的分类算法的设计(django)源代码(python毕业设计完整源码+LW).zip
- 生日快乐祝福html完整代码.html
- 基于python的图像取证技术研究与实现(django)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档数控卧式镗铣床换刀机械手的设计
- IMG_20241231_151913.jpg
- 基于python的校园舆情管理系统源代码(python毕业设计完整源码+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈