Тепловые модульные преобразования

Об аффинных модулях

Тепловые модули часто требуют аффинного преобразования, то есть, преобразование, которое выполняет и умножение и сложение. Чтобы преобразовать от старого значения Told к новому значению Tnew, нам нужен линейный коэффициент преобразования L и смещение O:

Tnew = L * Told + O

Например, чтобы преобразовать температуру, читающую из градусов Цельсия в градусы по Фаренгейту, линейный член равняется 9/5, и смещение равняется 32:

TFahr = 9 / 5 * TCels + 32

Директор производства Simscape™ задает кельвин (K) как основной температурный модуль. Это делает Цельсия (degC) и Фаренгейт (degF) аффинные модули, потому что они оба связаны с кельвином с аффинным преобразованием. Rankine (degR) задан в терминах кельвина с нулевым линейным смещением и, поэтому, не аффинный модуль.

Следующее является модульными определениями реестра Simscape по умолчанию для температурных модулей:

pm_adddimension('temperature', 'K');        % defines kelvin as fundamental temperature unit
pm_addunit('degC', [1 273.15], 'K');        % defines Celsius in terms of kelvin
pm_addunit('degF', [5/9 -32*5/9], 'degC');  % defines Fahrenheit in terms of Celsius
pm_addunit('degR', [5/9 0], 'K');           % defines rankine in terms of kelvin

Когда применить аффинное преобразование

Имея дело с аффинными модулями иногда необходимо преобразовать их использующий только линейный член. Обычно, это происходит, когда значение, которое вы преобразуете, представляет родственника, а не абсолютный, температура, ΔT = T1T2.

ΔTnew = L * ΔTold

В этом случае добавление аффинного смещения привело бы к неправильным результатам преобразования.

Например, наружная температура повысилась на 18 градусов по Фаренгейту, и необходимо ввести это значение в модель. При преобразовании этого значения в кельвин используйте линейное преобразование

ΔTkelvin = 5 / 9 * ΔTFahr

и вы получаете 10 K, то есть, наружная температура, измененная на 10 кельвинов. Если вы примените аффинное преобразование, вы получите изменение температуры приблизительно 265 кельвинов, которое является неправильным.

Это является четным лучше проиллюстрированное, если вы используете градусы Цельсия для входных модулей, потому что линейный член для преобразования между Цельсия и кельвином равняется 1:

  • Если наружная температура, измененная на 10 градусов Цельсия (относительное температурное значение), то это изменилось на 10 кельвинов (не применяют аффинное преобразование).

  • Если наружная температура составляет 10 градусов Цельсия (значение абсолютной температуры), то это - 283 кельвина (примените аффинное преобразование).

Для относительных температур можно также использовать относительные температурные модули: deltaK, deltadegC, deltadegF, deltadegR. Эти модули сопоставимы с модульной базой данных Simulink® (см. Модули в Simulink). Если вы используете эти модули, аффинное преобразование не применяется.

Похожие темы