【问题标题】:Is it possible to revert to older version of Dymola? Is parameter sweep behaving different in Dymola 2021?是否可以恢复到旧版本的 Dymola? Dymola 2021 中的参数扫描行为是否不同?
【发布时间】:2025-12-20 22:35:11
【问题描述】:

我最近更新了 Dymola 的许可证,并获得了 Dymola 2021 的访问权限。我相信parameter sweep 有一些变化。关键是我以前用旧版本方便地扫描我的模型的参数,但现在我收到以下错误:

设置 ParameterName 对模型没有影响。
翻译后您只能设置文字起始值和非评估参数。

如果有人可以提供建议,我将不胜感激。

【问题讨论】:

  • 您可以安装多个 Dymola 版本并使用前一个。但是,如果您必须在模型上应用库转换脚本,这可能会带来麻烦。你有一个最小的例子来解决你的问题吗?
  • @marco 感谢您的回复。我正在研究建筑物库的“分层”坦克模型。有一个称为“tau”的“混合时间常数”,它是用于诱导浮力效应的参数。我曾经扫描这个参数来监测沿罐的温度梯度的结果,但在新版本中我不能这样做。你要我也输入密码吗?另外,请告诉我如何安装多个版本的 Dymola?
  • “也输入代码?”:是的,应该提供一个最小的可重现示例 (*.com/help/minimal-reproducible-example)。您对 Markus 的评论他的回答正朝着那个方向发展……旧 Dymola 版本:从您的经销商处获取安装程序并安装它。
  • @marco 我明白你的意思。感谢您的评论和帮助!

标签: version dymola


【解决方案1】:

没有实际代码很难判断。原因可能是,新的 Dymola 版本评估的参数与旧版本不同。您可以尝试以下操作,而不是恢复到旧版本的 Dymola:

解决方案可能是强制 Dymola 不评估您要扫描的参数。这可以通过将annotation(Evaluate=false) 添加到应在扫描期间更改的参数来完成。

【讨论】:

  • 参数“tau”是我不能扫的那个。 Buildings.Fluid.Storage.Stratified simTan(redeclare package Medium = Medium, TFlu_start={327.74,327.74,327.74,327.74,327.74,327.74,327.74,327.74,327.74,327.74, 327.74,327.74,327.74,327.74,327.74}, T K"), VTan = 2, dIns = 0.1, hTan = 1.77, m_flow_nominal = 0.1, massDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nSeg = 30, tau=3600)
  • 那么去Buildings.Fluid.Storage.BaseClasses.PartialStratified并从parameter Modelica.SIunits.Time tau=1 "Time constant for mixing";更改为parameter Modelica.SIunits.Time tau=1 "Time constant for mixing" annotation(Evaluate=false);应该会有所帮助
  • 亲爱的 Markus,非常感谢您的回复和帮助。它像以前一样正常工作。
【解决方案2】:

除了@MarkusA 的回答,我想补充一点,由于这个特定的警告而降级不是一个好主意。

除了参数评估的变化之外,Dymola 2021 的主要变化是在扫描参数中添加了警告,而之前的扫描可以在没有任何警告的情况下产生恒定输出。

【讨论】:

    最近更新 更多