4

我是联合仿真这个话题的新手。我熟悉这些定义(基于 Trcka “COMPARISON OF CO-SIMULATIONAPPROACHES FOR BUILDING ANDHVAC/R SYSTEM SIMULATION”):

  • 准动态耦合,也称为松散耦合,orping-pongcoupling,其中分布式模型按顺序运行,一个模型使用耦合模型的已知输出值,基于先前时间步的值。
  • 全动态耦合,也称为强耦合、oronion 耦合,其中分布式模型在每个时间步长内迭代,直到误差估计落在预定义的容差范围内。

我的问题:FMI/协同仿真是一种松耦合的方法吗?什么是 FMI/模型交换?据我了解,这不是一种强耦合方法。我是否正确理解在模型交换中,导入 FMU 的工具正在收集所有 ODE 和代数方程,并且该工具使用单个求解器求解整个系统。所以更多的是一种标准,以统一的方式描述模型,以便它们可以集成到不同的仿真环境中?

非常感谢您的帮助

4

2 回答 2

1

FMI/Model-exchange 针对模型的分布(微分代数方程系统),而 FMI/Co-Simulation 针对模型的分布以及适当的求解器。

由于在具有适当回滚支持的编码求解器中存在许多挑战,因此很难通过导出的 FMU 来实现强耦合协同仿真。

所以,回答你的问题:这取决于场景。如果您希望使用 FMI/Co-simulation 模拟强耦合物理系统,并且希望使用多个 FMU 进行此操作,则最好这些支持回滚以避免稳定性问题。例如,如果您有一个 FMU 模拟物理系统,而另一个 FMU 模拟控制器的场景,那么您可以使用松散耦合方法做得很好。

在您需要应用稳定技术之前,很难准确确定两个 FMU 的耦合程度。看看下面的实验,它比较了强耦合大师和松耦合大师。两个master都用于强耦合机械系统的联合仿真: https ://github.com/into-cps/case-study_mass-springer-damper

此外,有关这些概念的介绍,请参阅以下报告(披露:我对此做出了贡献:)): https ://arxiv.org/pdf/1702.00686v1

于 2017-05-21T13:24:07.783 回答
0

我不是仿真求解器方面的专家,但我参与了 FMI Co-Simulation slave 的实现。首先,您对模型交换是完全正确的。

关于协同仿真,求解器设置输入值,执行一步并读取输出值。时间步内没有交互。我会说这更像是一种准动态耦合。但是求解器可以取消前一步以优化时间步并重做计算,......等等,直到误差估计落在预定义的容差范围内。这更接近于全动态耦合。

因为求解器(协同仿真大师)负责设置/获取输入/输出值并执行步骤(和细化时间步),所以与其他模型的耦合定义将取决于求解器。

问候,

于 2017-05-04T19:26:26.920 回答