加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

FLOW3D-自由表面模拟方法

(2013-01-22 10:25:53)
标签:

自由表面液体模拟

flow-3d

拉格朗日

mac

vof

杂谈

分类: StudyNotes
气体和液体的界面通常被称为自由表面,自由的意思是气体和液体的密度差别较大(如水和空气的密度比是1000),低密度气体的惯性和液体相比可以忽略,从这种意义来说液体的运动相对气体是独立或者自由的,气体对液体的唯一影响是作用在液体表面的压力,换句话说气液界面是无约束、自由的。
热传递中的Stephen问题(不熟)通常用于描述自由边界问题,此时的边界是相边界,即冰和水之间的边界受到从对流流体中传递的热量的影响。
无论哪种方式,自由或运动边界都使计算变得非常复杂,除了最简单的问题,都必须对数值解进行处理,即使这样自由表面也需要特殊的方法定义其位置、运动和对流体的影响。
下面对自由表面模拟方法进行总结,指出每个方法的优点和缺点。
除了方法本身外,还需要3方面才能正确模拟自由表面:
1、描述自由表面形状和位置的格式
2、自由表面形状随时间变化的算法
3、自由表面上施加的边界条件

Lagrangian Grid Method
构造Lagrangian网格,嵌入在流体中并随流体运动,许多有限元方法用这种方式追踪自由表面,因为网格是和流体一起运动的,因此网格自动追踪自由表面。在自由表面上需要修正近似方程施加边界条件以描述流体仅在边界的一侧存在,如果没有进行修正,不对称的发展最终会使计算不精确。
Lagrangian方法的主要缺点是不能追踪破碎或相交的自由表面,在自由表面大幅度运动时如果不引入regridding技术如ALE方法(Arbitrary-Lagrangian-Eulerian)也很难模拟。
下面的其它方法使用固定的Eulerian网格,因此可以计算复杂的表面运动。

Surface Height Method
小振幅的振荡、浅水波等自由表面运动中,由于自由表面和静水面偏离较小,可以用表面高度H表示,高度的变化由运动方程控制(公式略)。有限差分对这种方程很容易实现,由于只需要记录每个水平位置的高度,因此在三维计算中需要的内存很小,而且自由表面的边界条件容易简化。

Marker-and-Cell(MAC) Method
这是最早的时域自由表面流动问题的数值方法,基于固定的Eulerian网格和控制体积,网格内流体的位置由随流体运动的标记质点确定。包含标记的网格中有流体,没有标记的是空的,自由表面定义在包含流体和至少有一个相邻网格是空网格的网格内,网格中表面的位置和方向不是原始MAC法的一部分。
表面运动通过对流速插值实现,需要用特殊的方法定义新填充流体的网格的流体属性并取消空网格的属性。
施加自由表面边界条件包括指定表面网格的气体压力和速度分量,以达到气体不可压和自由表面0剪切应力的条件。
MAC法的成功之处在于标记质点吧直接追踪自由表面,而是追踪流体体积,自由表面只是体积的边界,用体积的破碎或融合表示表面的出现、融合和消失。
出现过很多改进MAC法精度和适用范围的方法,如使用网格插值界面上的气压提高以静水压力为主的问题的计算精度,包含表面张力把该方法扩展到更广的问题中。
但是MAC法主要用于二维问题中,因为需要很大的内存和大量CPU时间计算标记质点,通常对每个网格内的16个标记进行平均才能保证大变形时的计算精度。
标记质点的另一个缺陷是当流体汇聚或发散时模拟不好,由于标记通常追踪流体单元的中心,当流体单元堆积在一起时标记无法对流体进行精确描述。例如(圆柱绕流中的)滞点上的标记会堆积在一起,而垂向上则分散较大,如果标记距离足够远(超过一个网格宽度),流体中会出现非真实的空隙。

