仅在 JModelica 输出文件中保存相关变量

Saving only the relevant variables in the JModelica output files

我注意到 JModelica 的输出文件保存了所有内容,这意味着复杂的模型会创建巨大的文件,特别是对于长时间的模拟。

是否可以在输出文件中只保存相关变量?我已经通读了用户手册,但看不到可以在哪里指定这样的参数。

例如我的模型创建变量 [a,b,c,d,e,f,g,time] 但我只想保存 [ a,b,时间].

确实如此,in the user guide, section 5.3.2.2 "Options for Model Exchange FMUs",有一个控制这个的模拟选项对象的参数,它被称为 filter 并且有描述:

A filter for choosing which variables to actually store result for. The syntax can be found here. An example is filter = "*der" , store all variables ending with 'der' and filter = ["der", "summary*"], store all variables with "der" in the name and all variables starting with "summary".

这是一个完整的答案,我模拟 PIDController 并且只模拟 return 以 phi.

结尾的变量
from pymodelica import compile_fmu
from pyfmi import load_fmu
n = compile_fmu("Modelica.Blocks.Examples.PID_Controller")
m = load_fmu(n)
opts = m.simulate_options()
opts['filter'] = '*.phi'
m.simulate(options=opts)