本教程演示利用STAR CCM+中的具有自由表面流的重叠网格功能和DFBI模型来模拟救生艇下水时的运动。
1 问题描述
该案例来源于H.J.Morch等人(2008)在论文“Simulation of Lifeboat Launching under Storm Conditions”中描述的实验。从斜坡上下水的救生艇经过平动和转动后撞击水面上。模型如下图所示。
可以使用三个自由度对运动进行模拟:垂直和水平平移,以及俯仰旋转。本案例考虑模型的对称性,仅计算一半的几何模型,从而降低模拟的计算成本。
模拟从最初定位在水面正上方的船开始,具有以下属性:
-
质量:10000 kg -
惯性矩:16000 kg-m2 -
初始下移速度:22 m/s -
初始角速度:0 rad/s -
初始倾角:35°
2 STAR CCM+设置
-
启动STAR CCM+并新建Simulation -
利用菜单File > Import > Import Surface Mesh...加载几何文件lifeBoatOverset.x_b
计算模型如下图所示。
2.1 创建区域
-
选择Parts节点下的两个子节点Background及Overset,点击右键菜单**Assign Parts to Regions…**创建区域
-
打开的对话框中选择所有Parts,选择选项Create a Region for Each Part、Create a Boundary for Each Part Surface、Do Not Create Interfaces From Contacts,点击按钮Apply创建计算区域
-
选择节点Regions > Background > Boundaries,指定其下子节点的边界类型,如下表所示
-
指定节点Regions > Overset > Boundaries下的子节点的边界类型,如下表所示
修改完毕后的模型树节点如下图所示。
2.2 选择物理模型
-
右键选择模型树节点Continua,点击弹出菜单项New → Physics Continuum创建新节点
-
右键选择节点Continua > Physics 1 > Models,点击弹出菜单项**Slect Models…**打开模型选择对话框
-
在对话框中选择以下物理模型 -
Three-Dimensional -
Implicit Unsteady -
Multiphase -
Volume of Fluid (VOF) -
Laminar -
Gravity -
VOF Waves
选择完毕后的模型选择对话框如下图所示。
2.3 耦合区域
-
同时选中模型树节点Regions下的子节点Background与Overset,点击右键菜单项Create Interface → Overset Mesh创建交界面
2.4 生成网格
-
右键选择模型树节点Operations,点击弹出菜单项New → Mesh → Automated Mesh打开网格创建对话框
-
选择Parts列表项 Background
,选择网格生成方法Surface Remesher及Trimmed Cell Mesher
-
修改节点Automated Mesh 名称为 Background -
右键选择节点Background,点击右键菜单Copy复制节点
-
右键选择节点Operations,点击弹出菜单项Paste粘贴节点
-
修改节点Copy of Background名称为Overset
生成网格时,注意以下事项:(1)为了使两套网格之间变量插值误差最小化,建议在前景网格和背景网格的重叠区域中使用相同数量级的网格密度。(2) 当救生艇在水中移动时,要将重叠网格与救生艇周围的水流对齐,建议在救生艇处于水平位置时生成网格。创建网格后,将区域旋转到其初始位置进行模拟。(3) 船体和水-气界面周围需要更精细的网格,以捕捉相关的流动细节。
”
-
右键选择模型树节点Geometry > Parts,点击弹出菜单New Shape Part → Block创建长方体
-
按如下图所示尺寸创建Block
-
修改节点Geometry > Parts > Block名称为Overlap -
相同方式创建block,采用下表所示参数,并修改其名称为Water Surface
-
相同方式创建block,采用下表所示参数,并修改其名称为Boat
创建完毕后的几何如下图所示。
-
选择模型树节点Operations > Background > Default Controls > Base Size,设置参数值为5 m
-
右键选择模型树节点Operations > Background > Custom Controls,点击弹出菜单项New → Volumetric Control创建节点Overlap
-
选中模型树节点Custom Controls > Overlap,设置 Parts
为Overlap
-
选中节点Custom Controls > Overlap > Controls > Surface Remesher,激活选项Customize Size
-
选中节点Overlap > Values > Custom Size,设置参数 Percentage of Base
为25
-
选中模型树节点Custom Controls > Overlap > Controls > Trimmer,激活选项Customize Isotropic Size
-
右键选择模型树节点Custom Controls,点击弹出菜单项New → Volumetric Control创建节点Water Surface
-
选中节点Custom Controls > Water Surface,设置 Parts
为Water Surface
-
选中节点 Surface Remesher
,激活节点Customize Size
-
选中节点 Water Surface → Values → Custom Size
,指定参数Percentage of Base
为100
-
选中节点 Water Surface → Controls → Trimmer
,激活参数Customize Anisotropic Size
-
选中节点Water Surface > Values > Trimmer Anisotropic Size, 激活选项Custom X Size、CustomY Size及Custom Z Size
-
选中节点 Relative Z Size
,设置参数Percentage of Base
为50
-
选中节点Background > Meshers > Trimmed Cell Mesher,激活选项Perform Mesh Alignment
-
选中模型节点Background > Default Controls > Mesh Alignment Location,指定 Location
为**[-125,0,0]**
-
选中模型树节点Background > Default Controls > Surface Growth Rate,指定参数 Surface Growth Rate
为Slow
-
选中节点 Volume Growth Rate
,设置参数Default Growth Rate
为Slow
-
指定节点Overset → Default Controls > Base Size为1 m
-
如下图所示创建Volumetric Control,并命名节点为Boat
-
按下图所示操作,设置Boat节点的 Parts
参数为Boat
-
激活 Surface Remesher
的Customize Size
-
指定 Custom Size
节点的Percentage of Base为50
-
右键选择模型树节点Operations,点击弹出菜单项Execute All
生成网格如下图所示。
2.5 变换重叠网格
-
右键选择模型树节点Regions > Overset,点击弹出菜单项Transform → Translate… 打开模型转换面板
-
如下图所示,指定 Z
坐标为-26,点击Apply按钮将模型沿Z轴平移-26m
-
右键选择模型树节点Tools > Coordinate Systems > Laboratory > Local Coordinate Systems,点击弹出菜单项 New > Cartesian新建坐标系
-
按下图所示参数创建新的笛卡尔坐标系
新建的坐标系位置如下图所示。
-
右键选择模型树节点Regions > Overset,点击弹出菜单项Transform → Rotate… 打开模型转换面板
-
设置 Angle
为35 deg,指定Axis Vector
为Y,设置Coordinate System
为前面所创建的笛卡尔坐标系Cartesian 1
变换完毕后的网格如下图所示。
2.6 创建欧拉相
-
选择模型树节点Continua > Physics 1 > Models > Multiphase > Eulerian Phases,点击弹出菜单项New新建节点Water
-
右键选择 Models
,点击弹出菜单项**Select Models…**打开模型选择对话框
-
选择Liquid及Constant Density
-
右键选择节点Eulerian Phases,点击弹出菜单项New创建新的相,命名为Air
-
选择属性为Constant Density及Gas
2.7 设置6-DOF
-
右键选择模型树节点 Tools > Motions
,点击弹出菜单项New > DFBI Rotation and Translation创建DFBI运动节点
-
选择模型树节点 Regions > Overset > Physics Values > Motion Specification
,设置参数Motion
为前面创建的DFBI运动DFBI Rotation and Translation
-
右键选择模型树节点DFBI > 6-DOF ,点击弹出菜单项New Body > 3D > Continuum Body创建新节点Boat
-
选中节点DFBI > 6-DOF Bodies > Boat,设置 Boat Surface
为Lifeboat_wall,指定Body Mass
为10000 kg
-
选中模型树节点 DFBI > 6-DOF Bodies > Boat > Initial Values > Moment of Inertia
,指定参数Diagonal Components
为[16000,16000,16000] kg-m^2
-
选中模型树节点 Initial Values > Center of Mass
,指定Postion
为[-8.22,0,-4.329] m,m,m
-
选中节点 Initial Values > Velocity
,指定其值为[0,0,-22] m/s
-
选中节点 DFBI > 6-DOF Bodies > Boat > Free Motion
,激活选项X Motion、Z Motion及Y Rotation
2.8 定义波浪
-
右键选择模型树节点 Continua > Physics 1 > Models > VOF Waves > Waves
,点击弹出菜单项New → Flat创建新节点Flat Wave
-
选中节点Flat Wave,如下图所示设置波浪参数
2.9 设置初始值
-
选中节点 Continua > Physics 1 > Initial Conditions
,如下表所示设置参数
2.10 设置边界条件
-
选中节点 Regions > Background > Boundaries > Inlet
,如下表所示设置入口边界条件
-
选择节点 Regions > Background > Boundaries > Outlet
,如下表所示设置出口边界条件
-
选中节点 Regions > Background > Boundaries > Bottom
,如下表所示设置边界条件
-
选择节点 Regions > Background > Boundaries > Top
,如下表所示设置边界条件
2.11 设置求解参数
-
选中节点 Implicit Unsteady
,设置Time Step
为0.0025 s
-
设置 Maximum Physical Time
为0.5 s
-
取消激活选项Maximum Steps
2.12 进行计算
-
选中菜单Solution → Step开始计算
3 计算结果
-
船体的沿Y轴旋转角度随时间变化
-
X轴平动位移随时间变化
-
Z方向平动位移随时间变化
-
船体下水的动画
注:本案例取自STAR CCM+随机案例,演示版本为2021.3。
”
(案例结束)
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册