Библиотека C/C++ для обработки FMU

Знаете ли вы, есть ли библиотека C для обработки FMU и запуска симуляций, включая хороший решатель?

Насколько я знаю, есть:

  • FMUSDK от QTronic
  • Библиотека FMI от Modelon

Оба могут открывать FMU, но позволяют запускать FMU только для совместного моделирования с простым решателем Эйлера.

Библиотеки, включающие хороший решатель, обрабатывающий разрывы, но не в C:

  • PyFMI от Modelon: для Python
  • JFMY от Ptolemy: для Java (не уверен, что это хороший решатель)

person Koldo    schedule 21.06.2013    source источник


Ответы (1)


Я не думаю, что FMUSDK действительно поддерживается, поэтому библиотека FMI, вероятно, является лучшим выбором между этими двумя.

Чтобы улучшить решатель, вам, вероятно, придется соединить библиотеку FMI с решателем, таким как солнечные часы, и выяснить, как сшить их вместе. Обратите внимание, это именно то, что Modelon сделал с библиотекой PyFMI. Хотя это библиотека Python, я подозреваю, что вы, вероятно, могли бы найти относительно простой способ интеграции в проект, отличный от Python, если бы вы могли использовать код C для их интеграции (что, очевидно, вы и делаете).

Я подозреваю, что вызвать PyFMI из C будет проще, чем сшить FMIL вместе с солнечными часами самостоятельно.

person Michael Tiller    schedule 21.06.2013
comment
Спасибо, Майкл. Я согласен. Переделка PyFMI на C/C++ сама по себе стала бы проектом. Небольшая запись: как можно назвать Python из C? - person Koldo; 22.06.2013
comment
Привет, Майкл. О вопросе Как выполнить совместное моделирование с двумя моделями FMU, модели предназначены для обмена моделями и для совместного моделирования, поскольку две из них основаны на Modelica, а третья представляет собой моделирование CFD. - person Koldo; 25.06.2013