首页/文章/ 详情

Rocky案例|装瓶生产线

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
9月前浏览10074

本文摘要(由AI生成):

本文介绍了一个使用Rocky仿真软件模拟装瓶线上可乐瓶运动的案例。案例中,作者创建了一个物理模型,包括几何、运动、材料交互等设置,并使用Python脚本自动创建了12个Motion Frame并将其分配给各自的传送带。最后,作者进行了计算并展示了模拟结果。


本案例演示利用Rocky仿真装瓶线上可乐瓶的运动。

案例计算完毕后如图所示。

1 新建项目

  1. 启动Rocky 2024 R1
  2. 点击菜单File → New Project或快捷键Ctrl+N创建一个新项目
  3. 保存项目。

2 物理模型

  1. 选中模型树节点Physics,进入Momentum选项卡
  2. 指定参数Numerical Softening Factor0.1

3 Modules设置

  1. 选择模型树节点Modules,激活 Inter Particle Collision Statistics
  1. 选中节点Inter Particle Collision Statistics,激活选项 Normal Impact Velocity

4 几何

  1. 右键选择模型树节点Geometries,点击弹出菜单项 Import Wall
  1. 选择所有的几何文件导入
  1. 指定导入单位为 mm

案例几何由以下部分组成:

  • 轨道(单个部件)
  • 输送带(13个独立部件)

这14个部件将作为.stl文件导入。

5 定义运动

为了实现安全运输瓶子和将它们整合成一条线的目标,13个输送带必须增加速度,同时轨道对齐瓶子。案例为每个输送带创建一个Motion Frame。

  1. 右键选择模型树节点Motion Frames,点击弹出菜单项 Create Motion Frame 创建新节点Frame<01>
  1. 选中新节点,在属性窗口中设置参数
  1. 选中模型树节点Geometries > Belt_01,指定其Motion FrameBelt Velocity<01>

可以使用下表中的值手动创建这些额外的Motion Frame,并手动将它们分配给各自的输送带。

若嫌手动添加麻烦的话,也可以编制python脚本,实现自动添加。以下是脚本使用过程。

  1. 点击菜单Tools → Python Shell 开启脚本运行界面
  1. 在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 材料交互

  1. 选择模型树节点Materials Interactions
  2. 指定颗粒与传送带之间(Default Particles - Default Belt
  1. 指定Default Particles - Default Boundary
  1. 指定Default Particle - Default Particles

7 创建颗粒

  1. 右键选择模型树节点Particles,点击弹出菜单项 Create Particle 创建新节点 Particle<01>
  1. 选中新建的节点,在属性面板的Particles面板中进行设置设置Namebottle2. 指定ShapeCustom Polyhedron ,弹出的文件选择对话框中选择几何文件Bottle.stl,以mm为单位导入模型3. 在弹出的Convert to Convex? 对话框中选择1 - Keep the shape as is.,然后点击OK
 

注:本案例希望Rocky将颗粒视为凹形,以保留其形状。否则,它会将几何体转换为凸形,从而会丢失一些瓶子的细节。

为了正确地表示Filled Bottle的行为,必须改变颗粒的Center of MassMoments of Inertia

  1. 进入Movement选项卡,如下图所示设置参数
  1. 进入Size选项,指定Size为 0.0679753 m
 

注:这里设置该尺寸的目的是确保体积与瓶子的实际体积(353毫升)匹配,可以通过使用Info标签页上的值来查看。

  1. 进入Info标签页,可以查看并验证Volume值。
  1. 现在颗粒尺寸已经设置,查看 Particles Details 窗口并记下最小的Y坐标。这个值将在后面用来规定期望的 Particle Custom Inlet 位置。

8 定义颗粒入射

这里由于需要放入的瓶子较多,因此采用csv文件指定入射位置。

  1. 右键选择模型树节点Inlets and Outlets,点击弹出菜单项 Create Particle Custom Inlet 创建新节点Particle Custom Inlet<01>
  1. 选中新节点,指定ParticleBottle,点击按钮Load File导入文件 custom_bottle_injection.csv

File Info下,可以看到加载的**.csv** 中定义的各种PropertiesNumber of ParticlesMinMax值。

 

注意:y属性的min(0.063)和max(0.063)值表示所有的颗粒将被注入到输送带上方的0.063米处。这大约是前面提到的几何中心和瓶子底部之间的距离。

9 区域设置

案例中,瓶子比轨道更高,如果使用几何体限制作为边界,一部分颗粒将会在计算区域外。因此需要手动设置边界限制。

  • 选中模型树节点Domain Settings,如下图所示指定参数

指定的计算区域如图所示。

10 进行计算

  • 选中节点Solver,如下图所示设置参数,点击Start按钮进行计算
 

13. 模拟项目

  1. Solver实体,点击Start

Simulation Summary屏幕出现(如图所示),然后开始处理。

计算中可以更新图形显示,如图所示。


(完)

来源:CFD之道
ACTRockypythonUM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-22
最近编辑:9月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2578粉丝 11415文章 744课程 27
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