第 22 章 教程-割草机

(第一部分)设置并处理一次仿真,该仿真使用.csv文件定义的Custom Fibers。使用Particle Custom Inlet以及Custom Fibers和 Frozen Segments,来设置草Fiber 的位置。

(第二部分)使用Particle Mass来观察Fiber是如何断裂的,计算割草机刀片的功率和扭矩,并确定刀片的哪些区域最容易磨损。

22.1. 第一部分:项目设置与处理

22.1.1. 目标

本教程旨在了解如何设置和处理一次仿真,该仿真使用通过Frozen Segments定义的Custom Fibers

本教程考虑的场景是割草机割草,在该场景中单独的草植物由带Frozen SegmentsCustom Fibers代表,其中纤维附着在地面上。

您将了解如何:

  • 使用.csv文件定义Custom Fiber颗粒形状

  • 将一个颗粒形状导出到一个.stl文件中

  • 使用Particle Custom Inlet以及Custom Fibers和 Frozen Segments,来设置草Fiber 的位置

  • 将草Fibers附加在运动坐标系上

您将使用这些功能:

  • Particle Custom Inlet

  • Custom Fiber Particle Shape

  • Multi-Element (Flexible) Particles

  • Frozen Fibers

  • Joint Breakage

  • Particle Shape Export

22.1.2. 前提条件


重要:  与其他Rocky教程相比,本高级教程包含更少的细节、截图和步骤。

  • 高级教程旨在面向更熟悉Rocky用户界面(UI)并且已经很好地了解常见设置和后处理任务的用户。

  • 如果您尚未达到这种熟悉程度,建议您在开始本教程之前至少完成教程01-05。


22.1.3. 几何结构

 

本教程中的几何结构包括:

  • (1) 割草机

  • (2) 刀片

  • (3) 地面

这3个项将按.stl文件导入,其位于教程目录下。

22.1.4. 项目创建

要开始设置本教程,请执行以下操作:

  1. 此处下载dem_tut22_files.zip文件。

  2. dem_tut22_files.zip解压缩到您的工作目录。

  3. 打开Rocky 2025 R1

  4. 创建新项目。

  5. 将空项目保存到您选择的位置。

  6. 请使用下表中的信息开始设置Rocky项目。


    提示:  如果您在这些表格中遇到了不熟悉的设置或过程,请参考Rocky用户手册和/或其他教程(通过入门教程和高级教程),以找到您需要的详细说明。


    步骤数据实体编辑器位置参数或操作设置
    AStudyStudyStudy NameLawn Mower
    BPhysicsPhysics | MomentumNumerical Softening Factor0.1 [ - ]
    CModulesModulesBoundary Collision Statistics(已启用)
    DModules

    Boundary Collision Statistics

    Boundary Collision StatisticsIntensities(已启用)
    EGeometriesImport Wallblades.stl、ground.stlmower.stlImport Unit均设置为“mm”
    FGeometries

    blades

    Wall | TransformTranslation0, 0.005, 0 [m]
    Triangle Size0.01 [m]
    GMotion FramesCreate Motion Frame
    HMotion Frames

    Frame <01>

    FrameNameTranslation
    Add motion
    Velocity-0.17, 0, 0 [m/s]
    IGeometries

    ground

    WallMotion FrameTranslation ⯆
    JMotion FramesCreate Motion Frame
    KMotion Frames

    Frame <01>

    FrameNameRotation
    Relative Position0.185, 0, 0 [m]
    Add motion
    TypeRotation ⯆
    Initial Angular Velocity0, -30, 0 [rad/s]
    LGeometriesWallMotion FrameRotation ⯆
    MMaterials

    Default Particles

    MaterialBulk Density439 [kg/m3]
    Young's Modulus1e+07 [N/m2]

22.1.5. 颗粒组定义

在Particles步骤中,我们将创建一个Custom Fiber,其在.txt或.csv文件中定义,然后导入Rocky。

  • Custom Fiber形状由独立且相连的Segments组成,其位置由每个起始及结束节点的坐标定义。

  • 其它属性可以按Segment定义,包括其Diameter,以及Segment是否将视为Frozen等。

在本教程中,我们将创建一个有四段不同直径的段Custom Fiber,其中底部段是Frozen(如图所示)。

 

我们将用来定义该形状的.csv文件的结构如下所示:

 

标题下的每一行都定义了一个单独的段,其中:

  • X1、y1和z1是段起始节点的坐标。

  • x2y2z2是段结束节点的坐标。

  • diameter 是段的直径。

  • k_multiplier(可选)是段的杨氏模量乘子。

  • frozen(可选)表示段将视为冻结(1)还是未冻结(0)。


    注意:  定义为冻结的多单元Fiber的段将固定在某个位置,并且只有Fiber的未冻结段响应仿真中来自其它对象的相互作用。


