【问题标题】:Dymola Python Interface - simulateExtendedModel: How to set up parameters?Dymola Python 接口 - 模拟扩展模型:如何设置参数?
【发布时间】:2018-02-09 10:39:20
【问题描述】:

我正在尝试通过 dymola python 接口设置参数和初始值。当我尝试设置一个参数/值时,它可以完美运行,但是当我尝试设置多个值时,它就不起作用了。

工作:

output = dymola.simulateExtendedModel("Wall_to_Py.Test", 0.0, 60000.0, 3326, 0.0, "Dassl", 0.0001, 0, "TryWall", ["rCWall2.T[mNode]"], TstartWall, ["rCWall2.T[mNode]"], True)

不工作:

output = dymola.simulateExtendedModel("Wall_to_Py.Test", 0.0, 60000.0, 3326, 0.0, "Dassl", 0.0001, 0, "TryWall", ["rCWall2.n", "rCWall2.T[mNode]"], [nWall, TstartWall], ["rCWall2.n", "rCWall2.T[mNode]"], True)

我正在使用这个:

simulateExtendedModel(problem, startTime, stopTime, numberOfIntervals, outputInterval, method, tolerance, fixedstepsize, resultFile, initialNames, initialValues, finalNames, autoLoad)

参数:

problem (str) – Name of model, e.g. Modelica.Mechanics.Rotational.Components.Clutch.
startTime (float) – Start of simulation.
stopTime (float) – End of simulation.
numberOfIntervals (int) – Number of output points.
outputInterval (float) – Distance between output points.
method (str) – Integration method.
tolerance (float) – Tolerance of integration.
fixedstepsize (float) – Fixed step size for Euler.
resultFile (str) – Where to store result.
initialNames (str[]) – Parameters and start-values to set. Dimension [:].
initialValues (float[]) – Parameter values. Dimension [size(initialNames, 1)].
finalNames (str[]) – Variables at end-point. Dimension [:].
autoLoad (bool) – Auto load result.

我不明白语法必须是:

initialValues (float[]) – Parameter values. Dimension [size(initialNames, 1)].

【问题讨论】:

  • mNode 是参数吗?对于第一个工作 - 改变 TstartWall 真的会影响模拟吗?我希望在这种情况下您需要一个文字索引,例如["rCWall2.T[12]"] - 所以我对这个工作案例有点惊讶。
  • 哦,你是对的。这行不通。只有当我像你说的那样宣布它时。但我的问题是,我的模型是一堵有 n 层的墙,对于每一层我都有长度 l[n]、热容量 cp[n] 等等,我想从文本文件中加载这些参数。那么是否有可能根据n定义参数(通过python接口)?

标签: python python-2.7 modelica dymola


【解决方案1】:

据我所知,您目前必须在 Python 中生成一个字符串向量和相应的值向量,因此对于 n=3,您必须提供参数 ["rCWall2.T[1]", "rCWall2.T[2]", "rCWall2.T[3]"][TStartWall[1], TStartWall[2], TStartWall[3]],如果有多个参数连接这些向量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2019-01-20
    • 2021-08-07
    • 1970-01-01
    • 2014-05-11
    • 2013-12-07
    • 2010-09-05
    相关资源
    最近更新 更多