Этот пример показывает, как вычислить необходимую степень компрессора в сверхзвуковой аэродинамической трубе.
В этом разделе описывается задача, которая будет решена. Это также предоставляет необходимые уравнения и известные значения.
Рассчитать, какая степень компрессора требуется для запуска сверхзвуковой аэродинамической трубы фиксированной геометрии при установившемся режиме и запуске для моделирования условий работы потока Mach 2 на высоте 20 километров.
Тестовая секция имеет круглую форму диаметром 25 сантиметров. После тестовой секции находится диффузор фиксированной площади. Аэродинамическая труба использует охладитель, чтобы отклонить дополнительную энергию, которая добавляется в систему компрессором. Поэтому входное отверстие компрессора и испытательная секция имеют одинаковую температуру застоя. Предположим, что компрессор изентропен, а эффекты трения незначительны.
steadyPicture = astsswtschematic('steady');
Приведенная информация в задаче:
diameter = 25/100; % Diameter of the cross-section [m] height = 20e+03; % Design altitude [m] testMach = 2.0; % Mach number in the test section [dimensionless]
Жидкость принята воздушной, и поэтому она имеет следующие свойства.
k = 1.4; % Specific heat ratio [dimensionless] cp = 1.004; % Specific heat at constant pressure [kJ / (kg * K)]
The cross-section area of the test section is needed from the diameter.
testSectionArea = pi * (diameter)^2 / 4 ; % [m^2]
Поскольку задана проектная высота, решите для условий рейса на этой высоте. Aerospace Toolbox имеет несколько функций для вычисления условий на различных высотах. Одна из таких функций, atmosisa
, использует международную стандартную атмосферу, чтобы вычислить условия рейса с левой стороны, учитывая вход высоты:
[testSectionTemp, testSectionSpeedOfSound, testSectionPressure, testSectionDensity] = atmosisa(height);
Эта функция использует следующие модули:
testSectionTemp = Static temperature in the test section [K] testSectionSpeedOfSound = Speed of sound in the test section [m / s] testSectionPressure = Static pressure in the test section [kPa] testSectionDensity = Density of the fluid in the test section [kg / m^3]
Необходимо вычислить многие величины застоя (общего) в разделе теста. Отношения локальных статических условий к условиям застоя могут быть вычислены с помощью flowisentropic
.
[~,tempRatioIsen, presRatioIsen, ~, areaRatioIsen] = flowisentropic(k, testMach);
Все левосторонние величины являются безразмерными отношениями. Теперь мы можем использовать отношение статической температуры к температуре застоя, чтобы вычислить температуру застоя.
testSectionStagTemp = testSectionTemp / tempRatioIsen;
Оптимальное условие для установившейся операции сверхзвуковой аэродинамической трубы с диффузором фиксированной площади возникает, когда в горле диффузора присутствует нормальный удар. Для оптимального условия площадь горловины диффузора должна быть меньше площади горловины сопла. Принимая идеальный газ с постоянными удельными нагревами, вычислите коэффициент, на который площадь диффузора должна быть меньше площади сопла. Этот расчет получен из упрощенной формы сохранения уравнения массы с суммарными давлениями и площадями поперечного сечения:
где
Переставьте уравнение:
Этот пример принимает площадь горловины сопла, испытательную секцию и область потока в горловине диффузора, прежде чем удар окажется в восходящем направлении. Поскольку ударная волна находится на горловине диффузора, площадь горловины диффузора может рассматриваться как в восходящем направлении, так и ниже по течению от удара. Этот пример принимает, что площадь горловины диффузора находится ниже по потоку. Поскольку восходящий поток изентропен до ударной волны, можно использовать число Маха тестовой секции в качестве числа Маха восходящего потока. Это позволяет вам вычислить отношение общего давления через удар, а затем отношение площадей между соплом и площадью диффузора.
Общий коэффициент давления:
Вычислите отношение общего давления с помощью функции нормального удара из Aerospace Toolbox:
[~, ~, ~, ~, ~, stagPressRatio] = flownormalshock(k, testMach);
Соотношение площадей при ударе:
У нас есть следующее выражение, использующее сохранение массы, как обсуждалось ранее.
areaRatioShock = stagPressRatio;
Вычислите площадь диффузора:
diffuserArea = testSectionArea / (areaRatioShock * areaRatioIsen);
Поскольку площадь горловины диффузора меньше площади тестовой секции, число Маха потока должно сходиться к единице. Использование flowisentropic
с учетом соотношения площадей в качестве входов вычислите число Маха непосредственно в восходящем направлении удара:
diffuserMachUpstreamOfShock = flowisentropic(k, (1 / areaRatioShock), 'sup');
Использование flownormalshock
вычислить свойства потока через ударную волну. Обратите внимание, что здесь снова нам понадобится только общий коэффициент давления:
[~, ~, ~, ~, ~, P0] = flownormalshock(k, diffuserMachUpstreamOfShock);
Работа, выполняемая компрессором на единицу массы жидкости, равна изменению энтальпии через компрессор. Из определения энтальпии вычислите конкретную работу, выполненную путем знания изменения температуры и удельной теплоты жидкости при постоянном давлении:
Для изентропного компрессора,
Переставьте вышеописанное уравнение, чтобы решить различие температур. Напомним, что температура в компрессоре совпадает с температурой застоя тестовой секции.
tempDiff = testSectionStagTemp * ((1 / P0)^((k - 1) / k) - 1); % [K]
Теперь конкретную работу можно найти.
specificWork = cp * tempDiff; % [kJ / kg]
Требуемая степень равна заданному времени работы массовому расходу жидкости. Во время статической операции массовый расход жидкости через испытательную секцию определяется:
где все величины потока являются значениями в разделе испытаний:
massFlowRate = testSectionDensity * testSectionArea * testMach * testSectionSpeedOfSound; % [kg / s]
Наконец, вычислите степень, необходимую компрессору во время установившейся операции.
powerSteadyState = specificWork * massFlowRate; % [kW]
startupPicture = astsswtschematic('startup');
Для условия запуска ударная волна находится в тестовой секции. Число Маха непосредственно перед ударной волной является числом тестового участка Маха.
[~, ~, ~, ~, ~, stagPressRatioStartup] = flownormalshock(k, testMach);
Теперь вычислите конкретную работу изентропного компрессора.
specificWorkStartup = cp * testSectionStagTemp * ((1 / stagPressRatioStartup)^((k - 1) / k) - 1); % [kJ / kg]
Затем вычислите степень, необходимую во время запуска:
powerStartup = specificWorkStartup * massFlowRate; % [kW]
Требуемая во время установившейся операции степени (53,1 кВт) намного ниже, чем требуемая компрессором во время запуска (97,9 кВт). Эти результаты, требуемые мощностью, представляют оптимальные и наихудшие условия операции, соответственно.
power = [powerSteadyState powerStartup]; barGraph = figure('name','barGraph'); bar(power,0.1); ylabel('Power required [kilowatts]') set(gca,'XTickLabel',{'powerSteadyState', 'powerStartup'})
close(steadyPicture, startupPicture, barGraph)
[1] James, J. E. A., «Gas Dynamics, Second Edition», Allyn and Bacon, Inc, Boston, 1984.