现在我们来创建一个Custom Fiber ,并导入对其定义的.csv文件。

  1. 创建一个新Particle

  2. 在主Particle选项卡中,输入Name,然后将Shape定义为Custom Fiber

  3. Select file to import 对话框中,导航到geometry文件夹并打开grass.csv文件。

  4. Import File Info对话框中点击OK

  5. Size子选项卡中,设置Size Type

     

  6. 在Data Editors面板中,点击View按钮。

    代表Grass Fiber的颗粒形状显示在Particle Details窗口中。

     

22.1.6. 颗粒形状导出

因为我们在.csv文件中设计了这个Custom Fiber形状,所以如果出于任何原因需要时,我们都没有可以在CAD程序中使用的副本。

幸运的是,Rocky可帮助我们将Particle形状导出到.stl文件中。我们来试试:

  1. Data面板的Particles下,右键点击Grass Particle,指向Export ,然后点击Rendered Shape

     

  2. Select output unit 对话框中,点击OK。

  3. Select target STL file对话框中,选择一个位置并为文件输入File name,然后点击Save。

现在,您有一个草Fiber形状的.stl副本。

22.1.7. 颗粒组定义

在本教程中,我们希望草Fibers在垂直轴周围有一个随机的方向:

  1. 从Data Editors面板中选择Orientation子选项卡。

  2. 启用Random Angle复选框并设置Half Angle(x,y,z)。

     

通过这种方式,我们已经定义了y角限制,在此范围内,Rocky将随机定向Particle集中的每个单颗粒。

在本教程中,我们希望草Fiber在运动中既柔韧,又有利于割草机刀片在接触草时就能将其割(断)。

我们将通过组合Multiple Elements的Fiber来启用这两个功能。

  • 在默认情况下,将Fiber定义为Single Element。这可形成一个无法破坏的刚体形状。

  • 为了同时支持柔韧性和断裂性,Fibers必须由Multiple Elements组成,其将每个Segment 分成一个或多个Elements

    • Elements的数量(大致)由Target Number of Elements数量控制,并且可以在Info选项卡上验证。

  • 柔韧性和断裂性都出现在将各Elements相互连接Joints位置。

 

在本教程中,我们希望Elements的数量等于组成Fiber的Segments的数量(4),所以我们将Target 设置为小于或等于该数的值。

  1. 从Data Editors面板中选择Composition子选项卡,然后从Composition列表中选择Multiple Elements。  

  2. 然后,我们可以在Info选项卡上验证Rocky将计算的Elements数。从Info子选项卡中查看Elements值(如图所示)。  

    对于Multi-Element颗粒,Rocky为接头断裂提供了five种模型选项:

    • Shear Stress Criterion

    • Griffith Surface Energy

    • Tensile Stress Criterion

    • Tensile or Shear Stress Criterion

    • von Mises Stress Criterion


      提示:  关于这些模型的更多信息,可以在Rocky DEM Technical Manual中找到。


  3. 从Data Editors面板中选择Breakage子选项卡,然后定义ModelShear Stress Limit (如图所示)。  

22.1.8. 输入定义

在本教程中,我们将创建一个Particle Custom Inlet ,在草坪状模式中精确定位草Fibers。

  • 先将草Fiber的底部Segment定义为冻结,我们将确保我们定位的颗粒一直粘在地面上并保持直立,就像扎根一样。

  • 如果我们没有采取这一步,由于重力和/或与割草机的接触,草Fibers在布置后很快就会倒下。

 

  1. 要定义自定义输入,请使用以下信息:

    步骤数据实体编辑器位置参数或操作设置
    AInlets and OutletsCreate Particle Custom Inlet
    BInputs

    Particle Custom Inlet <01>

    Custom InputParticleGrass Particle ⯆
    Load Filegrass_position.csv
    Motion FrameTranslation ⯆

因为我们使用的是multi-element Frozen Fibers,所以我们可以选择将其附加到Motion Frame上。这样做可以使颗粒的“冻结”部分沿着指定的运动路径移动。

在本教程中,我们会分配Translation Motion Frame,其将使草沿地面向割草机刀片移动。


重要:  当您将Motion Frame附加到Particle Custom Inlet时,.csv文件中的release属性必须为所有颗粒设置为零或全部省略。


在File Info下,我们可以验证在导入的.csv中定义的Properties 的汇总信息(如图所示)。

 


