Modelica计量单位,平方根

时间:2017-09-29 14:52:19

标签: modelica openmodelica

在Modelica中,我尝试为液压孔上的尺寸系数定义专用数据类型( OrifSizingCoeff )。 相应的物理量是体积流量除以压力的平方根,因此: a)以SI单位:m3 / s除以sqrt(Pa); b)实践"单位:l / min除以sqrt(bar)。 我定义了数据类型如下: 类型OrifSizingCoeff =真实(最终数量="孔口尺寸系数",最终单位=" m3 /(s.Pa(1/2))",displayUnit =&# 34; 1 /(min.bar(1/2))&#34);

我没有得到任何解析错误,但单位转换不起作用(参数值不会从一个单位变为另一个单位);如果我将(1/2)替换为:

,也会发生同样的情况
  • 0.5
  • 05

相反,如果我将(1/2)替换为:

  • (0.5)
  • 0,5
  • (0,5)
  • ^(1/2)
  • ^(0.5)

我收到解析错误。 (我尝试过任何我能想到的疯狂事情)。

并且,如果我用 1/2 替换(1/2),则会执行转换但是它会错误地#34; 。 (根据Modelica的sintax, Pa1 / 2 解释为(Pa1)/ 2 = Pa / 2 ;同样为< em> bar1 / 2 。因此两个单位对应 m3 /(s.Pa/2) l /(min.bar/2),分别地)。

有没有办法正确定义我需要的单位?

1 个答案:

答案 0 :(得分:2)

不幸的是,根据Modelica规范,没有解决方案,因为在Modelica 3.4的第19.1节中,unit_exponent被定义为有符号整数(并且不能在括号中,并且不允许取幂^)。

Modelica中单位定义的目标是符合国际单位制(SI)&#34;我找不到任何关于非整数指数的决定。 (因为它们通常用上标写成,所以它不是一个问题。)