连接modelica模型和Java模型

时间:2012-06-22 12:36:14

标签: java modelica

我有一个用Dymola开发的模型,我必须将它与Java中的模型连接起来。 更准确地说,在每个时间步,两个模型都为另一个提供输入。

到目前为止,我发现: - Dymola能够生成/导出C代码。它们提供了一个难以理解的(到目前为止)接口,但主要的一点是导出仅适用于Visual C ++,我需要跨平台。 - OpenModelica(OMC)可以生成C代码,但我没有找到它是否可用作库。

如果您对如何连接modelica和Java模型有任何建议,请分享;)

2 个答案:

答案 0 :(得分:1)

您的问题有几种解决方法。提出一些替代方案:

  • 协同仿真。 Dymola / OpenModelica可以将模型导出为FMU,因此如果您可以将Java代码导出为FMU或在Java中编写主算法,则可以将它们一起模拟。据我所知,这是使用任一工具生成的模拟代码作为库的唯一方法。但我对Dymola来说可能是错的。
  • 时间的事件。当样本(...)...沟通()。这样做的优点是两个模型都可以使用不同的时间步长和可变步长求解器。
    • 使用外部C + JNI(Java本机接口)在每个事件中调用某些Java函数
    • 基于套接字的同步+通信

答案 1 :(得分:0)

从您的描述中可以清楚地看出这个Java代码是否具有某些数学方面,或者您只是想将其用作计算值的函数(或者在模拟期间以特定间隔调用它)。如果你能详细说明一下,它可以帮助你找出真正有用的东西。