本帖最后由 frank0079 于 2013-9-13 13:54 编辑
不知不觉在这个论坛上已经认真阅读3个月了,进步不少。发现这个板块其实使用CFX的人很少,写点东西出来给大家吧。这个例子将会涉及到动网格,对网格的控制需要稍微费一下大脑,同时由于变形量较大,选择使用workbench对网格进行重构(其实单独使用滑移网格和动网格就可以实现这个问题,选择remeshing功能只是想给大家一个学习user defined remeshing的思路)。
问题描述:二维问题,一个圆桶内有一个方块,方块以1转/s的角速度绕自身的中心转动,同时其中心沿着X轴做0.2[m]幅值、周期为1s的正弦运动 和 沿着Y轴做0.1[m]幅值、周期为0.5s的正弦运动。这个问题同时涉及到平动和转动。
瞬态分析,外部圆壁面网格静止,对称面unspecified。
内部方块的Location:我们会求得该次迭代开始时方块中心的坐标dx和dy,计算出相对该中心点,方块转动后的坐标X值newR*cos(newTheta+1[rev s^-1]*0.001)和Y坐标值newR*sin(newTheta+1[rev s^-1]*0.001)。根据位移叠加的原理,加上该迭代步结束时中心点的xy坐标值,即是方块最后的Location(大家可以想象其他的方法)。
设置好其他的选项即可开始计算,方块转动后,网格会出现扭曲,只通过拉伸和压缩网格是无法完成计算的,我们可以通过remeshing来解决这个问题,通过ICEM remesh只能解决平动问题,CFX help中已经有详细的说明,只能使用user defined remeshing。方法有很多种,这里为大家提供一种user defined remeshing的方法,通过workbench进行remesh。首先我们要明白remesh的过程,在计算中我们会设定一个参数用来监测网格的质量,当网格质量低于我们的设定值时,cfx会暂停计算,产生新的几何文件,进行网格划分,读取新的网格,导入边界条件以及将oldmesh的计算结果作为newmesh的初始条件,继续计算。remeshing的主要功能即是完成图中方框处的过程。
首先我们要有新的几何才可以有新的mesh,新的几何文件相对初始几何文件,我们只需要将方块旋转然后平移即可以,这样很自然让我们想其了workbench在几何建模的参数化功能。而user defined remeshing 可以调用外部命令,这个功能是很强大的,比如调用一个批处理,exe等等。我们将会在CFX暂停后,以批处理命令打开workbench,读取workbench的scripting文件进行网格的重新生成。计算初始的几何文件预先存放在workbench中,同时预先定义了网格划分的详细细节,我们会从CFX的res文件中读取当前几何模型相对初始几何模型的XY轴方向位移和相对其中心旋转的角度值,将这3个值赋给workbench的几何参数化对应的值,重新产生新的几何,updata mesh。
运行workbench,在workbench中run我们事先写好的scripting,生成新的网格文件(scripting的使用见ansys workbench的help)。 计算结果:
这里给出本次计算的文件,供大家参考。
将文件解压放在E盘根目录,即可直接计算(Ansys14.0)
这里解释下大概的流程:
在网格的最小 Orthogonality Angle<10[deg]时,CFX计算中断,CFX会在计算目录内生成一个临时文件夹Unnamed_001.dir,在里面保存最后一步的计算结果,文件名为res
中断后CFX运行上图中的外部命令:"D:\Program Files\ANSYS Inc\v140\Framework\bin\Win32\runwb2.bat" -B -R E:\6dot-workbench\remesh.wbjn
该指令的意思是:打开workbench(路径名需要自己修改,本人是将ansys装在D盘的),并读取workbench的record journal文件,这个文件既是解压后的那个 remesh.wbjn(文件记录的操作后面叙述)。 在外部指令运行完毕后,CFX会在E:\6dot-workbench\2_files\dp0\global\MECH中读取新的网格文件SYS.mshdb,继续计算下去。
初始的几何和mesh文件:
上面的文件是解压后文件夹中的1.wbpj, 熟悉workbench的人从上图中已经大致看明白了,这里将网格中方盒子的旋转角度和2个方向上的平移量设置成workbench input parameters,CFX的外部指令既是开打这个文件,并且读取CFX的最后一步计算结果,并将网格的3个运动值返回给上图中的P1 P3 P4,然后updata mesh,这些操作是通过record journal文件录制下来的。
record journal文件的大致录制过程:
打开workbench,开始录制:
打开解压文件夹里的1.wbpj,新建一个results :
打开results,读取res文件,将此时的旋转量和平移量设成 workbench的output parameters:
将表达式P5的值赋予给P1, P6给P3, P7给P4。
最后updata mesh 并且保存workbench文件(这里将其保存为同目录下的2.wbpj),记得保存record journal文件(remesh.wbjn)。有了文件夹中的4个文件,即可开始计算。
本帖中叙述的方法有很多可以改进的地方。从该过程可以看出,cfx外部remesh确实是比较繁琐,并且remesh的速度比较慢。这里不是鼓励大家遇到需要使用remesh的问题就使用CFX的remesh来实现,也不是想证明fluent可以做到的CFX都可以做到。本帖单纯是从探索一个软件的新功能为乐趣为出发点,有兴趣的人可以试试。
|