本教程演示利用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创建长方体
- 修改节点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
2.12 进行计算
3 计算结果
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删