1. 在Fluent中,要使用动网格模型,应该怎么做?
需要在dynamicmesh(动网格)面板中激活Dynamic Mesh(动网格)选项。如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。然后选择动网格模型,并设置相关参数
动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。
网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。
4. 在Fluent中使用动网格,为什么要具备一定的C语言编程基础?
因为一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。
5. 在Fluent中,动网格计算中网格的动态变化过程可以用哪三种模型进行计算?
弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamiclayering)和局部重划模型(local remeshing)。
6. 在Fluent中,弹簧近似光滑模型的使用范围是什么?
原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:
(1)移动为单方向。
(2)移动方向垂直于边界。
如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。
7. 在Fluent中,动态分层模型的应用有什么限制?
(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。
(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。
(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用滑动交界面将二者耦合起来。
(4)如果动态网格附近包含周期性区域,则只能用FLUENT 的串行版求解,但是如果周期性区域被设置为周期性非正则交界面,则可以用FLUENT 的并行版求解。
8. 在Fluent中,应用局部网格重划模型应注意什么事项?
局部网格重划模型仅能用于四面体网格和三角形网格。在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件:
(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。
(2)将被重新划分的面网格单元必须紧邻动网格节点。
(3)表面网格单元必须处于同一个面上并构成一个循环。
(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。
9. 在Fluent中,动网格更新方法应该根据什么来选择?
通常来讲,在一个case中,我们使用的更新方法都是根据网格类型以及和要实现的运动来选择的,很多时候都是几种更新方法搭配起来使用的。使用弹簧近似光滑法网格拓扑始终不变,无需插值,保证了计算精度。但弹簧近似光滑法不适用于大变形情况,当计算区域变形较大时,变形后的网格会产生较大的倾斜变形,从而使网格质量变差,严重影响计算精度。动态分层法在生成网格方面具有快速的优势,同时它的应用也受到了一些限制。它要求运动边界附近的网格为六面体或楔形,这对于复杂外形的流场区域是不适合的。使用局部网格重划法要求网格为三角形(二维)或四面体(三维),这对于适应复杂外形是有好处的,局部网格重划法只会对运动边界附近区域的网格起作用。
10.在Fluent中,设置动网格问题的步骤中需要注意什么?
在Solver(求解器)面板中选择非定常流(unsteady)计算;设定边界条件,即设定壁面运动速度;激活动网格模型,并设定相应参数;指定移动网格区域的运动参数;保存算例文件和数据文件;预览动网格设置,菜单操作为:Solve -> Mesh Motion...;应用自动保存功能保存计算结果,在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须同时保存算例文件和数据文件;如果想建立网格运动的动画过程,可以在Solution Animation(计算结果动画)面板中进行相关设置。
11. ICEM西瓜皮网格划分问题?
(1)下面两个问题区域是角度较大的问题,可以通过调整节点位置改善
(2)上面的问题区域,可将三棱柱的修改为Y-block来解决网格出现的问题
12. 在Fluent中,如何选择网格更新模型?
在Mesh Methods(网格划分方法)下面选择Smothing(弹簧光顺模型),Layering(动态层模型)和(或)Remshing(局部网格重划模型)。
13.在Fluent中,如何设置弹簧光顺参数?
激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括Spring ConstantFactor(弹簧弹性系数)、Boundary Node Relaxation(边界点松弛因子)、Convergence Tolerance(收敛判据)和Number ofIterations(迭代次数)。
弹簧弹性系数应该在0 到1之间变化,弹性系数等于0时,弹簧系统没有耗散过程,在图中算例中,靠近壁面的网格没有被改变,而是保持了原来的网格形状和密度;在弹性系数等于1 时,弹簧系统的耗散过程与缺省设置相同,从图中可以发现壁面发生变形,壁面附近网格因为过度加密而质量下降。因此在实际计算中应该在0 到1 之间选择一个适当的值。边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用松弛格式。在大多数情况下,这个值应该取为0 到1之间的一个值,以保证边界节点以合适的移动量发生移动。
收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大迭代次数。
14. 在Fluent中,设定动网格参数包括哪些内容?
(1)选择网格更新模型;
(2)设置弹簧光顺参数;
(3)动态分层;
(4)局部网格重新划分网格;
(5)设定活塞运动参数。
15. 在Fluent中,怎么确定分解网格的两种方法?
通过设定Constant Height(常值高度)与Constant Ratio(常值比例)可以确定分解网格的两种方法。
16.在Fluent中,怎么进行局部网格重新划分网格?
在Remeshing(重划网格)标签下,设置与局部重划模型相关的参数。可以设置的参数包括Maximum Cell Skewness(最大畸变率)、Maximum CellVolume(最大网格体积)和Minimum Cell Volume(最大网格体积),其含义如前所述,主要用于确定哪些网格需要被重新划分。在缺省设置中,如果重新划分的网格优于原网格,则用新网格代替旧网格;否则,将保持原网格划分不变。
如果无论如何都要采用新网格的话,则可以在Options(选项)下面选择Must Improve Skewness(必须改善畸变率)选项。如果Options(选项)下面的Size Function(尺寸函数)被激活,则还可以用网格尺寸分布函数标志需要重新划分的网格。假设在某点附近的理想网格尺寸为L ,而某个网格的尺寸为L' ,如果:
L’不属于[0.8*gamma*L,1.25*gamma*L]
则网格被标志为需要重新划分的网格,并在随后的计算中被重新划分。式中的gamma用下面的公式计算:
当alpha>0时,gamma=1+alpha*d_b^(1+2*beta)
当alpha<0时,gamma=1+alpha*d_b^[(1-beta)^-1]
式中d_b为网格到壁面边界的最小距离,alpha和beta就是需要设置的Size Function Variation(尺寸函数增量)和Size Function Rate(尺寸函数变化率)。
以上两式中,alpha以边界网格尺寸为基准控制内部网格的大小,alpha等于0.5表示内部网格的尺寸至少是边界网格的1.5倍,alpha等于-0.5表示内部网格的尺寸等于边界网格的0.5倍,如果alpha等于0则表示内部网格与边界网格大小相同;bata的取值在-1到1之间,用于控制网格从边界到内部区域的变化速率。Beta取正值表示网格变化速率较慢取负值则表示变化速率较快,取0 则表示网格从边界到内部区域呈线性变化。
另外一个选项Size Function Resolution(尺寸函数分辨率)用于定义尺寸分布函数对网格大小的分辨率,其参照值是最小网格尺寸。
点击Use defaults(使用缺省值)按钮,可以恢复系统缺省设置。
17. 在Fluent中,设定活塞运动参数需要主要什么?
如果在计算中选择使用In-cylinder(活塞)模型,需要指定Crank Shaft Speed(曲柄速度)、Starting Crank Speed(曲柄起始速度)、Crank Period(曲柄周期)以及Crank Angle Step Size(曲柄角度时间步长)。
FLUENT中还提供一个内建函数用于计算活塞位置。这个函数的自变量为曲柄转角,如果选用这个函数,还需要指定Piston Stroke(活塞行程)和Connecting Rod Length(连接杆长度)二个参数。
18. 在Fluent中,如何定义动网格的运动方式?
在计算动网格问题时,必须定义动网格区的运动方式。在动网格区为刚体运动时,可以用型函数和UDF 来定义其运动;在动网格区为变形区域时,则需要定义其几何特征及局部网格重划参数;如果动网格区既做刚体运动又有变形发生,则只能用UDF 来定义其几何形状的变化和运动过程。
19. FLUENT三种动边界控制实现方法是什么?
(1)void DEFINE_CG_MOTION (UDFname,Dynamic_Thread * dt,real vel[ ], real omega[ ],real time,real dtime)。
此函数接口用于控制刚体的运动,用户把刚体质心运动速度和角速度分别赋值给vel和omega, FLUENT根据它们的值来自动计算出边界下一步的位置,从而实现动边界的控制; 刚体质心的位置可以在函数接口界面对话框中定义。Dynamic Zones中的dwall就是要控制的动边界,Motion UDF/Profile中的就是UDFname,从中可看出它已被制定成用于控制dwall,理论上 FLUEN T可以通过这种方式实现无穷多个动边界的控制; C.G.Location用于设定初始位置的质心,C.G.Orientation用于设定刚体的初始角度。一般适用于刚体本身不变形的运动。
(2)void DEFINE_GEOM(char name,Domain * d,Dynamic_Thread * dt,real * position)。
此函数接口用于控制变形体的边界运动, position就是运动边界上某网格节点的位置值,用户可以通过对其赋值达到控制效果, position [0]对应边界节点的x坐标, position [1]对应y 坐标,position [2]对应z坐标; FLUENT自动遍历所有的边界节点,因此适用于有规律的可以用函数描述的运动边界。
(3)void DEFINE_ GRID_MOTION(name,d,dt,time,dtime)。
此函数接口也用于控制形体的边界运动。主要用于更加复杂的控制,用户需要自己利用 FLUENT提供的其他函数来遍历运动边界上的节点,并对其位置进行控制,因此 UDF编程比前面两种复杂得多。它甚至可以事先生成好边界数据,在计算中把数据读入,完成复杂形体控制。
20. 在Fluent中,预览动网格的操作步骤是什么?
在设置好动网格模型及动网格区的运动方式后,可以通过预览的方式检查设置效果。预览功能在Mesh Motion(网格运动)面板中进行设置,启动这个面板的菜单操作为:Solve-> Mesh Motion...
预览操作步骤如下:
(1)在参数设置完毕后,首先保存算例(case)文件。因为与网格设置有关的记录都保存在算例文件中,在预览过程中伴随着网格的更新,与网格有关的记录也不断被刷新,如果不进行保存,则无法恢复原始设置状态,在发现参数设置问题后就无法进行更改了。
(2)设置迭代时间步数和时间步长。在计算过程中,当前时间将被显示在Current MeshTime(当前网格时间)栏中。如果在计算中选用了活塞模型选项,则时间步长用曲柄速度(shaft speed)和曲柄转动步长(crank angel step size)计算得出。
(3)为了在图形窗口中预览网格变化过程,需要激活Display Options(显示选项)下的Display Grid(显示网格),并在Display Frequency(显示频率)中设置显示频率,即每分钟显示图幅数量。如果要保存显示的图形,则同时激活Save Hardcopy(保存硬拷贝)选项。
(4)点击Preview(预览)按钮开始预览。
21. 在Fluent中,定义了活塞运动时,其预览操作步骤是什么?
(1)在Display Grid(显示网格)面板中选择准备预览的网格区域。
(2)在IC Zone Motion(网格运动)面板中,设置曲柄角度增量(Increment)和迭代步数(Number of Steps)。
(3)点击Preview(预览)按钮开始预览。