2017-09-29 18 views
6

W Modelica próbuję zdefiniować dedykowany typ danych (OrifSizingCoeff) dla współczynnika doboru na kryzy hydraulicznej. Odpowiednią wielkością fizyczną jest objętościowe natężenie przepływu podzielone przez pierwiastek kwadratowy ciśnienia, a zatem: a) w jednostkach SI: m3/s podzielone przez sqrt (Pa); b) W jednostkach "praktycznych": l/min podzielone przez sqrt (bar). Zdefiniowałem typ danych w następujący sposób: typ OrifSizingCoeff = Real (ostateczna ilość = "Współczynnik rozmiaru otworu", jednostka końcowa = "m3/(s.Pa (1/2))", displayUnit = "l/(min .bar (1/2)) ");Jednostki miary modelki z pierwiastkiem kwadratowym

Nie otrzymuję błędu parsowania, ale konwersja jednostki nie działa (wartość parametru nie zmienia się z jednej jednostki na drugą); to samo dzieje się, jeśli wymienić (1/2) z:

  • 0,5

Zamiast tego, jeśli wymienić (1/2) się:

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

pojawia się błąd parsowania. (Próbowałem jakiejkolwiek szalonej rzeczy, o której mogłem pomyśleć).

A jeśli mogę wymienić (1/2) z 1/2 konwersja jest wykonywana, ale to "źle". (Według sintax Modelica'S, PA1/2 w interpretować jako (PA1)/2 = Pa/2;. Samo dla Bar1/2 Dlatego dwie jednostki odpowiadają m3/(s.Pa/ 2) i l/(min.bar/2), odpowiednio).

Czy istnieje sposób prawidłowego zdefiniowania jednostek, których potrzebuję?

+0

Zobacz także: https://trac.modelica.org/Modelica/ticket/376 – matth

Odpowiedz

2

Niestety, nie ma rozwiązania zgodnie ze specyfikacją Modelica, ponieważ unit_exponent jest zdefiniowana jako liczba całkowita ze znakiem (i nie może być w nawiasie, a^dla potęgowania jest niedozwolona) w sekcji 19.1 Modelica 3.4.

Celem definicji jednostki w Modelica jest dostosowanie do "Międzynarodowego układu jednostek (SI)" i nie mogłem znaleźć żadnej decyzji na temat wykładników niecałkowitych. (A ponieważ pisane są zazwyczaj w indeksach górnych, nie stanowi to problemu).

+1

Dlaczego nie używać "kwadratu" z nazwą "flow_coeff_squared" z jednostkami (m³/s) ² podzielonymi przez Pa? –

+1

Oto przydatny przykład "parametru kwadratowego": http://unitsofmeasure.org/trac/ticket/51 – matth

Powiązane problemy