2017-09-29 2 views
6

Modelica에서는 유압 오리피스의 사이징 계수에 전용 데이터 형식 (OrifSizingCoeff)을 정의하려고합니다. 해당 물리량은 부피 유량을 압력의 제곱근으로 나눈 값이므로 a) SI 단위 : m3/s을 sqrt (Pa)로 나눈 값; b) "실제"단위 : l/분을 sqrt (bar)로 나눈 값. 데이터 유형을 다음과 같이 정의했습니다. 유형 OrifSizingCoeff = 실수 (최종 수량 = "오리피스 크기 조정 계수", 최종 단위 = "m3/(s.Pa (1/2))", displayUnit = "l/.bar (1/2)) ");제곱근을 사용한 Modelica 측정 단위

구문 분석 오류가 발생하지 않지만 단위 변환이 작동하지 않습니다 (매개 변수 값이 한 단위에서 다른 단위로 변경되지 않음). 내가 (1/2)로 교체하는 경우, 대신

  • 0.5

: 내가 함께 (1/2)를 교체 할 경우 같은 상황이 발생합니다

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

난 파싱 오류. (나는 내가 생각할 수있는 미친 짓을 시도했다.) 내가 1/2(1/2)를 교체 할 경우

그리고, 변환이 실행하지만 "잘못"입니다됩니다. (Modelica의 sintax에서 PA1/2 따라) (PA1 해석/2 = PA/2]. BAR1/2 따라서 두 유닛에 해당 대 동일한 m3/(s.Pa/ 2)1/(min.bar/2)).

필요한 단위를 올바르게 정의 할 수있는 방법이 있습니까?

+0

또한 참조하십시오 : https://trac.modelica.org/Modelica/ticket/376 – matth

답변

2

불행하게도, Modelica 3.4.19.1 절에서 unit_exponent가 부호있는 정수로 정의되었으므로 (괄호 안에있을 수 없으며 빼기에 ^는 사용할 수 없기 때문에) Modelica 사양에 따른 해결책이 없습니다.

Modelica의 단위 정의의 목표는 "국제 단위계 (SI)"를 따르는 것이므로 정수가 아닌 지수에 대한 결정을 찾을 수 없습니다. (정상적으로 위첨자로 쓰여 있으므로 문제가되지 않습니다.)

+1

왜 "제곱 된 매개 변수"를 이름과 함께 사용하지 않습니까? "flow_coeff_squared"단위 (m³/s) ²를 Pa로 나눈 값? –

+1

다음은 "제곱 된 매개 변수"에 대한 유용한 예입니다. http://unitsofmeasure.org/trac/ticket/51 – matth