我正在尝试在Dymola中模拟一个大型Modelica模型。此模型使用多个记录定义时间序列输入数据(数据间隔为900秒,为1年),它通过CombiTimeTable
模型读取。
如果我将记录限制为仅包含2周的数据(也是900秒间隔),则模型模拟正常。
使用年度数据,翻译似乎成功运行,但模拟失败。 dslog
文件包含消息Not enough storage for initial variable data
。
这种情况发生在具有8 GB RAM的Windows 10系统以及具有32 GB RAM的Windows 7系统上。
有没有办法避免这个错误并让模拟运行?提前谢谢!
答案 0 :(得分:5)
建议的方法是让时间序列数据不在记录中(在模型或库中),而是作为外部数据文件。 CombiTimeTable支持在模拟运行时从文本文件和MATLAB MAT文件中读取。您还可以从更短的翻译时间中受益。
您仍然可以通过Modelica URI组织相对于您的库的外部文件,因为CombiTimeTable(以及其他table blocks)已经调用loadResource函数。建议的方法是将这些文件组织到Modelica包的Resources目录中。