在进行CFD模拟之前,必须为Fluent提供一个初始的猜测流场解。在许多情况下,需要格外小心地提供一个初始解,以确保能够达到所需的最终解。例如,在实际的超声速风洞中,如果仅将背压降低到其工作值是不会启动的;气流会在风洞喉部被堵塞并且不会过渡到超声速状态。对于数值模拟来说也是如此:必须将气流初始化为超声速流动,否则它只会堵塞并保持在亚音速状态。
Fluent中有两种方法来对流场进行初始化:
-
对整个流体区域(所有的计算网格)进行初始化。有三种方法可供选择: -
Standard初始化 -
FMG初始化 -
Hybrid初始化 -
在选定的网格区域或网格寄存器(cell registers)中为特定的流动变量Patch值或函数。
重要:
在给选定的网格patch初始值之前,必须先对整个流场进行初始化。随后可以将新值覆盖到选定变量的初始值上。
如果在分析中使用了以下任一项,那么
在进行求解初始化之前,无论是采用 Hybrid Initialization 方法还是从 Compute from 下拉列表中选择特定区域的数据,用户都必须首先执行不选择任何区域的 Standard 初始化。
首先,通过Standard初始化将得到初步的解值,这些值随后将用于获取所需的初始值。推荐的流程有助于解决潜在的循环依赖问题(例如解变量的初始化值对材料属性或表达式的依赖以及材料属性或表达式对求解值的依赖)。
用户自定义真实气体模型(UDRGM) 通过UDF定义的密度 依赖于求解变量的表达式 ”
36.9.1 使用Standard初始化方法初始化整个流场
在进行计算,或为选定网格中的选定变量Patch初始值之前,用户必须在整个计算域中初始化流场。
-
通过模型树节点 Solution → Initialization 进入到初始化面板
可以从指定区域的信息计算初始值、手动输入初始值,或让求解器根据所有区域计算平均值作为初始值。还可以指定所指定的速度初始值是绝对值还是相对于每个网格区域的相对值。Standard初始化的步骤为:
-
选择 Standard Initialization 作为 Initialization Method 。 -
设置初始值: -
若要使用为特定区域设置的值来初始化流场,可在 Compute from 下拉列表中选择区域的名称。所有标有 Initial Values 的值将根据选定区域定义的物理条件自动计算和更新。 -
若要使用计算得出的平均值来初始化流场,请在 Compute from 下拉列表中选择 all-zones 。此时Fluent 将根据所有边界区域定义的条件计算并更新 Initial Values 。 -
如果要更改一个或多个值,可以在变量旁边的输入框中手动输入新值。如果希望手动输入所有值,可以在不选择 Compute from 列表中的区域的情况下进行。对于具有单相流的组分输运问题,可以使用通过点击 Solution Initialization 任务页中的 Species 按钮,在打开的 Select Boundary Species 对话框(参见图18.3)中选择要显示在列表中的边界组分。 -
如果问题涉及到运动参考系或滑移网格,则需要指定初始速度是绝对速度还是相对于每个网格区域的相对速度,可以在 Reference Frame 下中选择 Absolute 或 Relative to Cell Zone。(如果问题中没有涉及到区域运动,则这两个选项是等效的)。Fluent 中初始速度默认为相对参考系。如果大部分区域的解是旋转的,使用相对选项可能比使用绝对选项更好。 -
在确认任务页面上显示的 Initial Values 后,可以点击 Initialize 按钮以初始化流场。如果有已存在的求解数据(即已经进行了某些计算或初始化了解),此时需要确认覆盖这些数据是可以接受的。
36.9.1.1 保存和重置初始值
点击 Initialize 按钮对求解变量进行初始化时,这些初始值会被保存;如果之后需要重新进行初始化,在重新打开任务页面时可以看到正确的值。若从Compute from列表中意外选择了错误的区域或手动设置的值不正确,可以使用Reset按钮将所有物理场数据重置为保存的值。
36.9.2 在选定的网格中Patch值
对整个流动区域进行了初始化后,还可以为不同的网格区域特定变量Patch不同值。例如,若计算域中存在多个流体区域,此时希望在每个区域中指定不同的温度时,就可以使用Patch进行处理。除此以外,还可以选择Patch自定义场函数而不仅仅是常数值。如果Patch速度,可以指定所给值是绝对速度还是相对于网格区域速度的相对速度。用户可以使用表达式来Patch网格区域和网格寄存器。所有Patch操作均通过Patch对话框完成。
-
可以通过双击模型树节点Solution → Initialization打开任务页,点击按钮Patch... 打开Patch对话框
Patch的使用步骤为:
-
在 Variable 列表中选择要Patch的变量。
注意:对于单相流的物种传输案例,可以使用Select Boundary Species对话框(见图18.3)来选择要显示在Variable列表中的边界物种,该对话框可以通过点击Solution Initialization任务页面中的Species按钮访问。
”
-
在 Zones to Patch 和/或 Registers to Patch 列表中选择希望为选定变量Patch值的区域和/或寄存器。
重要提示:当创建了一个壳传导区域(即,通过启用壁面的壳传导并运行计算),壳层区域的名称将以 shell :
的形式列在Zones to Patch 列表中,其中
是启用了壳层传导的壁面名称。只有温度可以被Patch到壳层的网格中,并且相同的值或场函数将被Patch到壳层的每一层。”
-
如果要Patch一个常量值,只需在 Value 中输入该值。如果要指定更复杂的值,可以使用表达式或场函数。
-
若要使用表达式,可以从Value右侧的下拉列表中选择 Expression,并点击输入框右侧的表达式定义按钮以打开表达式定义对话框。 -
若要使用场函数,可以启用 Use Field Function 选项,并在 Field Function 列表中选择合适的场函数。 -
如果在Variable列表中选择了速度,并且问题涉及运动参考系或滑移网格,通过选择 Reference Frame 下的 Absolute 或Relative to Cell Zone来指明Patch的速度是绝对速度还是相对于每个单元区域运动的速度。(如果问题中没有区域运动,这两种选项是等效的。)Fluent 中速度Patch的默认参考系是相对的。如果大多数区域内的解是旋转的,使用相对选项可能比使用绝对选项更好。
-
单击Patch按钮以更新流场数据。(注意,Patch不会对迭代次数或时间步长产生影响。)
重要:如果在从 Workbench 设置 Fluent 模拟时应用了Patch,那么该Patch在未来从 Workbench 进行的自动解更新中将不会自动执行。如果每次从 Workbench 更新解时都需要应用Patch,可以通过在 Automatic Solution Initialization and Case Modification 对话框的 Case Modification 标签页下的 Original Settings 命令列表中添加文本命令
/solve/patch
(附带适当的参数)来实现。”
36.9.2.1 使用Registers
能够在网格寄存器中Patch值赋予了在单个网格区域内Patch不同值的灵活性。例如,用户可能希望仅在具有特定浓度范围的一种组分的流体网格中Patch某个温度值,此时可以创建网格寄存器(基本上是网格列表)。这些功能允许根据物理位置、网格体积、特定变量的梯度或等值面(使用场变量寄存器)以及其他参数来标记网格。创建寄存器后,可以根据上述方法Patch其中的值。
36.9.2.2 使用场函数
通过使用Custom Field Function Calculator对话框定义自己的场函数,可以在选定的网格中填充非恒定值。例如,可能希望在流体区域中填充变化的组分质量分数。要使用此功能,只需按照Custom Field Functions中的描述创建场函数,然后在Patch Dialog Box中执行场函数Patch操作。
36.9.2.3 在求解过程中使用Patch
由于Patch仅影响选择更改值的变量,而其余的流场变量保持不变,因此可以在后续求解过程中使用而不会丢失已计算的数据。(相比之下,初始化会将所有数据重置为初始值)。例如在燃烧仿真中,有时候可能希望从冷态解开始进行燃烧计算,此时只需要读取(或计算)冷态流场数据,然后在适当的网格中Patch高温,即可继续计算。
当使用逐步求解方法时,Patch也非常有用。
注:本文取自Fluent UserGuide 36.9。机器翻译,未校对。
”
<完>
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册