指定通过常规区域进行的数据交换
常规协同仿真区指定与 FMU 交换数据的一组 Simcenter STAR-CCM+ 边界或区域。

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

完成在某个协同仿真区下导入的场的定义。
- 对于节点下的各个节点,选择[导入的场]节点,并通过设置场模板属性指定导入数据的映射位置。
- 对于每个区域导入的场,Simcenter STAR-CCM+ 创建一个场函数,名为 Co-Simulation: [Field Name](协同仿真:[场名称])。使用这些场函数可设置相关的边界条件。例如,可以使用导入的位移来设置边界处的变形规范。
使用协同仿真区域时,以下值仍直接在链接下设置:
-
对于节点下的每个节点,选择相应的节点,然后指定恒定的初始化值。
Simcenter STAR-CCM+ 使用名称 [链接 1][FMU 变量名称] 来存储导入的值。可以在写入表达式时引用此值。
要完成已导出值的定义:
- 展开导出的值节点(在该链接下或在某个协同仿真区下)。
-
对于每个节点,将值设为要导出至 FMU 的单值物理量。根据 FMU 所需的数据类型,使用以下某一方法:
数据类型 在 Simcenter STAR-CCM+ 中设置值的方法 整型 键入整数。不能使用表达式。 理想 提供计算为单个值的任何表达式。由于 FMU 变量为空间不变量,因此 Simcenter STAR-CCM+ 必须导出单值数据。要将空间相关场转换为单值,可以使用报告。在 Simcenter STAR-CCM+ 中,所有报告自动生成在每次迭代时返回报告值的场函数。可以将此单值场函数导出至 FMU 模型。 尽管可以导出 FMU 支持的任何数据类型(实数、整数、布尔、字符串、枚举),但通常会导出类型为实数的标量。
枚举 从下拉菜单中选择一个选项(FMU 模型描述文件包含决定可用方法的枚举类型定义) 字符串 键入字符串。不能使用表达式。 布尔运算 激活复选框为 true,停用复选框为 false。 通过展开已导入库节点下的相关节点,可以将任何 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 值保持不变。