在场函数和衍生零部件中使用轨迹

在存在许多颗粒轨迹的模拟中,可能只需要使用其中一小部分在图形场景中绘图。可创建场函数来过滤可用的轨迹,并在衍生零部件中应用该过滤器。

创建了一个为每八个轨迹返回轨迹块索引号的场函数。此轨迹块索引的函数名称是 TrackParcelId(此名称可从函数名称属性中找到,此属性位于轨迹: 块索引节点,此节点位于自动化 > 场函数中)。

要在场函数和衍生零部件中使用轨迹:

  1. 右键单击自动化 > 场函数节点,然后在弹出菜单中选择新建 > 标量
  2. 用户场函数 1 节点重命名为轨迹过滤器
  3. 选择轨迹过滤器节点,然后设置下列属性:
    属性 设置
    函数名 轨迹过滤器
    量纲 无量纲
    定义 (fmod($TrackParcelId, 8) <= 0.0001) ? $TrackParcelId : -1

此处输入的函数使用 fmod 函数以及由三元操作符“?:”定义的条件表达式。这个函数的实际含义是,如果 TrackParcelId 能被 8 整除,则返回 TrackParcelId,如果不能整除,则返回值 -1。

创建一个基于阈值的衍生零部件以使用此行为。

  1. 右键单击衍生零部件,然后从弹出菜单中选择新建零部件 > 阈值

    创建阈值对话框随即出现在对象树上方。

  2. 输入零部件框中,单击下拉菜单。在出现的对话框中,使用 列选择)进行全部取消,展开颗粒轨迹节点,然后选择相 1 轨迹选项。


  3. 单击确定
  4. 单击标量框中的下拉菜单,然后选择轨迹过滤器选项,如图所示。


  5. 提取模式设置为全部大于,然后将阈值设置为 0.001
  6. 选择显示框中的无显示器

    完成的面板如下图所示。



  7. 单击创建,然后单击关闭

    一个名为阈值的新的衍生零部件出现在对象树中。



  8. 阈值节点重命名为已过滤的轨迹

修改标量场景 1 以显示已过滤的轨迹:

  1. 选择场景 > 标量场景 1 > 标量 1 > 零部件节点。


  2. 单击零部件属性的右半部分。
  3. 在出现的对话框中,单击下拉菜单。
  4. 在出现的对话框中,使用 列选择)进行全部取消,展开衍生零部件节点,然后选择已过滤的轨迹,如下图所示。


  5. 单击确定

此时,标量场景 1 显示已过滤的颗粒轨迹集。