ANSYS FLUENT非结构壳/面网格数值计算及后处理——周期性流动和传热
用ANSYS ICEM CFD划分网格的网格步骤在这篇文章中:ANSYS ICEM CFD——简单的网格生成(以一个简单的例子为例)
本篇文章就是在上篇划分好的网格的基础上做进一步操作。本篇文章重点不是讲解如何使用CFD软件进行工程计算,而是通过数值计算验证ICEM生成的网格是否满足计算要求,也就是采用FLUENT验证生成网格是否可用。
FLUENT的数值计算包含如下基本步骤:
- 读入网格;
- 定义求解模型;
- 定义边界条件;
- 初始化流场;
- 迭代计算;
- 后处理。
读入网格
打开FLUENT
进入Windows操作系统→开始→ANSYS→FLUENT
定义求解器参数
在Dimension栏中选择2D求解器,其余保持默认设置,单击OK按钮确定。
读入网格
选择File→Read→Mesh,选择之前做好的网格Periodic.msh。
定义网格单位
项目树Tree→Setup→General→Mesh中的Scale Mesh。
在Mesh Was Created In下拉列表中选择cm,在View Length Unit In下拉列表中选择cm,完成后点击close。
检查网格
项目树Tree→Setup→General→Mesh中的Check。Minimum Volume应大于0。
网格质量报告
项目树Tree→Setup→General→Mesh中的Report Quality。查看网格质量详细报告。
Mesh Quality:
Minimum Orthogonal Quality = 6.10523e-01
(To improve Orthogonal quality , use "Inverse Orthogonal Quality" in Fluent Meshing,
where Inverse Orthogonal Quality = 1 - Orthogonal Quality)
Maximum Aspect Ratio = 8.21262e+00
显示网格
项目树Tree→Setup→General→Mesh中的Display。在弹出的Mesh Display面板的Surface列表框内为边界名,与ICEM中定义的Part名一一对应,如下图所示。
单击Display按钮,在FLUENT内显示网格,如下图所示。
定义周期性边界条件
在FLUENT文本控制面板输入mesh/modify-zones/make periodic,然后按照下图所示依次输入内容,定义边界in和out为对应的平移周期性边界条件。
注意:上述定义将使Shadow zone(out)变为Periodic zone(in)的从属,在Mesh Display面板的out将消失。
定义求解模型
定义求解器参数
选择项目树Tree→Setup→General→Solve,求解器参数采用默认设置,选择二维基于压力稳态求解器。
定义能量模型
选择项目树Tree→Setup→Models→Energy-off,单击Edit按钮,在弹出的对话框中勾选Energy Equations,单击OK按钮确定。
注意:该流动问题为流动传热问题,因此勾选Energy Equations。
定义材料
选择项目树Tree→Setup→Models→Materials,选择Fluid并单击Creat/Edit,在弹出的Creat/Edit Materials面板中单击FLUENT Database,在FLUENT Fluid Materials下拉列表框中选择water-liquid(h2o<1>),单击Copy。
定义边界条件
定义计算域材料
选择项目树Tree→Setup→Cell Zone Conditions,在zone栏选择fluid,在弹出对话框的Material Name下拉列表框中选择之前定义的water-liquid,单击OK按钮确定。
定义边界条件
1)定义周期性边界条件
选择项目树Tree→Setup→Boundary Conditions
在Zone栏选择in,单击Periodic Conditions,在Periodic Conditions面板的Type栏中勾选Specify Mass Flow,在Mass Flow Rate栏定义流量为0.05kg/s,定义Flow Direction为沿X方向(X=1,Y=0),在Upstream Bulk Temperature栏定义来流温度为300K,其余采用默认设置,单击OK按钮确定。
定义对称边界
选择项目树Tree→Setup→Boundary Conditions
在Zone栏选择sym_down,在Type栏下拉列表框中选择symmetry(对称);采用同样方法定义sym_up为对称边界。
定义壁面边界条件
选择项目树Tree→Setup→Boundary Conditions栏选择th。
在Type下拉列表框中选择Wall,单击edit按钮,在Wall栏选择Thermal标签栏,在Thermal Conditions下拉列表框中选择Temperature,定义表面温度为400K。
初始化流场和迭代计算
定义求解器控制参数
选择项目树Tree→Solution→Method,在Pressure-Velocity Coupling Scheme栏中选择SIMPLE,其余采用默认设置。
定义松弛因子
选择项目树Tree→Solution→Controls,定义能量项松弛因子为0.9,其余采用默认设置。
定义监视器
选择项目树Tree→Solution→Monitors→Residuals,右键点击Residuals勾选Print、Plot。
右键点击Residuals选择Edit,弹出Residual Monitors的选项板,选择Residual Monitors中的options的Print to Console、Plot,定义各项残差值为1×10-6,单击OK按钮确定。
右键单击Report Plots,选择New
点击Selected Report Definitions下边的New→Surface Report→Area-Weighted Average。
进入选项板→勾选Report Plot、Print to Console,在Field Valiable中选择Temperature、Static Temperature。在Surface栏中选择in,单击OK确定。监测计算过程中出口温度变化情况
初始化流场
选择项目树Tree→Solution→Initialization,在Initialization Methods栏选择Hybrid Initialization,单击Initialize初始化流场。
然后单击Patch,在Patch面板的Variable栏中选择Temperature,在Zone to Patch栏选择fluid,在Value栏输入300,单击Patch。初始化流体域温度为300K。
迭代计算
选择项目树Tree→Solution→Run Calculation,在Number of Iterations栏中输入400定义最大求解步数,单击Calculate开始计算。
计算时监视器中各参数变化情况
压力分布
选择项目树Tree→Results→Graphics→Contours
如下图改变参数,点击display。
流场分布
选择项目树Tree→Results→Graphics→Vectors
如下图改变参数,点击display。
注意:管道壁面附近的速度矢量表明生成网格较好地捕捉了壁面边界层内速度的变化情况,生成网格满足计算需要。
保存计算结果并退出
执行File→Write→Case&Data命令,保存案例文件和计算结果。
退出FLUENT。单击FLUENT界面右上角的×(关闭)按钮,在弹出的Warning 对话框中,单击OK按钮,退出FLUENT。
LaplaceBao: 博主可不可以补充二阶向前向后差分的公式呀
谦虚且进步: import numpy as np from scipy.stats import chi2 # 频数转移矩阵,自行修改 fij = np.array([ [1, 0, 8, 0, 0, 0, 2, 20], [0, 2, 0, 0, 27, 0, 0, 0], [0, 0, 2, 0, 0, 0, 19, 0], [2, 0, 0, 4, 4, 0, 0, 89], [0, 0, 0, 6, 8, 0, 0, 0], [0, 13, 0, 0, 0, 28, 0, 0], [32, 0, 47, 0, 0, 0, 3, 0], [3, 0, 0, 15, 0, 0, 0, 3] ]) all_sum = fij.sum(axis=1).sum() boundaryP = fij.sum(axis=1)/all_sum pij = fij/fij.sum(axis=1) chi_value = (fij*np.log(pij/np.squeeze(np.hstack([[[boundaryP]] for i in range(len(boundaryP))]))+0.000001)).sum()*2 df = (fij.shape[0] - 1) * (fij.shape[1] - 1) p_value = chi2.cdf(chi_value, df) # 当chi_value大于查表,或者p_value小于α,则拒绝原假设接受备选假设,即具有马氏性(0假设一般是不具有马氏性)
Vicissitude 灿: 没有pandas模块
weixin_55486391: 这是哪本书的内容呀
weixin_43828835: 二维黄金分割法真的适用码?针对你编写的代码,其中第20行为啥选l1而不是l2或者l1和l2的中点,一个定一个变,那么这个定的选取肯定会影响你的分区,所以我觉得二维黄金分割法,不一定适用,或者你这个代码的健壮性有待商榷。