我\xe2\x80\x99m 在 Modelica 语言中相当菜鸟,并且我\xe2\x80\x99d 感谢有关这个简单问题的任何帮助。我\xe2\x80\x99d想知道\xe2\x80\x99是否可以将变量名称(取决于子模型)编写为其他变量的函数,以缩短一般代码。这里有一个关于我\xe2\x80\x99d 喜欢做什么的例子。
\nI\xe2\x80\x99m 考虑一个顶级模型,其中包括标准 Modelica 库的三个相同的子模型 (OpenTank)(tank1、tank2 和 Tank3)。我\xe2\x80\x99d想知道\xe2\x80\x99s是否可以使用类似的循环从顶级模型调用子模型内的变量(\xe2\x80\x9clevel\xe2\x80\x9d)这样(附有示例代码)或类似的东西,而不是重复代码三次(I\xe2\x80\x99m 真的有兴趣在顶级模型中设置此操作)
\n你会建议我做什么?提前致谢!
\nmodel threeTanks\n Modelica.Fluid.Vessels.OpenTank tank1;\n Modelica.Fluid.Vessels.OpenTank tank2;\n Modelica.Fluid.Vessels.OpenTank tank3;\nequation\n for i in 1:3 loop\n tank(i).level= /* \xe2\x80\xa6 */;\n end for;\nend threeTanks;\nRun Code Online (Sandbox Code Playgroud)\n 我\xe2\x80\x99已经使用 Dymola(2017 版)三个月了,我\xe2\x80\x99d 只是想问一个我几乎每天都会思考的简单问题。文件工具\xe2\x80\x9cOpen\xe2\x80\x9d和\xe2\x80\x9cLoad"之间有什么区别吗?我习惯使用Load进行 \xe2\x80\x9cload\xe2\x80\x9d库包和Open for \xe2\x80\x9copen\xe2\x80\x9d 模型文件,但我尝试切换它们几次,但我没有 \xe2\x80\x99 注意到任何差异。我猜它是\ xe2\x80\x99t 相关,实际上它\xe2\x80\x99s 只是出于好奇,但也许这个社区中的某人能够阐明为什么有两个按钮。提前致谢。
\n