ang*_*max 6 modelica openmodelica
在Modelica中,我试图为液压孔上的尺寸系数定义专用数据类型(OrifSizingCoeff).相应的物理量是体积流量除以压力的平方根,因此:a)以SI为单位:m3/s除以sqrt(Pa); b)在"实际"单位:l/min除以sqrt(bar).我将数据类型定义如下: 类型OrifSizingCoeff = Real(最终数量="Orifice sizing coefficient",最终单位="m3 /(s.Pa(1/2))",displayUnit ="l /(min.bar( 1/2))");
我没有得到任何解析错误,但单位转换不起作用(参数值不会从一个单位变为另一个单位); 如果我用(1/2)代替:
相反,如果我用(1/2)代替:
我得到一个解析错误.(我尝试过任何我能想到的疯狂事情).
而且,如果我更换(1/2)与1/2,执行转换,但它是"错误的".(根据Modelica的sintax,Pa1/2解释为(Pa1)/ 2 = Pa/2 ; bar1/2相同.因此两个单位对应于m3 /(s.Pa/2)和l /(min.bar/2),分别).
有没有办法正确定义我需要的单位?
不幸的是,根据 Modelica 规范,没有解决方案,因为在 Modelica 3.4 的 19.1 节中,unit_exponent 被定义为有符号整数(并且不能在括号中,并且不允许使用 ^ 求幂)。
Modelica 中单位定义的目标是符合“国际单位制 (SI)”,我找不到任何关于非整数指数的决定。(而且由于它们通常是用上标书写的,所以这不是一个问题。)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |