吾生有涯 学海无涯
析模有界 知识无界

【Fluent案例】10:Adjoint求解器

内容纲要

在Fluent中,可以利用Adjoint求解器实现壁面形状优化。本案例演示Fluent Adjoint求解器使用的基本流程。

1

案例描述

本案例要计算的模型如下图所示,为典型的圆柱绕流问题。利用Adjoint求解器优化圆柱形状,以减小流体流经圆柱的阻力,同时增加流动升力。

计算域上壁面及下壁面均设置为对称边界,流动雷诺数约为40,采用层流计算。

2

启动Fluent

  • 2D方式启动Fluent

  • 选择双精度Double Precision模式

  • 利用菜单File → Read → Case & Data…加载cylinder_tutorial.cas文件

3

General设置

采用默认设置。

4

Models设置

默认设置。

5

 Material设置

修改Air的密度为1 kg/m3,粘度为1 kg/m-s。

  • 双击模型树节点Materials > Fluid > Air弹出材料属性定义对话框

  • 修改Density1 kg/m3

  • 修改Viscosity 1 kg/m-s

6

Boundary Conditons

  • 双击模型树节点Boundary Conditions > inlet ,弹出入口边界设置对话框

  • 设置Velocity Magnitude40 m/s

  • 其他参数保持默认设置,点击OK按钮关闭对话框

7

 Reference Values设置

  • 双击模型树节点Reference Values

  • 右侧面板中设置Compute frominlet

8

 Monitors

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

9

 Report Definitions

定义升力和阻力。

此处内容在老版本的Fluent中,操作过程略有不同

  • 右键选择模型树节点Report Definitions,选择弹出菜单New → Force Report → Drag…弹出阻力定义对话框

  • 按下图所示进行设置

  • 相同的方式定义升力系数监测,如下图所示。

10

 Initialization

  • 右键点击模型树节点Solution > Initialization,选择菜单项Initialize进行初始化

11

 Run Calculation

  • 双击模型树节点Run Calculation

  • 设置右侧额面板中Number of Iterations300

  • 点击按钮Calculate进行计算

12

 查看结果

1、监测曲线

升力系数与阻力系数监测结果如下图所示。

2、速度分布

13

 加载Adjoint求解器

Adjoint求解器属于隐藏模型,需要通过TUI命令激活:

define/models/addon-module

出现如下图所示,选择Adjoint Solver。

激活Adjoint求解器后,Fluent的界面发生了改变,添加了一个Design标签页。

14

定义Observables

所谓的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 Component1, 设置Y Component0

  • 点击Apply按钮创建一个检测量

  • 继续点击按钮Create…创建另一个观测量force-lift,如下图所示

  • 在Manage Adjoint Observables对话框中,设置force-lift的X Component0, 设置Y Component1,如下图所示

  • 点击OK按钮关闭对话框,返回至Adjoint Observables对话框中

  • 设置force-drag下方的sensitivity OrientationMinimize

  • 点击Close按钮关闭对话框

此对话框中可以选中观测量,点击右侧按钮Evaluate在TUI窗口中显示此观测量当前值。

15

设置控制参数

  • 点击Design标签页下按钮Solver Controls…,弹出Adjoint Solution Controls对话框

  • 取消选项Solution-Based Controls Initialization

  • 激活选项Show Advancement Controls

  • 激活选项Apply Preconditioning,设置参数采用默认

  • 点击Close按钮关闭对话框

16

Calculate

  • 点击Design标签页下按钮Calculate…,弹出Run Adjoint Calculation对话框

  • 点击对话框中按钮Initialize进行初始化

  • 设置参数Number of Iterations300

  • 点击按钮Calculate进行计算

17

查看边界敏感性

  • 点击Desing标签页下按钮Reporting…,弹出Adjoint Reporting对话框

  • 选择列表项inlet,点击按钮Report,在TUI窗口输出敏度信息

如下图所示,可以看到在入口速度40m/s情况下,阻力的敏度为54.5。

18

查看云图

  • 右键选中模型树节点Results > Contours,选择弹出菜单New…

  • 在弹出对话框中,设置Contours ofSensitivities…Sensitivity to Body Force X-Component(Cell Values)

  • 点击按钮Save/Display显示图像

图形如下图所示。

19

查看形状敏感性

  • 鼠标右键选择模型树节点Results > Graphics > Vectors,选择弹出菜单项New…定义新的矢量图

  • 设置Vectors ofSensitivity to Shape

  • 选择surface列表框中的列表项wall

  • 点击按钮Save/Display显示图像

矢量图如下图所示。

20

定义优化区域

  • 选择Design标签页下按钮Design Tools弹出设置对话框

  • 进入对话框的Region标签页,按下图所示参数设置

  • 点击按钮Update Region

  • 点击按钮Export Sensitivities…,在弹出的文件保存对话框中保存敏度文件force-drag.s

21

计算升力敏度

  • 点击Observable…按钮,进入Adjoint Observables对话框

  • 选择列表项force-lift,设置其sensitivity OrientationMaximize

  • 点击Design标签页下按钮Calculate…,弹出Run Adjoint Calculation对话框

  • 点击对话框中按钮Initialize进行初始化

  • 设置参数Number of Iterations300

  • 点击按钮Calculate进行计算

22

优化目标函数

  • 进入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,如下图所示。

23

定义区域变形参数

  • 进入Region Conditions标签页

  • 设置X MotionY Motion的Points均为30

  • 点击Apply按钮

24

网格变形

  • 进入Design Change标签页

  • 选择Zone To Be Modified下的列表项为wall

  • 点击按钮Calculate Design Change

  • 点击按钮Modify Mesh

25

查看网格

  • 双击模型树节点General

  • 选择右侧面板中的Display按钮,显示网格

变形后的网格如下图所示。

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《【Fluent案例】10:Adjoint求解器》
文章链接:https://www.topcfd.cn/410/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册