设置模拟操作序列

模拟操作可以自动化任务,尤其是 Simcenter STAR-CCM+ 中的复杂工作流。在本教程中,需要一个循环来运行伴随形状优化的步骤序列。

要通过伴随表面灵敏度实现形状优化,本教程包括三个主要步骤:
  1. 求解最初流体。
  2. 求解伴随和计算表面灵敏度。
  3. 根据表面灵敏度变形网格。

为了以完全自动化的方式运行序列,将在运行下一次优化循环之前检查网格质量和成本函数更改的方向。操作序列如下所示:



要设置操作序列:
  1. 右键单击自动化 > 模拟操作节点并选择新建
  2. 模拟操作 1 节点重命名为 Shape Optimization(形状优化)
  3. 要添加清除求解操作:
    1. 右键单击 Shape Optimization(形状优化) > 操作节点,然后选择新建 > 清除求解
    2. 选择清除求解节点,然后按如下所示设置属性:
      属性 设置
      清除历史
      清除场
      重置网格
      清除伴随
  4. 要添加重置 LoopCounter 操作:
    1. 要创建参数 LoopCounter,右键单击自动化 > 参数并选择新建 > 标量
    2. 将参数标量重命名为 LoopCounter,并将设为 0.0
    3. 右键单击形状优化 > 操作节点并选择新建 > 设置参数
    4. 设置参数节点重命名为重置 LoopCounter,然后如下设置属性:
      属性 设置
      参数 LoopCounter
      0.0
  5. 要求解最初流体:
    1. 右键单击操作节点,然后选择新建 > 求解物理
    2. 求解物理节点重命名为 Solve Initial Primal(求解初始值),并将模拟对象设为物理 1
  6. 要构建一次循环,其运行由 LoopCounter 定义的多次形状优化循环:
    1. 右键单击 Shape Optimization(形状优化) > 操作节点,然后选择新建 > 循环
    2. 选择循环节点,然后按如下所示设置属性:
      属性 设置
      谓词类型 表达式谓词
      表达式谓词 $LoopCounter < 10
      执行 10 次优化循环。最后一个增量在循环内完成。
  7. 在循环操作下,将以下三个步骤定义为子序列:
    • LoopCounter 增加1
    • 求解具有表面灵敏度的伴随
    • 变形体网格
    • 检查网格和总压力的变化
      • 如果网格质量可接受,则使用优化的几何求解原始流体。
      • 如果未满足该条件,则停止模拟序列。
    1. 右键单击循环 > 操作节点并选择新建 > 设置参数
    2. 设置参数节点重命名为 LoopCounter++,然后如下设置属性:
      属性 设置
      参数 LoopCounter
      $LoopCounter+1
    3. 右键单击循环 > 操作,然后选择新建 > 求解伴随
    4. 选择求解伴随节点,然后设置下列属性:
      属性 设置
      伴随成本函数 PressureDrop(压降)
      计算表面灵敏度
    5. 右键单击循环 > 操作节点,然后选择新建 > 变形网格
      此操作根据 Wall_Adjoint 边界的物理条件节点下定义的变形位移来变形体网格。
    6. 右键单击循环 > 操作节点,然后选择新建 > 条件
    7. 条件节点重命名为 Check Criteria(检查条件),然后按如下所示设置属性:
      属性 设置
      谓词类型 表达式谓词
      表达式谓词 ${Max Skewness Angle}<95 && ${Min Face Validity}>0.9
  8. 要定义条件计算为 true 时发生的情况:
    1. 右键单击 Check Criteria(检查条件) > 节点,然后选择新建 > 求解物理
    2. 求解物理重命名为 Solve Initial Primal(求解最初值),并将模拟对象设为物理 1
    3. 要构建 False 子序列,右键单击 Check Criteria(检查条件) > False 节点,然后选择新建 > 停止模拟操作