我工作的一个团队与Dymola合作,并在相当长的时间内使用它来模拟一个相当复杂的模型。
它们最终得到大约150 GB的大输出文件(.mat),因此在后期处理时会遇到问题。
我是IT专业的,毕业时是一名工程师,所以我对典型软件有足够的经验,知道它们可以降低输出频率或存储的数据量(例如,选择更少的变量进行输出)。但出于某种原因,他们不能或不想要。
现在我对Dymola的了解还不够多,无法确定另一种可能性,这就是为什么我要问社区:有没有其他方法可以在输出文件较小的情况下具有相同的准确性、复杂性和数据量?
例如,在Dymola中有没有一种方法可以将模拟分成多个时间域?那么,一个文件用于0-500,另一个文件用于500-1000,以此类推?他们告诉我这是可能的,但很复杂。这是真的吗?在迪莫拉没有办法做到这一点吗?
提前谢谢你
2条答案
按热度按时间lyfkaqu11#
请参考Claytex博客https://www.claytex.com/blog/how-to-restart-a-simulation/。该博客解释了两种方法:一种是使用Dymola中的
continue
功能,另一种是手动使用批处理脚本自动执行reinitialization
。在您的例子中,可以使用第二种方法,因为您需要使用重新初始化的
states
重新启动模拟,并创建单独的结果文件块。注:
dsin.txt
文件具有包括状态变量在内的所有变量的初始值,dsfinal.txt
文件具有单个完整模拟的所有变量的终值。在第一次模拟后,您可以在工作目录中找到这些文件,最好使用较小的stopTime
9jyewag02#
您还可以重新考虑在整个模拟过程中是否需要相同数量的数据。
由于Dymola 2021可以在模拟过程中更改输出间隔,因此在发布说明中将其描述为“输出点的可变频率”:
通过设置标志:
并在模型中使用
频率可以从模型中控制。