我的模型目前约为2000个方程式,模拟周期为几周。我正在使用OpenModelica连接编辑器。
我面临的问题是输出变量数量巨大,而且我的情节窗口崩溃了几次。
因此,问题是如何减少输出变量的数量?
我只对它们中的20-50个感兴趣。我知道我可以通过保护参数输出来删除参数输出,但我无法找到任何类似的变量技巧。
答案 0 :(得分:1)
如果您通过命令行模拟模型,请查看variableFilter
命令https://build.openmodelica.org/Documentation/OpenModelica.Scripting.simulate.html的simulate
参数。
如果您使用的是OMEdit,请Simulation->Simulation Setup->Output->Variable Filter (Optional)
答案 1 :(得分:0)
实际上,受保护并不限于参数。这是一个复制Modelica.Mechanics.Translational.Examples.SignConvention并保护除了mass1之外的所有内容的示例 在Dymola 2017FD01中以迂腐模式进行测试(所以它也适用于OpenModelica);它工作正常,并且在模拟结果中仅提供mass1参数和变量
model SignConvention "Examples for the used sign conventions."
extends Modelica.Icons.Example;
Modelica.Mechanics.Translational.Components.Mass mass1(
L=1,
s(fixed=true),
v(fixed=true),
m=1) a;
protected
Modelica.Mechanics.Translational.Sources.Force force1
a;
Modelica.Blocks.Sources.Constant constant1(k=1) a;
Modelica.Mechanics.Translational.Components.Mass mass2(
L=1,
s(fixed=true),
v(fixed=true),
m=1) a;
Modelica.Mechanics.Translational.Sources.Force force2
a;
Modelica.Blocks.Sources.Constant constant2(k=1) a;
Modelica.Mechanics.Translational.Components.Mass mass3(
L=1,
s(fixed=true),
v(fixed=true),
m=1) a;
Modelica.Mechanics.Translational.Sources.Force force3(useSupport=true)
a;
Modelica.Blocks.Sources.Constant constant3(k=1) a;
Modelica.Mechanics.Translational.Components.Fixed fixed
a;
equation
...