我正在努力解决大型Modelica模型的输出文件大小问题.当然,我可以保护一些对象,以便从结果文件中完全删除它们.但是,这会产生两个问题:
我想知道是否有一个技巧来设置Modelica模型的"详细程度".也许我想是未来第三关键字public,protected例如.transparent.然后,在设置模拟时,我希望能够将详细级别设置为1或2,具有以下效果:
1 - >将所有transparent元素视为protected
2 - >将所有transparent元素视为public
此效果将传播到所有模型和子模型.
我不认为这已经存在.但有一个简单的解决方法吗?
谢谢,罗尔
正如Michael Tiller在上面所写的那样,在所有Modelica工具中都没有采用相同的方法,并且没有明确的答案.为了给出特定于OpenModelica的答案,可以使用simulate(ModelName,outputFilter="regex"),仅存储与给定正则表达式完全匹配的变量(默认为.*匹配任何变量).
罗尔,
我知道有几个人正在努力解决这个问题。目前,所有这一切都取决于所使用的工具。我不知道其他工具如何处理结果过滤,但在 Dymola 中,您可以通过为信号提供特殊限定符(例如受保护)来控制它(正如您所指出的)。
我过去做过的一件事是从模型扩展,然后为我感兴趣的东西添加一堆输出信号。然后您可以在 Dymola 中选择“输出”以确保这些信号进入结果文件。这远非完美,因为 a) 列出您想要的所有内容可能会变得乏味,b) 严格不允许引用受保护的变量(尽管 Dymola 让您摆脱它,但会发出警告)。
在达索,我们正在积极讨论这个想法,并希望沿着这些思路提供一些更好的功能。目前尚不清楚此类功能是否严格特定于工具,或者是否会以某种方式涉及该语言。但如果与语言相关,我们(当然)将与设计组合作制定其他工具供应商也可以支持的规范。
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |