海上浮式结构中的晃荡现象
本案例基于OpenFOAM的两相流求解器interFoam,对典型隔板减晃措施的两相流问题进行数值模拟。
常见的隔板形状
从左到右依次为:弧形、格栅形、垂直
数 学 模 型
气液两相流中,在不考虑热交换和液体的压缩性前提下,控制方程为连续性方程和动量方程。由于两相流中存在交界液面,结合Hirt和Nichols提出捕捉自由面的VOF模型,整理后可得到VOF模型的两相流控制方程组:
算 例 实 现
对于数值模型,OpenFOAM自带教程中提供薄膜型液舱晃荡算例,以OpenFOAM 2.3.x为例,晃荡算例位于:
在字典文件中,涉及到searchableSurface的使用,用户需提供一个封闭曲面(surface),完全位于曲面内的面将被标记选中,封闭曲面可提供的方式如下图所示:
设置封闭曲面的方式
对于简单的垂直矩形隔板,使用searchableBox即可,复杂形状隔板建议采用triSurfaceMesh导入外部stl文件进行标记。createBaffles中可设置对应baffle的边界条件,具体操作为:设置fields为true,在patchFields中给出各物理量的边界条件。
createBafflesDict示例
压力和波高数据提取方法
对于静态网格,可采用OpenFOAM7版本新增的interfaceHight后处理工具,基本思路为在高度方向对VOF中的alpha物理量进行线积分,老版本OF解决方法建议下载IHFOAM求解器,自带波高处理插件。
波高提取interfaceHeight的设置示例
运 动 自 由 度
液舱晃荡中,液舱的运动需提前设定,对应数值模型中动网格constant/dynamicMeshDict字典的设置,具体设置Wiki上有详细说明。此处实现方法不唯一,对于多自由度简谐激励,建议参考$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/中的自定义方式设置,其中的6DoF.dat文件由gen6DoF命令生成,编译完对应源文件后运行即生成。
自定义简谐运动gen6DoF中的参数设置
垂直隔板减晃模拟
基于OpenFOAM的垂直隔板减晃模拟结果
验 证 结 果
圆柱形液舱尺寸
表 1 液舱减晃验证算例信息
添加环形隔板的圆柱形液舱渲染图(紫色为环形隔板)
带环形隔板的三维圆柱液舱晃荡的壁面波高时程曲线验证
上图为不同高度环形隔板的圆柱液舱壁面处波高历时曲线与Biswal et al. (2006)数值结果的对比。高位置隔板在最后2个周期的数据存在一定偏差,这与Biswal模型未考虑流体粘性有关,其余结果与文献数据基本吻合。
参考文献
[1] Hirt, C.W., Nichols, B.D. 1981, Volume of fluid (VOF) method for the dynamics of free boundaries. J. Comput. Phys. 39, 201-225.
[2] http://openfoamwiki.net/index.php/Parameter_Definitions_-_solidBodyMotionFvMesh.
[3] Biswal, K.C., Bhattacharyya, S.K., Sinha, P.K. 2006, Non-linear sloshing in partially liquid filled containers with baffles. Int. J. Numer. Methods Eng. 68, 317-337.