我对共同模拟这个话题很陌生。我熟悉以下定义(基于Trcka“建立ANDHVAC/R系统模拟的COMPARISON比较"):
我的问题是:FMI/协同模拟是一种松散耦合的方法吗?什么是FMI/模型交换?据我理解,这不是一个强耦合的方法。我的理解是,在模型交换中,导入FMU的工具是收集所有的ODE和代数方程,工具用一个求解器来求解整个系统。因此,以统一的方式描述模型,使它们能够集成在不同的仿真环境中,是一种更加标准的方法。
非常感谢你的帮助
发布于 2017-05-21 05:24:07
FMI/模型交换的目标是模型(微分方程系统)的分布,而FMI/协同仿真的目标是模型的分布和适当的求解器。
由于在适当支持回滚的编码求解器中存在许多挑战,很难由导出的FMU来实现强耦合的协同模拟。
所以,要回答你的问题:这取决于场景。如果您希望使用FMI/协同模拟来模拟一个强耦合的物理系统,并且希望使用多个FMI来模拟,最好是这些支持回滚,以避免稳定性问题。例如,如果您有一个FMU模拟物理系统,另一个FMU模拟控制器的场景,那么您可以使用松散耦合的方法做得很好。
在您需要应用稳定技术之前,很难准确地确定两个FMU需要的强耦合程度。看看下面的实验,它比较了强耦合和松耦合。这两种主机都用于强耦合机械系统:mass-springer-damper的共同模拟。
另外,请参阅以下报告(公开:我对此做出了贡献:)以了解这些概念:https://arxiv.org/pdf/1702.00686v1
发布于 2017-05-04 11:26:26
我不是模拟求解器方面的专家,但我参与了一个FMI协同仿真从机的实现。首先,你对模型交换是完全正确的。
对于协同仿真,求解器设置输入值,执行步骤并读取输出值。在时间步骤中没有交互。我想说这更像是一种准动态耦合。但求解者可以取消前一步,以细化时间步长和重做计算、...And等,直到误差估计达到预定的容限为止。这更接近于全动态耦合。
由于设置/获取输入/输出值和执行步骤(以及细化时间步骤)是求解器(协同模拟主)的责任,因此与其他模型耦合的定义将取决于求解器。
打招呼,
https://stackoverflow.com/questions/43784038
复制