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ę?
Zobacz także: https://trac.modelica.org/Modelica/ticket/376 – matth