首页 文章

在Dymola中创建的基本模型无法在JModelica中模拟 - FMU异常

提问于
浏览
2

我使用buildings library package中的组件在Dymola中创建了一个热水储存缸的基本模型 . 我已将模型保存为.mo文件,并成功编译了fmu并在JModelica中加载了模型 . 我模拟使用时会出现问题:

res = model.simulate(final_time=100000)

这会导致以下错误消息:

FMUException Traceback(最近一次调用last)in()----> 1 res = model.simulate(final_time = 100000)src \ pyfmi \ fmi.pyx in pyfmi.fmi.FMUModelME1.simulate(src \ pyfmi \ fmi . c:35608)()src \ pyfmi \ fmi.pyx in pyfmi.fmi.ModelBase._exec_simulate_algorithm(src \ pyfmi \ fmi.c:6045)()src \ pyfmi \ fmi.pyx in pyfmi.fmi.ModelBase._exec_simulate_algorithm( src \ pyfmi \ fmi.c:5936)()C:\ JModelica.org-2.1 \ install \ Python \ pyfmi \ fmi_algorithm_drivers.pyc in init(self,start_time,final_time,input,model,options)300 if isinstance(self .model,fmi.FMUModelME1):301 self.model.time = start_time #Set初始化之前的开始时间 - > 302 self.model.initialize(tolerance = rtol)303 304 elif isinstance(self.model,fmi.FMUModelME2)或isinstance(self.model,fmi_coupled.CoupledFMUModelME2):pyfmi.fmi.FMUModelME1.initialize中的src \ pyfmi \ fmi.pyx(src \ pyfmi \ fmi.c:34954)()FMUException:返回Initialize并显示错误 . 检查日志以获取信息(FMUModel.get_log) .

正如建议我使用 model.get_log() 检查日志,这也没有多大意义:

FMIL:module = Model,log level = 2:[ERROR] [FMU status:Error]无法将根括在“1”中 . 下部和上部均处于边界 . FMIL:module =型号,日志级别= 2:[INFO] [FMU状态:错误]初始化失败 . FMIL:module = Model,log level = 2:[ERROR] [FMU status:Error]无法在name =“block”>“1”中括起根 . 下部和上部均处于边界 . FMIL:module =型号,日志级别= 2:[INFO] [FMU状态:错误]初始化失败 . FMIL:module =模型,日志级别= 2:[错误] [FMU状态:错误] category =“error”>无法在name =“block”>“1”中括起根 . 下部和上部均处于>界限 . FMIL:module =型号,日志级别= 2:[INFO] [FMU状态:错误]初始化失败 . FMIL:module =模型,日志级别= 2:[错误] [FMU状态:错误] category =“error”>无法在name =“block”>“1”中括起根 . 下部和上部均处于>界限 . FMIL:module =型号,日志级别= 2:[INFO] [FMU状态:错误]初始化失败 .

关于这里发生了什么的任何建议?我听说很多人用Dymola构建系统,保存脚本然后在JModelica中导入和模拟 . 不过这可能是问题吗?

1 回答

  • 0

    从错误消息我们得到模型中有一个难以解决的块(块1),并且我们找不到具有给定上限和下限的解 . 根据您是否在变量上设置了最小/最大值,这可能是问题所在 . 这是因为所讨论的块是一维的并且使用考虑最小/最大值的Brents方法来解决 .

    我建议运行具有更高日志级别的模型,看看是否是这种情况 . 尝试然后检查日志:

    model = load_fmu("...", log_level=6)
    model.set("_log_level", 8)
    ...
    

相关问题