Я создал базовую модель накопителя горячей воды в Dymola, используя компоненты из пакета библиотеки зданий. Я сохранил модель как файл .mo, успешно скомпилировал fmu и загрузил модель в JModelica. Проблема возникает, когда я моделирую, используя:
res = model.simulate(final_time=100000)
Это приводит к следующему сообщению об ошибке:
FMUException Traceback (последний вызов последний) в () ----> 1 res = model.simulate (final_time = 100000)
src \ pyfmi \ fmi.pyx в pyfmi.fmi.FMUModelME1.simulate (src \ pyfmi \ fmi.c: 35608) ()
src \ pyfmi \ fmi.pyx в pyfmi.fmi.ModelBase._exec_simulate_algorithm (src \ pyfmi \ fmi.c: 6045) ()
src \ pyfmi \ fmi.pyx в pyfmi.fmi.ModelBase._exec_simulate_algorithm (src \ pyfmi \ fmi.c: 5936) ()
C: \ JModelica.org-2.1 \ install \ Python \ pyfmi \ fmi_algorithm_drivers.pyc в init (self, start_time, final_time, input, model, options) 300, если isinstance (self.model, fmi. FMUModelME1): 301 self.model.time = start_time # Установить время начала перед инициализацией -> 302 self.model.initialize (толерантность = rtol) 303 304 elif isinstance (self.model, fmi.FMUModelME2) или isinstance (self.model , fmi_coupled.CoupledFMUModelME2):
src \ pyfmi \ fmi.pyx в pyfmi.fmi.FMUModelME1.initialize (src \ pyfmi \ fmi.c: 34954) ()
FMUException: инициализация вернула ошибку. См. Информацию в журнале (FMUModel.get_log).
Как и предполагалось, я проверил журнал с помощью model.get_log()
, что также не имеет особого смысла:
FMIL: модуль = Модель, уровень журнала = 2: [ОШИБКА] [Состояние FMU: Ошибка] Не удалось заключить корень в скобки «1». И нижняя, и верхняя границы находятся на грани.
FMIL: модуль = Модель, уровень журнала = 2: [ИНФОРМАЦИЯ] [Состояние FMU: Ошибка] Не удалось выполнить инициализацию.
FMIL: модуль = Модель, уровень журнала = 2: [ОШИБКА] [Статус FMU: Ошибка] Не удалось заключить в скобки корень в name = "block"> "1". И нижняя, и верхняя граница.
FMIL: модуль = Модель, уровень журнала = 2: [ИНФОРМАЦИЯ] [Состояние FMU: Ошибка] Не удалось выполнить инициализацию.
FMIL: module = Model, уровень журнала = 2: [ERROR] [FMU status: Error] category = "error"> Не удалось заключить в скобки корень в name = "block"> "1". И нижний, и верхний находятся на> границах.
FMIL: модуль = Модель, уровень журнала = 2: [ИНФОРМАЦИЯ] [Состояние FMU: Ошибка] Не удалось выполнить инициализацию.
FMIL: module = Model, уровень журнала = 2: [ERROR] [FMU status: Error] category = "error"> Не удалось заключить в скобки корень в name = "block"> "1". И нижний, и верхний находятся на> границах.
FMIL: модуль = Модель, уровень журнала = 2: [ИНФОРМАЦИЯ] [Состояние FMU: Ошибка] Не удалось выполнить инициализацию.
Какие-нибудь рекомендации по поводу того, что здесь происходит? Я слышал, как многие люди создают системы с помощью Dymola, сохраняют сценарий, а затем импортируют и моделируют в JModelica. Однако может ли это быть проблемой здесь?