如何将变量定义为等于不同类型的变量?

时间:2014-10-02 17:50:56

标签: type-conversion modelica dymola

好的,我有这样的事情:

model MolarAmount
  import SI = Modelica.SIunits;
  SI.AmountOfSubstance nu "moles of stuff";
  parameter Real lambda = 42 "some variable on which nu depends";

equation
  nu = 1 - lambda;
end MolarAmount;

这样运行得很好,但它会像预期的那样抱怨不兼容的单元。如何让它忽略这一点?

2 个答案:

答案 0 :(得分:1)

这很奇怪。我一直认为Dymola在单元检查中将文字(1)和没有单位的变量(lambda)作为通配符。您可以尝试将units上的lambda属性设置为" 1" (我认为那是默认的)。您还可以查看标准库中的二极管模型。它使用参数公式,也必须解决这种单位检查问题。

很抱歉没有验证这些建议。我真的没有Dymola的副本可以用来测试。

HTH

答案 1 :(得分:1)

你在跑什么版本的Dymola? Dymola 2015(2014-04)接受此模型。

我猜设置lambda(unit="mol")可以解决您的问题。它也会减少单位检查的魔力。