Surface Marker Method
标记方法减少内存和CPU计算时间的一个方式就是把标记质点仅放在表面上而不放在流体内部,但这样也删除了MAC法中的体积追踪特性并需要其他方法确定表面破碎和合并的方式。
二维问题中的表面标记质点可以沿表面线性安放,这样有几个好处,如可以保持质点间均匀的间距、简化插值计算等,表面标记也为施加边界条件提供了方便。
不幸的是,在三维问题中没有简单的方法在表面布置标记质点,这是表面标记质点方法的失败之处。自由表面可能扩展到一些没有标记的空间(破碎?),没有标记的表面是未知的,因此也没有办法增加标记。

Volume-of-Fluid(VOF) Method
VOF方法基于流体体积的百分比,这种方法来自MAC法体积追踪的特点,而没有大量内存和CPU的需要。
每个网格(控制体积)中都要包含流体的属性(如压力、速度、温度等),因此包含多一点关于自由表面的信息很容易。由于这个原因,增加了一个量,即每个网格内的流体体积百分比,和其他流体属性的分辨率一致。
如果知道每个网格内流体体积就可以计算表面的位置、坡度和曲率等,表面在部分含有流体的网格内或流体网格与空网格之间。坡度和曲率用相邻网格的体积百分比计算,注意,由于体积百分比是一个阶梯函数,因此相邻网格的体积百分比可以用于找到网格中自由表面的位置(和坡度及曲率)。
和MAC法中一样,必须施加自由表面边界条件,即指定合适的气体压力(和等价的表面张力)及确定满足表面剪切应力为0的速度分量,有时指定表面的速度梯度更容易。
要计算表面随时间的变化,需要移动网格中的体积百分比,流体百分比的运动方程与高度函数方法类似,F是流体百分比函数:方程略。
因为数值耗散和扩散误差打断了阶梯函数的本质,因此不能直接求解(?求达人解释)。
在一维问题中可以精确模拟界面,流体界面位于相邻网格体积百分比是0和1的网格之间,流体必然靠近百分比为1的网格,界面位置可以用体积百分比表示,然后流入空网格的体积可以用先充满包含界面网格然后传递到空网格的方式。
在二维和三维问题中,可以用类似的相邻网格的方法,但是不能像一维那样精确,随着问题维数的增加无法精确计算表面的形状和位置,但是这种方法通过大量应用得到了验证。
VOF法不是用表面追踪函数而是体积追踪的方式提高了适用性,可以处理流体的破碎和融合。

VOF方法的变密度近似
VOF方法需要对边界条件进行特殊处理,由于表面在网格内运动,包含流体的网格不断变化,即求解区域也不断变化,需要在变化的自由表面区域施加合适的表面应力条件。
更新流动区域和施加边界条件是很重要的工作,因此一些VOF的近似方法对流体和气体都进行了计算,典型的用法是把流动看做是一种变密度的流体运动,用F表示密度,由于是对流体和气体同时求解,因此不需要设置界面边界条件。
不幸的是由于两个原因,这个方法不是很好,一是气体对压力变化的敏感性远大于流体,在压力-速度耦合求解时不易收敛,有时需要大量的CPU计算时间;第二,也是最重要的原因,和界面切向速度的不连续有关,因为界面上流体和气体对压力、速度的响应不同,变密度方法模拟界面运动是用平均速度模拟的,这经常导致界面的不正常运动。
即使这样,变密度方法有时也被称作VOF方法,因为它使用了流体体积函数,这是不对的,要精确追踪气液界面必须把界面用不连续的方式处理,即必须用一种方法定义界面的不连续性并在界面上施加边界条件,同时使用特殊的数值方法在不破坏不连续特性的前提下追踪网格内界面的运动。

总结
从复杂度和健壮性考虑,VOF可能是最成功的方法,FLOW-3D中使用了经过细化的VOF方法。
VOF方法的改进主要是更好、更精确和在网格内运动流体百分比,其他改进包括考虑贴体网格、使用更多的流体体积函数模拟多个流体分量,这些方法已经超出了这个介绍的范围
 
原文来自:http://www.flow3d.com/cfd101/cfd101_free_surf.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有