本文描述了如何在Fluent中对凝固和熔化进行建模。
1 Fluent设置过程
下面描述了建立凝固/熔化问题的步骤。(注意本程序仅包括凝固/熔化模型本身所需的步骤;您将需要像往常一样设置其他模型、边界条件等。)
-
利用模型树节点Setup → Models → Solidification&Melting打开模型设置对话框,如下图所示,激活选项Solidification/Melting选项可激活模型
注:激活该模型后,Fluent会自动激活能量方程。
-
指定模型参数Mushy Zone Parameter,该参数对应着理论模型中的糊状区常数,该参数可以指定为常数,也可以利用UDF宏DEFINE_SOLIDIFICATION_PARAMS进行指定。
注意:对于大多数计算,Mushy Zone Parameter取值~,取值越大则阻尼曲线越陡峭,随材料凝固流动速度降至零当速度越快。当控制体内交替地凝固和熔化时,该参数较大时可能会导致求解震荡。
-
若需要考虑拉出速度,可激活选项Include Pull Velocity -
若想要包含拉出速度,且想要Fluent基于制定当速度边界计算拉出速度时,可以激活对话框中选项Compute Pull Velocities,并指定参数Flow Iterations per Pull Velocity Iteration
注意:参数Flow Iterations Per Pull Velocity Iteration默认值为1,表示求解器每次迭代后都会求解拉出速度。若增加该参数值,则拉出速度的求解频率降低。如果液体方程几乎收敛(即液-固界面变化不大),则可以适当增加此参数值以减小计算开销。
-
在Options中选择选项Lever Rule或Scheil Rule
注意:这两个选项仅在Species Transport模型被激活时才能选用
-
若选择使用Scheil Rule,则可以选择激活选项Back Diffusion(理论模型中的)。此时可以指定参数Back Diffusion Parameter为常数或使用UDF宏DEFINE_SOLIDIFICATION_PARAMS,该参数取值范围0~1。
-
在材料参数中指定参数Pure Solvent Melting Heat(理论模型中当)、Solidus Temperature(理论模型中的、Liquidus Temerature(理论模型中的。
如果需要求解组分输运,则需要指定混合物的属性以及混合物Solidus Temperature及Liquidus Temperature的计算方法,默认计算方法为mixing-law(参见理论模型),其中固相线和液相线的温度是根据每个溶质的参数(如液相线的斜率或分配系数)来计算的,用户也可以使用UDF宏DEFINE_PROPERTY进行指定。
定义混合物时,还需要指定Mass Diffusivity(理论模型中的参数、Eutectic Temperature(理论模型中当参数),Pure Solvent Melting Heat (理论模型中的)及Pure Solvent Melting Temperature(理论模型中的
注意:确保溶剂组分为组分列表中当最后一项。
对于每一种溶质,需要指定参数Slope of Liquidus Line(理论模型中的)、Partition Coefficient(理论模型中当)、Eutectic Mass Fraction(理论模型中的)。若使用了Lever Rule,还需要指定参数Diffusion in Solid(理论模型中的。无需指定溶剂的这些参数。
-
双击模型树节点Setup → Boundary Conditions打开边界条件设置对话框,指定边界条件 -
如果想要考虑壁面与相邻的凝固区域之间的空气间隙,可以利用非零值、profile或UDF指定壁面条件对话框中的Thermal标签页下参数Thermal Conditions(对应理论模型中的) -
若想要指定相对于壁面温度当表面张力梯度,可以在壁面边界条件对话框中指定参数Shear Condition为Marangoni Stress -
如果希望Fluent在计算过程中计算拉出速度,则需要注意在此计算中使用指定的速度条件
2 连铸过程模拟
正如在理论指南中描述的连铸过程的动量方程和拉出速度模型,用户可以在凝固/熔化计算中包括拉出速度来建立连铸模型。在Fluent中对连铸过程进行建模有三种方法:
-
指定恒定或变化的拉出速度
要使用此方法(默认),不要启用Compute Pull Velocities选项。在使用此方法时,需要在区域初始化后,利用Patch对变量Pull Velocity进行单独指定,可以指定为常数或自定义场函数。
注意:对于整个区域的拉出速度进行patch值是可以接受的,因为只有当液体分数β小于1时,才会使用patch值。
-
根据指定的速度边界条件,让Fluent计算计算连铸过程中的拉出速度
要使用此方法,需要激活选项Compute Pull Velocities选项。这种方法在计算开销很大,只有当拉出速度强烈地依赖于液-固界面的位置时才推荐使用。
-
让Fluent只计算一次拉出速度,然后使用计算值进行剩余的计算
要使用这种方法,使用Fluent进行一次迭代来计算拉出速度,然后关闭Compute Pull Velocities选项并继续计算。对于计算的其余部分,Fluent将使用第一次迭代计算的拉出速度值。
3 热浮力及溶质浮力模拟
由于温度作用引起介质密度变化而产生的额外浮力称之为热浮力,而在多组分凝固问题中,由于温度变化以及固液界面附近物质浓度梯度引起的浮力诚挚为溶质浮力,这些浮力均可能诱导流体流动。
在Fluent中,利用Include Thermal Buoyancy 及Include Solutal Buoyancy 两个选项,可以考虑凝固和熔化过程中由于浮力引起的流动。考虑过程包括:
-
在Solidification and Melting 对话框中激活选项Include Thermal Buoyancy 和/或Include Solutal Buoyancy
-
为模拟热浮力,需要设置操作条件及热属性。(一般为设置重力加速度、参考密度等) -
为模拟溶质浮力,需要在Create/Edit Materials对话框中指定除最后一种组分外的其它每一种组分的Solutal Expansion Coefficient参数
在默认情况下,用溶质的共熔质量分数作为溶质的参考物质质量分数来计算由于溶质浮力引起的体积力。因此不需要额外的输入。然而某些情况中,并不总是希望使用参考质量分数的默认值。此时可以通过文本用户界面输入溶质质量分数值,如下所示:
define/models/solidification-melting? yes
Include Thermal Buoyancy? yes
Include Solutal Buoyancy? yes
Use reference mass fraction of solutes? yes
Reference mass fraction of the species-i "value"
4 求解过程控制
在耦合求解流体流动和传热问题之前,可能需要先Patch一个初始温度,或者先计算稳态传导并将计算结果作为初始值。耦合问题可以计算稳态或瞬态,但由于这些问题的非线性特征,一般情况下首选瞬态计算。
在计算过程中,若遇到收敛困难的问题,可以调整liquid fraction方程的亚松弛因子。
-
通过模型树节点Solution > Controls,指定参数Liquid Fraction Update的亚松弛因子以修改参数值
大多数情况下不需要修改餐胡的值,但如果存在收敛困难,减小该参数值可以提高计算收敛性。在稳态计算、连铸模拟、涉及多组分凝固的模拟以及使用大的糊状区常数的模拟中,经常会遇到收敛困难的情况。
注:以上内容来自Fluent User Guide。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册