Я пытаюсь получить значения разницы температур, чтобы сообщить правильный результат при отображении в неабсолютных температурных шкалах. См. следующий пример:
model tempDiffTest
Modelica.Blocks.Interfaces.RealOutput test1(quantity="ThermodynamicTemperature", unit="K") = 1 annotation(absoluteValue=false);
Real test2(quantity="ThermodynamicTemperature", unit="K") = 2 annotation(absoluteValue=false);
Modelica.SIunits.TemperatureDifference test3 = 3;
end tempDiffTest;
Обратите внимание, что
type TemperatureDifference = Real (
final quantity="ThermodynamicTemperature",
final unit="K") annotation(absoluteValue=false);
именно это привело к изменениям, которые я внес в переменные test1 и test2.
Теперь ожидается, что когда я показываю свои результаты в градусах Цельсия, они должны быть 1, 2 и 3 для test1, test2 и test3 соответственно. Фактические результаты показаны ниже от Dymola:
Следовательно, только test3 был явно успешным (обратите внимание, что ни один из результатов не был успешным в OpenModelica). Теперь мой вопрос: как мне добиться того, что мне нужно для test1 и test2?