通过 FMI 点区域指定数据交换
FMI 点区域从 FMU 获取几何信息。这样就可以通过 FMI 3 阵列进行场数据交换。
| 注 | 目前,Simcenter Flomaster 中仅支持带 FMI 点区域的 FMU 导出 |

Simcenter STAR-CCM+ 自动创建相应的点集并将其分配给 FMI 点区域的外部部件。
Simcenter STAR-CCM+ 根据 FMU 输入和输出变量来填充区域(“导出的场”和“导入的场”)。
Simcenter STAR-CCM+ 还会分别根据 FMU 参数和局部变量填充参数和跟踪值节点,这些节点位于节点下。由于参数和局部变量仅适用于 FMU,因此它们不会通过协同仿真区进行交换。
FMI 组分表区需要命名约定结构化,Simcenter STAR-CCM+ 使用该命名约定来解析 FMU 变量和区域名称:
- 选择节点,然后将变量命名约定设为结构化。包含分隔符的结构化变量名称被视为分层名称。Simcenter STAR-CCM+ 使用分层名称来创建区。(但是,参数名称始终被视为纯字符串。)根据变量的类型,Simcenter STAR-CCM+ 将创建以下节点:
FMU 变量类型 变量名称示例 Simcenter STAR-CCM+ 导入/导出的值节点 输入 component1.force 输出 component1.displacement 参数 component1.parameter1 局部变量 component1.local1 - 选择[导入的库]节点,然后设置以下属性:
属性 设置 名称解析方向 要指定在变量名称中确定分层的方向,选择向前(默认)或反转。 分层分隔符 指定定义分层分隔符的字符(默认为 "...")。
指定通过该区域与 FMU 交换数据的模型部件(区域或边界)。将边界和区域分配给某个区的过程类似。例如,要将边界指派给某个区:
- 展开相关的边界节点。
- 选择节点,并将外部程序耦合指定设为相关的协同仿真区。

完成在 FMI 组分表区下导入的场的定义。
- 展开节点,并接受初始化过程中自动分配的点集。
- 对于节点下的各个节点,选择[导入的场]节点,并通过设置场模板属性指定导入数据的映射位置。
- 对于每个区域导入的场,Simcenter STAR-CCM+ 创建一个场函数,名为 Co-Simulation: [Field Name](协同仿真:[场名称])。使用这些场函数可设置相关的边界条件。例如,可以使用导入的位移来设置边界处的变形规范。
要完成导出的场的定义:
- 选择节点,然后设置标量函数和其他属性。请参见已导出的场。
使用协同仿真区时,某些值仍直接在该链接下设置:
- 对于节点下的每个节点,选择相应的节点,并指定恒定的初始化值。Simcenter STAR-CCM+ 使用名称 [链接 1][FMU 变量名称] 来存储导入的值。可以在写入表达式时引用此值。
如果 FMU 模型包含可调参数,则可以在 Simcenter STAR-CCM+ 中设置它们。
- 要设置参数,选择相关的节点,然后设置参数值。根据参数数据类型,可以使用为导出的值概况的相同步骤,以不同的方式指定参数值。
要运行协同仿真:
- 单击
(运行)。
Simcenter STAR-CCM+ 将加载 FMI 库并运行协同仿真。对于 FMI 版本 3.0,从 FMU(通过fmi3DoStep)发送到 Simcenter STAR-CCM+ 的终止信号会触发,从而终止 FMU。如果尝试继续运行模拟,输出窗口中将显示以下警告消息:Partner FMU for [Link 1] is not ready to step. Please clear the solution before restarting the simulation.显示此警告消息时,可以逐步完成仿真。但是,FMU 不会运行,导入的 FMU 值保持不变。