更改Modelica标准库中模型中参数的注释(Evaluate=true/false)

更改Modelica标准库中模型中参数的注释(Evaluate=true/false),modelica,Modelica,我在模拟中使用了Modelica标准库(MSL)中的一些组件。这些组件都有一些参数。例如,Modelica.Fluid.Sources.MassFlowSource\u T有一个参数m\u flow。通常,可以在模拟运行之间更改参数,而无需重新编译。对于m_flow,情况并非如此,因为它具有注释(Evaluate=true),因此用于符号处理。 是否可以在实例化时更改参数的注释?我尝试了以下方法,但没有成功 Modelica.Fluid.Sources.MassFlowSource_T sour

我在模拟中使用了Modelica标准库(MSL)中的一些组件。这些组件都有一些参数。例如,
Modelica.Fluid.Sources.MassFlowSource\u T
有一个
参数m\u flow
。通常,可以在模拟运行之间更改参数,而无需重新编译。对于
m_flow
,情况并非如此,因为它具有
注释(Evaluate=true)
,因此用于符号处理。
是否可以在实例化时更改参数的注释?我尝试了以下方法,但没有成功

Modelica.Fluid.Sources.MassFlowSource_T source2(
    redeclare package Medium = Medium2,
    nPorts=1,
    m_flow=22.17 annotation(Evaluate=false));

当然也有解决办法,比如先复制并更改注释,或者使用
use\m\u flow\u in=true
和常量源代码块。

据我所知,这在当前的Modelica规范中是不可能的。 如果扩展MassFlowSource\u T,某些工具可能会支持它:

model MassFlowSource_T_2
  extends Modelica.Fluid.Sources.MassFlowSource_T;
  // declare m_flow here again with annotation(Evaluate=false);
end MassFlowSource_T_2;

use MassFlowSource_T_2 when you declare source2.
在扩展注释的指定/处理方式方面,有一些工作正在进行中 但要将其纳入Modelica规范还需要一段时间: (尚未向公众开放)。

已迁移,但仍不向公众开放