Fluent直接输出的文件格式为case data,对于一系列的非定常算例导入到Tecplot进行流场结果的处理时,会涉及到绘制流线或者矢量图,图 1所示的流线图实际上是有问题的,注意观察翼型上表面靠近后缘的位置,流线在壁面附近是垂直壁面的(在Tecplot中的流线变量为x-velocity,y-velocity),相应的速度矢量也是这样。
图 1 翼型非定常俯仰运动的流线图
对于这种非定常运动问题,实际上属于任意欧拉-拉格朗日方法的范畴,即内部的网格发生了运动的动网格形式。而流线的含义是每一时刻曲线上的任意一点的切线方向,也就是说,流线给出了该时刻不同流体质点的速度方向,是一种欧拉形式的描述。
因此我们会发现,针对运动的网格,欧拉描述的流体质点实际上叠加了网格的运动速度,所以画出来的流线是穿过壁面的,我们需要在处理的时候把网格运动速度从流体速度中剔除,因此,思路即为,用流场的速度减网格节点的速度。
Fluent可以直接计算Mesh X-Velocity和Mesh Y-Velocity,参考帮助文档《ANSYS Fluent Users Guide》的35.2节Velocity Reporting Options描述可以发现,网格节点速度是存储在node上的。这种存储方式使得在输出的case data里面没有办法包含节点上的速度信息,可以在Calculate>Data File Quantities里面勾选额外的Mesh X-Velocity和Mesh Y-Velocity,并保存到case data中,在Tecplot中导入保存的case data,发现Mesh X-Velocity和Mesh Y-Velocity均为0,即没有值,所以考虑是变量的存储位置不同导致的,正常的Fluent的数据保存在cell center,但是Mesh Velocity保存在node上。因此要换输出的格式。
解决办法:
方法一(首选方法):如图 2所示,在计算之前进行设置,File>Export>During Calculation,选择输出格式为Ensight Case Gold,然后选中右侧的变量,注意要包含Mesh X-Velocity和Mesh Y-Velocity这两个变量,然后控制输出频率,更改存储路径和文件名,这里注意,文件名不能有空格!否则会造成读取失败!
以下所述的Export>During Calculation可以在自动保存cae data的过程中同时进行,即会同时保存case data和Export的格式文件。
图 2 导出为Ensight格式的文件
参考硫酸亚铜关于tecplot打开ensight格式文件的方法:
在计算完成后,用记事本打开保存的后缀为“.encas”格式文件,然后在最下面找到图 3所示的两行文字并删除,然后保存这个“.encas”格式文件(注意保存路径不要有空格,否则tecplot打开会报错)。
图 3 “.encas”格式文件的内容
用Tecplot导入刚刚的这个“.encas”格式文件就可以导入所有的时间序列的流场数据,其中就包括Mesh X-Velocity和Mesh Y-Velocity。然后利用自定义公式将流场速度与网格速度相减,在Tecplot中,Data>Alter>Specify Equations定义新的速度变量{vx},定义为X Velocity-Mesh X Velocity,新的速度变量{vy},定义为Y Velocity-Mesh Y Velocity,这样就得到了真实的流场速度,然后勾选左侧工具栏的Streamtraces,定义矢量变量为刚刚定义的vx,vy,然后就可以画流线了,而以新的vx,vy为变量的流线也就不会出现垂直壁面的问题了。图 4展示了二维俯仰平板同一位置处理前后的流线图,可以看到修正之后,流线垂直壁面的现象得到了很大改善,流体紧贴壁面流动,并且红色框中的流动结构出现了小幅差别,表明网格运动速度需要剔除,才能得到正确的结果,但这个对除速度之外的如压力等其他值没有影响。
图 4 对流场速度修正前后的二维俯仰运动平板局部流线图
方法二(不推荐,plt格式总出问题):如图 5,在计算之前进行设置,File>Export>During Calculation,选择输出格式为Tecplot,然后选择自己需要的Surface,然后选择输出变量,然后在左下角的Frequency定义输出的频率,可以和自动保存的case data的频率一致,因为这个数据量也不小。
图 5 输出为plt格式的Tecplot文件
用Tecplot导入刚刚的plt格式的文件,然后可以看到Mesh X-Velocity和Mesh Y-Velocity有值了。在Tecplot中,Data>Alter>Specify Equations定义新的速度变量{vx},定义为X Velocity-Mesh X Velocity,新的速度变量{vy},定义为Y Velocity-Mesh Y Velocity。
然后勾选左侧工具栏的Streamtraces,定义矢量变量为刚刚定义的vx,vy,然后就可以画流线了,这样的结果和X Velocity与Y Velocity值的大小会有区别,但不影响别的如压力场的值。流线就不会垂直壁面了。图 6为更正前后的二维平板俯仰运动后缘处的流线,可以看到,提出了网格速度后,流线基本贴着平板表面,不会出现图 6 (a)的垂直壁面的流线了。(Tecplot更改矢量变量:Plot>Vector>Varibles)
图 6 流场变量更正前后的二维俯仰平板后缘的流线
方法三:计算流场速度的另一种方法。使用Fluent的Custom Field Functions功能,定义新的变量,可直接定义为流场的真实速度。
在Fluent左侧最下方的Parameters & Customization中找到Custom Field Functions,New新建一个变量,参考图 7,通过选择流场的已有变量,做减法运算,定义了一个真实速度vx-real变量,相应的别的速度也可以自己定义。注意,这个值利用自动保存的case data里面也是没办法识别的,需要继续按照上述的Export为Ensight或Tecplot格式才能进行输出识别,但是注意,在输出的时候要选择这两个新的变量,Calculate>Data File Quantities。这个值的结果和上面的结果是完全一样的。
图 7 定义变量为真实速度
然后在Tecplot中打开保存的Ensight或者plt格式文件,找到里面的定义新的vx-real变量和vy-real变量,并绘制相应的流线图。
总结:为了避免无效的重复计算,在计算之前,不管需不需要画流线图,也要在Calculate>Data File Quantities里面把Mesh X-Velocity和Mesh Y-Velocity勾选上,作为额外的计算量,这样就能够保存到自动保存的case data,那么,在将来需要做流线图时,就再读取case data,然后Export为相应的格式,再进行处理就行。
一点心得,欢迎指正!
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删