注意:  .csv文件中设置的ux属性定义了X方向的初始速度,该属性使用与我们的平移运动坐标系相同的速度定义。

这样做可以确保所有Fiber的Segments都能以相同的速度启动仿真;否则,只有Frozen Segments的运动坐标系速度为0。


22.1.9. 求解器定义

  1. 使用下表中的信息来定义求解器参数并完成对项目的设置。

    步骤数据实体编辑器位置参数或操作设置
    ASolverSolver | TimeSimulation Duration3 [s]
    Output Settings | Time Interval0.005 [s]
    Breakage | Start0 [s]
    Breakage | Delay After Release0 [s]
    Solver | GeneralSimulation TargetCPU ⯆

22.1.10. 设置确认

打开3D View窗口后,您的Data面板和工作区应类似于下图。

 

22.1.11. 仿真项目

  1. Solver实体中点击Start

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

 

 


提示:  您可以使用Auto Refresh复选框,以在处理过程中在3D View窗口里查看结果。


22.1.12. 结论

这就完成了本教程的第一部分,该部分将Rocky用来设置和处理割草机的仿真。

在本教程中,可以:

  • 了解Custom Fiber 颗粒形状的组成方式。

  • 导入一个用Frozen Segments定义的Custom Fiber 颗粒形状。

  • 将一个颗粒形状导出到一个.stl文件中。

  • 为Custom Fiber设置合适的Joint Breakage模型。

  • Particle Custom Inlet分配一个Motion Frame

下一步是什么?如果您成功完成了本教程,那么您就可以进入第二部分,并对该项目进行后处理了。

22.2. 第二部分:后处理

22.2.1. 目标

本教程旨在使用我们在第一部分中设置并处理的仿真结果来分析割草机性能。

您将了解如何:

  • 使用Particle Mass来查看 Fiber是如何断裂的

  • 计算割草机刀片的功率和扭矩

  • 确定割草机刀片的哪些区域最容易磨损

您将使用这些功能:

  • Geometries Properties和Curves

  • Time Plots

  • 输出变量

22.2.2. 前提条件


重要:  与其他Rocky教程相比,本高级教程包含更少的细节、截图和步骤。

  • 高级教程旨在面向更熟悉Rocky用户界面(UI)并且已经很好地了解常见设置和后处理任务的用户。

  • 如果您尚未达到这种熟悉程度,建议您在开始本教程之前至少完成教程01-05。


22.2.3. 打开项目

  1. 如果您已经完成了本教程的第一部分,请确保项目在Rocky中是打开的。(第二部分将从第一部分结束的地方继续。)

  2. 如果您没有完成第一部分中的项目,请执行以下所有操作:

    1. 此处下载dem_tut22_files.zip文件。

    2. dem_tut22_files.zip解压缩到您的工作目录。

    3. 打开Rocky 2025 R1。


      重要:  要使用提供的Rocky项目文件,您必须安装Rocky 2025 R1或更高版本。如果您有较早版本的Rocky,请升级到最新版本或从头完成第一部分。


    4. 从Rocky程序中点击Open Project按钮,找到dem_tut22_files文件夹,然后从tutorial_22_A_pre-processing文件夹打开tutorial_22_A_pre-processing.rocky文件。

    5. 处理仿真。(从Solver 实体点击Start按钮。)

22.2.4. 查看单个单元

  1. 使用下表中的信息来查看刀片几何结构与草Fibers碰撞的效果。

    提醒一下:如果您在这些表格中遇到了不熟悉的设置或过程,请参考Rocky用户手册和/或其他教程(通过入门教程和高级教程),以找到您需要的详细说明。

    步骤位置参数或操作设置
    AWindow(菜单)创建一个New 3D View
    BParticlesColoringNodes(已启用)
    PropertyParticle Mass ⯆

最初,在仿真0秒时,每个草Fiber都是完整的(无破损)。

 

移动Time 工具栏上的滑块,您可以观察割草机刀片如何将草颗粒切碎。

 

 


注意:  对于断裂的Fibers,只有冻结的Segment 保持直立。


22.2.5. 扭矩与功率

在本教程中,我们将根据以下方法估算割草机刀片的扭矩:

公式 22–1. 

其中:

  • 为扭矩(Nm)

  • 为功率(W)

  • 为角频率(Hz)

22.2.6. 扭矩与功率

  1. 使用下表中的信息为Torque创建一个Custom Curve。

    步骤位置参数或操作设置
    AGeometries

    blades

    CurvesAdd new custom curve(按钮)
    BAdd new(对话框)NameTorque
    Output UnitN.m
    Inputs | Power(已启用)
    Inputs | Velocity : Rotational : Y(已启用)
    CCustom Curves(对话框)ExpressionA/(2*3.1416*B)


