本案例演示利用Rocky仿真装瓶线上可乐瓶的运动。 案例计算完毕后如图所示。 1 新建项目- 点击菜单
File → New Project 或快捷键Ctrl+N 创建一个新项目
2 物理模型- 选中模型树节点
Physics ,进入Momentum 选项卡 - 指定参数
Numerical Softening Factor 为 0.1
3 Modules设置- 选择模型树节点
Modules ,激活 Inter Particle Collision Statistics
- 选中节点
Inter Particle Collision Statistics ,激活选项 Normal Impact Velocity
4 几何- 右键选择模型树节点
Geometries ,点击弹出菜单项 Import Wall
案例几何由以下部分组成: 这14个部件将作为.stl文件导入。 5 定义运动为了实现安全运输瓶子和将它们整合成一条线的目标,13个输送带必须增加速度,同时轨道对齐瓶子。案例为每个输送带创建一个Motion Frame。 - 右键选择模型树节点
Motion Frames ,点击弹出菜单项 Create Motion Frame 创建新节点Frame<01>
- 选中模型树节点
Geometries > Belt_01 ,指定其Motion Frame 为 Belt Velocity<01>
可以使用下表中的值手动创建这些额外的Motion Frame,并手动将它们分配给各自的输送带。 若嫌手动添加麻烦的话,也可以编制python脚本,实现自动添加。以下是脚本使用过程。 - 点击菜单Tools → Python Shell 开启脚本运行界面
velocities = [0.1676,0.1676,0.1676,0.1676 ,0.3352, 0.4623 ,0.4724 ,0.64 ,0.7671, 0.7772, 0.9448, 0719,1.1430] study=app.GetStudy() motion_frame_source = study.GetMotionFrameSource() motion_frames=[]
for i in range(0,12): number_str="" if(i+1<9): number_str="0" motion_frames.append(motion_frame_source.NewFrame()) motion_frames[i].SetName(f'Belt Velocity <{number_str}{str(i+2)}>') motion_frames[i].SetKeepInPlace(True) motions = motion_frames[i].GetMotions() motions_new_list_item = motions.New() translation_motion=motions_new_list_item.SetType("Translation") translation_motion.SetVelocity((velocities[i+1],0,0),"m/s") belt=study.GetGeometry(f'Belt_{number_str}{str(i+2)}') motion_frames[i].ApplyTo(belt) belt.SetMaterial('Default Belt')
如下图所示。 运行完毕后,自动创建12个Motion Frame并将其分配给各自的传送带。 6 材料交互- 选择模型树节点
Materials Interactions - 指定颗粒与传送带之间(
Default Particles - Default Belt )
- 指定
Default Particles - Default Boundary
- 指定
Default Particle - Default Particles
7 创建颗粒- 右键选择模型树节点
Particles ,点击弹出菜单项 Create Particle 创建新节点 Particle<01>
- 选中新建的节点,在属性面板的
Particles 面板中进行设置
设置Name 为 bottle2. 指定Shape 为 Custom Polyhedron ,弹出的文件选择对话框中选择几何文件Bottle.stl ,以mm 为单位导入模型
3. 在弹出的Convert to Convex? 对话框中选择1 - Keep the shape as is.,然后点击OK。
注:本案例希望Rocky将颗粒视为凹形,以保留其形状。否则,它会将几何体转换为凸形,从而会丢失一些瓶子的细节。 ”
为了正确地表示Filled Bottle的行为,必须改变颗粒的Center of Mass 和Moments of Inertia。
- 进入
Size 选项,指定Size为 0.0679753 m
注:这里设置该尺寸的目的是确保体积与瓶子的实际体积(353毫升)匹配,可以通过使用Info标签页上的值来查看。 ”
- 进入Info标签页,可以查看并验证Volume值。
- 现在颗粒尺寸已经设置,查看 Particles Details 窗口并记下最小的Y坐标。这个值将在后面用来规定期望的 Particle Custom Inlet 位置。
8 定义颗粒入射这里由于需要放入的瓶子较多,因此采用csv文件指定入射位置。 - 右键选择模型树节点
Inlets and Outlets ,点击弹出菜单项 Create Particle Custom Inlet 创建新节点Particle Custom Inlet<01>
- 选中新节点,指定
Particle 为 Bottle,点击按钮Load File 导入文件 custom_bottle_injection.csv
在File Info下,可以看到加载的**.csv** 中定义的各种Properties的Number of Particles和Min 和 Max值。 注意:y属性的min(0.063)和max(0.063)值表示所有的颗粒将被注入到输送带上方的0.063米处。这大约是前面提到的几何中心和瓶子底部之间的距离。 ”
9 区域设置案例中,瓶子比轨道更高,如果使用几何体限制作为边界,一部分颗粒将会在计算区域外。因此需要手动设置边界限制。 - 选中模型树节点
Domain Settings ,如下图所示指定参数
指定的计算区域如图所示。 10 进行计算- 选中节点
Solver ,如下图所示设置参数,点击Start 按钮进行计算
13. 模拟项目
Simulation Summary屏幕出现(如图所示),然后开始处理。 计算中可以更新图形显示,如图所示。
(完)
|