FMU 协同仿真

Simcenter STAR-CCM+ 中,可导入功能实体模型单元 (FMU) 模型以用于协同仿真。FMU 是一种与时间相关的模型,通常表示动态网络,是根据功能实体模型接口 (FMI) 标准编写的。FMI 标准是独立于软件的,可为耦合模拟软件提供接口。

有关 FMI 标准和 FMU 实施的详细信息,请参考官方网站 https://fmi-standard.org

概述

通常,FMU 是从模拟包自动生成的,虽然也可以手动创建或修改。可以导入和导出 FMU 的一系列软件在 https://fmi-standard.org/tools/ 中可用。

Simcenter STAR-CCM+ 可以导入基于 FMI 标准 1.0 或 2.0 版本的协同仿真类型 FMU。基于此标准的 FMU 包含模型定义和所需的求解器,或包含提供所需求解器的外部应用程序的通信模块。Simcenter STAR-CCM+ 不支持模型交换类型 FMU。

Simcenter STAR-CCM+ 中,FMU 导入的主要范围是与外部模拟包进行协同仿真,该模拟包对 FMU 中定义的模型进行求解。但是,还可以导入不需要外部模拟器来计算解的 FMU。在这种情况下,可以将 Simcenter STAR-CCM+ 用作所导入 FMU 的接口。

在与 FMU 的协同仿真中,Simcenter STAR-CCM+ 通过实施物理模型的导入库与合作伙伴软件通信,并根据 FMI 标准公开接口。此库是在合作伙伴软件中创建的,通常表示由合作伙伴求解器模拟的、与时间相关的系统或与时间相关的系统的组成部分。一般情况下,合作伙伴软件提供 FMU 所需的求解器。Simcenter STAR-CCM+
  • 充当 FMU 的接口,允许您修改 FMU 中显示的参数和变量
  • 与导入的 FMU 交换数据,以与合作伙伴软件进行协同仿真

FMU 文件

FMU 作为压缩文件夹分发,扩展名为 .fmu。该文件夹包含各种格式的文件,这些文件定义模型行为和变量,包括与 Simcenter STAR-CCM+ 交换的物理量。这些文件包括:
  • 采用 XML 格式的 FMI 定义文件 ( modelDescription.xml),其中包含 FMU 的常规静态信息,具体包括实施详细信息、模型标量变量和类型定义。Simcenter STAR-CCM+ 提供此文件的便利节点树表示,可用于检查 FMU 模型详细信息:

  • FMU 所需的任何库,包括相关目标计算机的二进制文件,如 Windows 动态链接库 (.dll) 和 Linux 共享对象库 (.so)。FMU 可以包含所需的求解器,或用于与模拟模型的外部软件进行通信的模块。FMI 标准与目标模拟器无关。
  • FMU 所需的任何其他文件(例如数据表)

有关详细信息,请参见 https://fmi-standard.org

FMU 变量

FMU 变量定义在协同仿真过程中可以与 Simcenter STAR-CCM+ 交换的标量。由于 FMI 标准不考虑空间变化的物理量,因此所有变量均表示空间不变的标量值(而不是空间变化的标量场)。

在 .fmu 文件夹中包含的 modelDescription.xml 文件中,每个标量变量的详细信息和行为通过相应的 <ScalarVariable> 元素的属性定义。因果关系属性确定变量是否表示参数、可以从外部应用程序导入 FMU 中(输入)的物理量或从 FMU 导出至外部应用程序(输出)的物理量。

在与 Simcenter STAR-CCM+ 协同仿真的过程中,输入变量在 Simcenter STAR-CCM+ 中计算,并导出至 FMU。输出变量在 FMU 中计算, 并在 Simcenter STAR-CCM+ 中导入,在此可使用它们来设置边界条件。FMU 模型参数可以在 Simcenter STAR-CCM+ 中调整 。

有关 FMU 变量及其属性的更多信息和详细信息,请参见 https://fmi-standard.org

数据类型

Simcenter STAR-CCM+ 支持 FMI 标准所允许的所有数据类型:
  • 理想
  • 整型
  • 布尔运算
  • 字符串
  • 枚举

modelDescription.xml 文件中,每个标量变量的数据类型均由子元素定义。此子元素的属性指定附加信息,如最小值、最大值和单位。对于枚举数据类型,可用项在 <TypeDefinitions> 元素下定义。