4

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

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

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

4

1 回答 1

4

事实上,在用户指南第 5.3.2.2 节“模型交换 FMU 的选项”中,有一个模拟选项对象的参数控制它,它被调用filter并具有描述:

用于选择实际存储结果的变量的过滤器。语法可以在这里找到。一个例子是 filter = "*der" ,存储所有以 'der' 结尾的变量和 filter = [" der ", "summary*"],存储所有名称中带有 "der" 的变量和所有以 "summary" 开头的变量.

这是一个完整的答案,我在其中模拟PIDController并仅返回以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)
于 2018-02-22T11:23:21.390 回答