谓词

谓词是应用于一组对象的条件语句。对象可能满足或不满足条件;如果满足条件,将包含在结果中。

可使用查询编辑器来通过下拉列表和对象选择器创建并修改谓词。还可以将对象或属性从模拟树拖放到查询编辑器中。

虽然存在一些微小变化,但谓词通常由谓词类型、谓词运算符和谓词值组成。例如,在谓词 [名称包含 MyPart] 中,类型是名称,运算符是包含,值是 MyPart

考虑一个示例。假设一个谓词应用于三个零部件:圆柱体 (Tube)、方块零部件 (Cube) 和球体 (Ball)。下面介绍了应用于这组零部件的一些不同谓词:
  1. [名称结尾是 ube] 将返回圆柱体 (Tube) 和方块 (Cube)

  2. [类型是几何零部件] 的结果会包含所有三个零部件

  3. [类型是方块零部件] 的结果仅包含方块 (Cube)

谓词可以使用“与”和“或”运算符进行组合。两个谓词使用“与”进行组合时,过滤器会显示其结果的交集。例如,使用“与”将查询 1 与查询 3 进行组合会得到结果 Cube

两个谓词使用“或”进行组合时,过滤器会显示其结果的并集。例如,将 [类型是方块零部件][名称包含 Ball] 组合会返回 Cube 和球体。



创建或编辑过滤器时,所有更改都会自动提交到服务器。“放弃更改”(X) 按钮会将谓词恢复到进行任何编辑之前的内容。使用右键单击菜单或 CTRL+<z> 可执行“取消操作”。

“Pre-11.06 结果”谓词

Simcenter STAR-CCM+ 中,已命名对象是可以重命名的对象。要重命名,选择对象(如零部件),按 <F2>(或右键单击并选择重命名...),然后为对象提供新名称。诸如零部件、零部件表面、零部件曲线、区域、连续体、报告、场景和绘图之类的对象都是已命名对象。

诸如网格生成器、默认控制、模型、物理条件、物理值和初始条件之类的对象无法重命名。这些对象称为非命名对象。

通常,可以将已命名对象视为引入到模拟中的物理对象,而非命名对象表示这些物理对象的属性。

Simcenter STAR-CCM+ v11.06 之前,查询仅返回已命名对象。自 v11.06 起,查询会同时返回已命名对象和非命名对象。为了使某些基于关系和属性的嵌套查询正常工作,必须进行这种行为更改。

因为这种行为更改在某些情况下可能导致向后兼容问题,所以可以包含谓词 Pre-11.06 结果,该谓词会限定查询以仅返回已命名对象。包含 Pre-11.06 结果的查询的行为方式与在 v11.06 之前的 Simcenter STAR-CCM+ 版本中创建的查询相同。



因此,当恢复在 v11.06 之前编写的查询时,Simcenter STAR-CCM+ 会自动使用“与”运算符添加 Pre-11.06 结果谓词。

仅返回已命名对象(不使用 Pre-11.06 结果

如果要限定结果以仅返回已命名对象,则可以添加谓词 [名称包含]。此谓词具有将结果仅限为已命名对象的效果 — Pre-11.06 结果谓词实质上就是 [名称包含]

为了演示已命名对象与非命名对象之间的差异,考虑下面的示例:将连续体 > Mold Physics > 模型节点拖到查询编辑器中以创建 [类型是模型]。连续体中的所有模型都会显示为结果:

[类型是模型] 将返回模型。



现在,当使用“与”添加谓词 [名称包含] 时,所有结果都会消失。因为模型对象的名称由 Simcenter STAR-CCM+ 固定,无法修改,所以 [名称包含] 谓词会忽略它们:

[类型是模型] 与 [名称包含] 不返回任何内容。



两个示例进一步演示了查询中的已命名对象行为:

  • [类型是零部件表面] 将返回所有零部件表面。零部件表面取决于模型的几何,是在构建模拟时创建的对象。

  • [类型是零部件表面] 与 [名称包含] 将返回相同结果,因为零部件表面也是已命名对象。

扩展类型谓词

如果正在查找特定对象类型并且在类型谓词的现有下拉列表中找不到它,则可以暂时将该类型添加到列表中。

  1. 在类型谓词的下拉列表中,选择其他

  2. 从对象中选择类型对话框中,打开包含所需对象类型的节点。在将鼠标指针悬停在视图中的单个对象上时,左下角的消息会标识该对象类型,这意味着它是可选的。在此示例中,消息指出 Type is Automated Mesh Operation(类型是自动网格操作)

  3. 在视图中选择对象,然后单击确定。在对话框(在此示例中为自动网格操作)中选择的对象类型可用于添加到谓词中。

    添加的对象类型仅显示在该谓词的列表中。如果取消创建该谓词,或编辑该谓词以将选择内容替换为其他对象类型,则该对象类型不再显示在下拉列表中。