注意:  在步骤C中,请确保输入的表达式表示:


在本教程中,我们将假设为割草机选择适当尺寸的引擎需要知道以下值:

  • 最小扭矩

  • 平均扭矩

  • 最大功率

  • 平均功率

我们可创建四个单独的Time数列图,并在每个图上定位这些信息。但在比较多个仿真值时,这会变得困难重重。

一种更简单的方法是使用Output Variables,它会在一个易于查找的位置将一组Property或Curve数据提取为一个单个值。

我们来使用Output Variables创建该分析所需的四个单个值。

要创建Output Variables,请执行以下操作:

  1. 在Tools菜单中,确保启用Expressions/Variables

  2. 在Data Editors面板中,将新创建的Torque (Custom) Curve拖放到Output选项卡上。重复Power 曲线。

  3. 从Output选项卡中选择新添加的Power条目,然后点击Edit 按钮。

     

  4. Edit Properties对话框中输入Name,然后点击OK

     

  5. 重复Torque_Custom_ entry,输入Name并定义Operation on Curve

     


    注意:  刀片逆时针旋转时,最小Torque值将是最大绝对值。


    现在我们要求Average值。

  6. Data Editors面板中,再次将Torque (Custom) Curve 和Power Curve拖放到Output 选项卡上。

  7. 选择新添加的Power条目,然后点击Edit 按钮。

  8. Edit Properties对话框中,输入Name,定义 Operation on Curve(如图所示),然后点击OK

     

  9. 重复Torque_Custom_ entry,输入Name并定义Operation on Curve

     

  10. 按Ctrl+T,打开Time Plot

  11. 在Data Editors面板中,将新创建的Torque (Custom) 曲线和Power 拖放到Time Plot上。

    现在我们有了正确的扭矩和功率值,我们需要为割草机选择合适的引擎。

     

     

22.2.7. 强度与磨损

在Rocky中,您可以使用 surface wear modification来计算磨损效果。

该功能中使用的wear law通过考虑几何结构表面的剪切功来计算其随时间变化的磨损情况。

然而,对于我们在本教程中研究的案例,割草机刀片结构的表面修改不会很明显,因为仿真时间很短。

相反,我们不仅可计算剪切力在每个三角形表面上所做的总功,而且随后还可验证刀片的哪些区域具有highest的剪切功。

您可能还记得:在第一部分中,我们为Boundary Collision Statistics启用了Intensities数据收集。我们可以使用这些数据执行剪切功分析。

22.2.8. 强度与磨损

一个良好的近似值表达式是:

公式 22–2. 

其中:

  • (J)是功

  • (W/m2)为Intensity:Shear,这两者都作用于三角形,

  • (m2)是Area:Cell,这是三角形的面积是时间[s]

  • (s)是两个输出间的时间,由Time Interval决定。

  1. 使用下表中的数据添加一个新的自定义属性,其可计算刀片的剪切功:

    步骤位置参数或操作设置
    AGeometries

    blades

    PropertiesAdd new custom property(按钮)
    BAdd New(对话框)NameInstantaneous Shear Work
    Output UnitJ
    Inputs | Area : Cell(已启用)
    Inputs | Intensity : Shear(已启用)
    CCustom Property(对话框)ExpressionA*B*OUTPUT_FREQUENCY
    DGeometries

    blades

    PropertiesAdd and edit time statistics properties(按钮)
    EEdit time statistics properties(对话框)Add time statistics properties(按钮)
    FAdd time statistics properties(对话框)Start time1 [s]
    Stop time3 [s]
    Operations | Sum(已启用)
    Properties | Instantaneous Shear Work (Custom)(已启用)

  2. Properties选项卡中,右键点击新创建的Sum of Instantaneous Shear Work (Custom) 属性,指向3D View,然后选择Show in new 3D View

  3. 在Data面板的Geometries下,隐藏blades组件以外的所有组件。隐藏主Particles实体。

     

22.2.9. 结论

这样就完成了本教程的第二部分

使用Rocky对割草机割草的仿真进行后处理。

在本教程中,可以:

  • 使用Particle Mass来查看 Fiber是如何断裂的。

  • 通过创建Custom Curves来计算割草机刀片的Torque

  • 使用Output Variables将割草机刀片的TorquePower Curves提取为易于定位的单个值。

  • 通过创建Custom PropertiesTime Statistics Properties,计算草颗粒对刀片所做的总剪切功。

下一步是什么?如果您成功完成了本教程,那么您就可以继续学习下一个教程了。