【问题标题】:Modelica Evaluate=trueModelica 评估=真
【发布时间】:2021-03-10 22:10:25
【问题描述】:

从 Modelica 文档看来,注释 Evaluate 仅对参数有影响: https://build.openmodelica.org/Documentation/ModelicaReference.Annotations.Evaluate.html

使用 Dymola 变量编辑器,我可以方便地在任何变量/实例上设置注释,见下面的截图。这有什么影响还是只是忽略了注释? 如果应用于类的实例,该类中的参数是否会被评估为修饰符设置的值(在示例屏幕截图中,例如参数 yMax)?

【问题讨论】:

    标签: modelica dymola evaluate


    【解决方案1】:

    将评估类的参数,https://specification.modelica.org/master/annotations.html#modelica:Evaluate

    这是在 Modelica 3.5 中添加的(在早期的 Dymola 中支持,如果您只使用 Evaluate=true,则不会出现一些细微的差异 - 请参阅 https://github.com/modelica/ModelicaSpecification/pull/2771 了解详细信息)。

    【讨论】:

    • 谢谢,这是有道理的。因此,类实例上的 Evaluate=true 意味着:该类中的所有参数都被评估,并且具有由修饰符设置的值。
    • 后续问题:使用变量编辑器,我还可以在任何变量上设置 Evaluate=true,例如任何 Real 或 Integer。这有什么影响吗?
    • 对于非参数整数或实数:否。
    • 感谢您的澄清!然后也许可以增强变量编辑器以不为非参数变量提供此功能。或者, check 或 translate 可能会报告它被忽略的警告。
    猜你喜欢
    • 1970-01-01
    • 2023-02-15
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    相关资源
    最近更新 更多