在Fluent中,可以利用Adjoint求解器实现壁面形状优化。本案例演示Fluent Adjoint求解器使用的基本流程。
本案例要计算的模型如下图所示,为典型的圆柱绕流问题。利用Adjoint求解器优化圆柱形状,以减小流体流经圆柱的阻力,同时增加流动升力。
计算域上壁面及下壁面均设置为对称边界,流动雷诺数约为40,采用层流计算。
-
以2D方式启动Fluent
-
选择双精度Double Precision模式
-
利用菜单File → Read → Case & Data…加载cylinder_tutorial.cas文件
采用默认设置。
默认设置。
修改Air的密度为1 kg/m3,粘度为1 kg/m-s。
-
双击模型树节点Materials > Fluid > Air弹出材料属性定义对话框
-
修改Density为1 kg/m3
-
修改Viscosity为 1 kg/m-s
-
双击模型树节点Boundary Conditions > inlet ,弹出入口边界设置对话框
-
设置Velocity Magnitude为40 m/s
-
其他参数保持默认设置,点击OK按钮关闭对话框
-
双击模型树节点Reference Values
-
右侧面板中设置Compute from为inlet
1、设置残差标准
-
双击模型树节点Monitors > Residual弹出残差检测对话框
-
设置所有残差标准为1e-5
2、设置Report Files
-
右键点击模型树节点Monitors > Report Files,选择菜单项New…,弹出报告文件定义对话框
-
定义名为cd-1-rset的report文件,如下图所示。
-
相同的方式定义另一个report file,命名为cl-1-rset
3、设置Report Plots
-
右键选中模型树节点Monitors > Report Plots,选择菜单项New…
-
创建两个plots,分布命名为cd-1-pset及cl-1-pset
定义升力和阻力。
此处内容在老版本的Fluent中,操作过程略有不同
-
右键选择模型树节点Report Definitions,选择弹出菜单New → Force Report → Drag…弹出阻力定义对话框
-
按下图所示进行设置
-
相同的方式定义升力系数监测,如下图所示。
-
右键点击模型树节点Solution > Initialization,选择菜单项Initialize进行初始化
-
双击模型树节点Run Calculation
-
设置右侧额面板中Number of Iterations为300
-
点击按钮Calculate进行计算
1、监测曲线
升力系数与阻力系数监测结果如下图所示。
2、速度分布
Adjoint求解器属于隐藏模型,需要通过TUI命令激活:
define/models/addon-module
出现如下图所示,选择Adjoint Solver。
激活Adjoint求解器后,Fluent的界面发生了改变,添加了一个Design标签页。
所谓的Observable其实就是目标物理量。
-
点击Design标签页下的Observable按钮,弹出Adjoint Observables对话框
-
点击对话框中按钮Manage…,弹出Manage Adjoint Observables对话框
-
点击按钮Create…,弹出Create New Observable对话框
-
选择对话框中的列表项force,输入名称Name为force-drag
-
点击OK按钮关闭对话框,并返回至Manage Adjoint Observables对话框
此时Manage Adjoint Observables对话框发生了改变。
-
选中wall zone下列表项wall
-
设置X Component为1, 设置Y Component为0
-
点击Apply按钮创建一个检测量
-
继续点击按钮Create…创建另一个观测量force-lift,如下图所示
-
在Manage Adjoint Observables对话框中,设置force-lift的X Component为0, 设置Y Component为1,如下图所示
-
点击OK按钮关闭对话框,返回至Adjoint Observables对话框中
-
设置force-drag下方的sensitivity Orientation为Minimize
-
点击Close按钮关闭对话框
此对话框中可以选中观测量,点击右侧按钮Evaluate在TUI窗口中显示此观测量当前值。
-
点击Design标签页下按钮Solver Controls…,弹出Adjoint Solution Controls对话框
-
取消选项Solution-Based Controls Initialization
-
激活选项Show Advancement Controls
-
激活选项Apply Preconditioning,设置参数采用默认
-
点击Close按钮关闭对话框
-
点击Design标签页下按钮Calculate…,弹出Run Adjoint Calculation对话框
-
点击对话框中按钮Initialize进行初始化
-
设置参数Number of Iterations为300
-
点击按钮Calculate进行计算
-
点击Desing标签页下按钮Reporting…,弹出Adjoint Reporting对话框
-
选择列表项inlet,点击按钮Report,在TUI窗口输出敏度信息
如下图所示,可以看到在入口速度40m/s情况下,阻力的敏度为54.5。
-
右键选中模型树节点Results > Contours,选择弹出菜单New…
-
在弹出对话框中,设置Contours of为Sensitivities…及Sensitivity to Body Force X-Component(Cell Values)
-
点击按钮Save/Display显示图像
图形如下图所示。
-
鼠标右键选择模型树节点Results > Graphics > Vectors,选择弹出菜单项New…定义新的矢量图
-
设置Vectors of为Sensitivity to Shape
-
选择surface列表框中的列表项wall
-
点击按钮Save/Display显示图像
矢量图如下图所示。
-
选择Design标签页下按钮Design Tools弹出设置对话框
-
进入对话框的Region标签页,按下图所示参数设置
-
点击按钮Update Region
-
点击按钮Export Sensitivities…,在弹出的文件保存对话框中保存敏度文件force-drag.s
-
点击Observable…按钮,进入Adjoint Observables对话框
-
选择列表项force-lift,设置其sensitivity Orientation为Maximize
-
点击Design标签页下按钮Calculate…,弹出Run Adjoint Calculation对话框
-
点击对话框中按钮Initialize进行初始化
-
设置参数Number of Iterations为300
-
点击按钮Calculate进行计算
-
进入Design Tools对话框的Objectives标签页
-
点击按钮Manage Data…,在弹出的对话框中,导入之前存储的force-drag.s文件
-
返回到Objectives标签页,设置force-drag的object为Target Change In Value
-
设置Target Change In Value为-10
-
激活选项As Percentage,点击Apply按钮
-
相同的方式,定义force-lift,如下图所示。
-
进入Region Conditions标签页
-
设置X Motion与Y Motion的Points均为30
-
点击Apply按钮
-
进入Design Change标签页
-
选择Zone To Be Modified下的列表项为wall
-
点击按钮Calculate Design Change
-
点击按钮Modify Mesh
-
双击模型树节点General
-
选择右侧面板中的Display按钮,显示网格
变形后的网格如下图所示。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册