本教程演示如何使用具有自由表面流体的六自由度求解器对面临顶头波的船体运动建模。STAR-CCM+中的相应功能提供初始条件和波生成。
2.导入网格,命名模拟
启动SimcenterSTAR-CCM+,导入提供的网格,然后保存模拟。
要导入网格:
1.以适用于您工作环境的方式启动SimcenterSTAR-CCM+,然后从菜单栏中选择“新建模拟”选项。
2.从已下载教程文件的motion文件夹导入三维六面体单元网格boat.ccm。
3.将该新模拟另存为boat.sim。
3.设置模型
激活数个物理模型以模拟作用于船体上的力。本模拟通过使用“流体域体积”模型,对同一连续体内的两种流体(空气和水)的行为建模。
由于存在处于不同相的两种流体,所以激活欧拉多相模型,并使用重力模型将两种流体受到的重力作用纳入考虑之中。使用默认的K-Epsilon湍流模型来模拟湍流对流体的影响。默认的物理连续体是在导入网格时创建的。所有必要的模型均使用此连续体定义。
1.对于物理连续体连续体>物理1,按顺序选择下列模型:
2.单击关闭。
3.保存模拟。
4.设置材料特性
设置欧拉相的材料特性。
在船窗口中,打开连续体节点。物理1节点的颜色已经从灰色变为蓝色,这表明已经激活该连续体的模型。
1.打开物理1>模型节点。
该节点内显示选定模型。
2.打开多相节点。
在欧拉相节点下定义混合相中各个相所对应的材料。
3.右键单击欧拉相节点,选择新建以创建名称为相1的相节点
4.将相1节点重命名为水。
此时需要设置模型以确定水相的行为。
5.右键单击欧拉相>水>模型节点,然后选择选择模型...
6.从材料组合框中选择液体。
7.从状态方程组合框中选择恒密度。
8.为第二个相重复以上步骤,这一次选择气体而不选择液体,然后指定恒密度。
9.将该相重命名为空气。
在两种情况下,均使用适合各相的默认材料(以水作为液相而以空气作为气相),因此无需对材料特性做进一步的更改。要查看材料选择,可展开欧拉相父节点内的水和空气节点。
5.选择6自由度运动模型
1.打开工具>运动节点。
默认的固定运动随即显示出来。
2.右键单击运动节点,然后选择新建>DFBI旋转和平移,如下图所示。
3.一个名称为DFBI旋转和平移的新节点被添加到运动管理器。
为流体区域选择运动指定节点内的这个新建的运动。
4.选择区域>区域1>物理值>运动指定节点,然后将运动设置为DFBI旋转和平移。
在区域上设置DFBI运动这一操作会让对象树上的DFBI管理器节点显示出来,并将6自由度求解器和6自由度运动节点添加到求解器管理器。
6.设置体初始坐标系
6自由度求解器必须知道体相对于基准坐标系的初始方向。因此,定义局部坐标系,其中的X轴与体的前向对齐,Z轴与竖直方向对齐。
要设置体初始坐标系:
1.确保几何场景1已打开。
2.打开工具>坐标系节点,然后右键单击基准>局部坐标系节点。从弹出菜单中选择新建>笛卡尔。
创建笛卡尔坐标系窗口显示在资源管理器窗格中。
3.将i方向的X值设置为-1,将j方向的Y值设置为-1,如下图所示。
4.单击创建,然后单击关闭。
此节点在对象树中显示为笛卡尔1。
5.将笛卡尔1节点重命名为船初始方向。
注:坐标系的位置和方向可在几何场景1中查看。选择对象树中的船初始方向节点,然后视需要旋转场景中的模型。
7.创建6自由度体
下一步骤是定义浮动体的表面及其属性。
要定义表面及其属性,首先创建一个6自由度体并将表示船体的边界指定给该体:
1.右键单击DFBI>6自由度体节点,然后从弹出菜单中选择新建体>3D>连续体。
2.将体1节点重命名为船
3.选择船节点,单击体表面属性右侧的自定义编辑器按钮。选择对象对话框随之显示出来。
4.展开区域和Region_1节点,然后勾选船体节点的复选框。单击确定以关闭对话。
5.将体质量设置为400.0kg。
在本模拟中,仅允许体围绕Y轴旋转,藉此模拟顶头波中的运动。这意味着必须定义围绕Y轴的惯性矩。
7.选择船>初始值>惯性矩节点:
a)将对角分量设置为[1000.0,1000.0,1000.0]kg-m^2。
b)将坐标系设置为基准->船初始方向。
c)激活使用质心。
先前创建的坐标系定义体的初始方向。
8.选择船>初始值>方向节点,然后将坐标系设置为基准->船初始方向。
为保持一致,还需要在同一坐标系中指定质心。由于位置在原点,因此只需定义坐标系。
9.要指定质心的坐标系,选择船>初始值>质心节点,然后将坐标系设为基准->船初始方向。虽然创建6自由度体时已配有自由运动选项,但仍需要为体指定可以使用的移动方式。在本例中,该体必须可以沿Z轴方向平移(升降),沿Y轴方向转动(俯仰)。
10.选择DFBI>6自由度体>船>自由运动节点,然后勾选Z轴向运动和Y轴向旋转属性。
8.定义VOF波
使用SimcenterSTAR-CCM+中的VOF波物理模型可定义瞬态边界条件以模拟自由表面上的波。
VOF波模型依据用户定义的波参数生成许多场函数。可在对象树的适当节点中将这些场函数用作边界和初始条件。
1.要创建VOF波,右键单击连续体>物理1>模型>VOF波>波节点,然后选择新建>五阶。
2.将五阶Vof波1节点重命名为顶头波。
3.编辑顶头波节点,然后设置下列属性:
4.选择顶头波>波长指定节点,并将波长设置为6.0m。
9.设置初始条件
使用与先前定义的VOF波关联的场函数设置初始条件。
设置的初始条件是自由表面波分布、相内的速度分布以及流体静压。
要设置初始条件:
1.编辑连续体>物理1>初始条件节点,然后设置下列属性:
10.设置边界条件
此几何有四个边界:
1.船体上的非滑移壁面边界
2.Y=0.0处的Z-X平面上的对称边界
3.下游面上的压力出口
4.其余所有边界上的速度入口
在最初的网格导入过程中已正确设置边界类型,因此只需设置与各类型相对应的条件。默认条件适合对称平面和船体上的非滑移壁面边界。将波条件应用于压力出口和速度入口。
入口边界
顶头波通过入口边界进入模拟。使用场函数来定义此迎头波。
要设置入口边界:
1.编辑区域>Region_1>边界>入口节点,然后设置下列属性:
压力边界
顶头波通过压力边界离开域。使用场函数定义边界波。
要设置压力边界:
1.编辑区域>Region_1>边界>压力节点,然后设置下列属性:
11.设置求解器参数和停止条件
2.选择停止条件>最大内部迭代节点,确保将最大内部迭代设置为5
12.创建自由表面等值面
1.右键单击衍生零部件节点,然后选择新建零部件>等值面...。
2.在创建等值面对话框中,将标量设为体积分数>水的体积分数。
3.让提取模式保持单值设置。
4.将等值设置为0.5。
5.选择显示面板中的现有显示器>表面1。
6.单击创建,然后单击关闭
7.将等值面节点重命名为水表面
13.创建自定义颜色映射
为使水表面呈现蓝色以便于可视化,可创建自定义颜色映射。
将自由表面的颜色手动设置成统一的蓝色。首先,在工具节点内创建一个自定义颜色映射:
1.右键单击工具>颜色映射节点,然后选择新建。
2.在创建颜色映射对话框中,单击确定。
3.将用户1节点重命名为水。
4.选择工具>颜色映射>水节点,然后单击编辑器图标打开拟编辑的颜色映射属性。
5.单击并拖动蓝色控制点一直向右,以便颜色条完全呈蓝色。
6.将颜色间距设置为RGB。
完成的对话框如下所示。
14.可视化自由表面
现在使用水表面零部件创建标量场景。
1.右键单击场景节点,然后选择新建场景>标量。
2.选择场景>标量场景1>轮廓1节点,然后停用轮廓。
3.选择标量1>零部件节点,然后将零部件设置为衍生零部件>水表面。
4.选择标量场节点,然后将函数设置为体积分数>水体积分数。
a)将剪切设置为关闭。
b)将自动范围设置为关闭。
c)将最小值设为0.5。
d)将最大值设为0.5。
此时可返回场景>标量场景1节点以完成对其属性的设置。
5.选择场景>标量场景1>标量1>颜色条节点,然后将色图设为水。
6.禁用阴影。
7.将层数设置为2(因为水颜色图中只有两个点)。
8.禁用可见,这是因为要将自由表面显示为统一的颜色:不需要颜色条。
要提供船体的完整表示,需要做一些额外更改。
9.选择场景>标量场景1>标量1节点,然后将轮廓样式设为平滑填充。
10.打开专家属性,将转换设置为对称1。
为改进显示效果,需要对标量场景照明做一些调整。
11.右键单击场景>标量场景1>属性>照明节点,然后选择选项顶部照明。仅第一个照明保持激活。
12.打开照明节点,选择照明2节点。
13.激活照明2节点的启用。
15.创建DFBI显示器
将两个显示器添加到场景以显示船的质心以及作用于船上的力和力矩。
1.右键单击场景>标量场景1,然后选择新显示器>DFBI
2.选择DFBI1>零部件节点,然后将零部件设置为6自由度体>船。
3.选择DFBI1节点,然后将不透明度设置为0.5
4.将转换设置为对称1。
船和显示质心位置的图标随即出现。
5.右键单击场景>标量场景1,然后选择新显示器>DFBI
6.选择DFBI2>零部件节点,然后将零部件设置为6自由度体>船>外力与力矩>流体力与力矩。
7.选择DFBI2>相对尺寸节点,然后将矢量图形长度(%)设置为50
8.选择DFBI2节点,然后将矢量长度设置为矢量幅值。
力和力矩是在运行过程中计算的。
16.导出场景动画的图像
2.将输出目录设置为指向文件系统中可以保存多个图像的适当文件夹。
3.输入水表面作为基本文件名属性的值。从此场景中创建的图像文件的文件名中均包含水表面。
4.激活保存至文件。
此时,一个红色星号出现在对象树中的标量场景1节点的旁边。
5.选择更新>硬拷贝节点,并设置以下属性:
17.报告、监视和绘图
1.右键单击报告节点,然后选择新报告>DFBI>6自由度体平移。
一个名称为6自由度体平移1的节点出现在报告节点内。
2.将6自由度体平移1节点重命名为Z轴向平移
3.选择Z轴向平移节点,然后将方向设置为[0.0,0.0,1.0]。
创建第二个报告以监视围绕Y轴的旋转角度。
4.右键单击对象树中的报告节点,然后选择新报告>DFBI>6自由度体方向。
5.将6自由度体平移1节点重命名为Y轴向旋转
6.选择Y轴向旋转节点,然后将角度报告选项设置为旋转Y轴。
依据这些报告创建监视器和绘图。
7.首先选择报告>Y轴旋转节点,然后在按下Ctrl键的同时,选择Z轴平移节点。
8.右键单击节点并选择选项根据报告创建监视器和绘图
根据报告创建绘图对话框随即出现。
9.选择多绘图(每一个报告一个绘图)选项。
名称分别为Z轴向平移监视器绘图和Y轴向旋转监视器绘图的两个新节点出现在绘图节点下方。
打开与这些节点对应的绘图进行预览。
为这些绘图提供数据的监视器的默认更新频率是每个迭代更新一次。由于本模拟是非稳态模拟,因此最好每个
10.打开模拟树中的监视器节点,使用Ctrl+单击方法同时选择Y轴向旋转监视器和Z轴向平移监视器节点。
18.初始化并运行模拟
为确认应用于边界的初始条件正确,SimcenterSTAR-CCM+允许先单纯执行求解器初始化,然后使用适当的场景查看结果。
1.要初始化,单击工具栏中的(初始化求解)按钮或使用求解>初始化求解菜单项。
2.选择标量场景1窗口以查看初始化结果。使用鼠标键按下图所示调整模型方向和尺寸。
在运行过程中,作用于半个船体的力(红色)和力矩(蓝色)矢量会被显示出来。要显示作用于另一半船体的矢量,启用对称转换:
3.选择DFBI2节点,然后将转换设置为对称1。
力矢量(极矢量)镜像到对称平面上。力矩矢量(轴矢量)保持其幅值,但因反射而改变方向。要清除作用于体的力或力矩,取消选择DFBI2节点属性中的适当框。为减少场景混乱,本次运行中仅查看作用于一半船体的力和力矩。
4.选择DFBI2节点:
将转换设置为标识。激活力和力矩。
5.单击工具栏中的(运行)按钮。
模拟结束时的Y轴向旋转监视器绘图如下所示。
19.可视化结果
2.0s后船体上的压力分布被绘制在标量场景中。
1.右键单击场景节点,然后从弹出菜单中选择新建场景>标量。
2.将标量场景2节点重命名为HullPressure(船体压力)
3.选择场景>HullPressure(船体压力)>轮廓1节点,然后停用轮廓。
所有可见的轮廓均从船体压力屏幕中删除。
4.选择HullPressure(船体压力)>标量1>零部件节点,然后单击零部件属性的右侧。
5.在出现的对话框中,展开区域和Region_1节点。选择船体节点,然后单击确定。
6.选择HullPressure(船体压力)>标量1>标量场节点,然后将函数设为压力。
7.选择HullPressure(船体压力)>标量1节点,然后将轮廓样式设为平滑填充。
8.展开专家属性,然后将转换设置为对称1。
使用鼠标控制钮按需要缩放场景和调整方向。船头的细节图如下所示。
20.总结
本教程演示如何使用具有自由表面流体的六自由度求解器对面临顶头波的船体运动建模。