有没有一种简单的方法可以从Modelica模型中提取具有start属性的所有变量的列表?最终目标是运行模拟直到达到稳态,然后运行python脚本,将start属性的值与稳态值进行比较,以便我可以识别出错误选择的起始值。

在Dymola Python界面中,我找不到这种功能。另一种方法可能是生成modelDescription.xml并对其进行解析,我假设信息可以在其中找到,但是对于该方法,我也觉得我需要帮助才能开始。

最佳答案

dsin.txt和dsfinal.txt文件可能会帮助您解决此问题。它们具有相同的结构,在模拟的开始和结束时都有值。通过将dsfinal.txt重命名为dsin.txt,您可以从上次运行中计算出的(例如稳态)值开始仿真。


如果您已经牢记要使用这样的值来运行其他仿真,则可能值得使用这两个文件。
它们为您提供有关解算器/模拟设置的信息,您不会在.mat结果文件中找到这些信息(如果您的案例感兴趣)


但是,无论如何,如果仅是结果文件中存在的变量的起始值和最终值之间的比较,那么更好的选择可能是使用python和库来读取result.mat文件(dymat,modelicares等)。然后,需要比较感兴趣信号的起始值。

10-02 05:29
查看更多