(ж
Go to te base page >>>
В заголовке статьи следовало бы дописать «… и с помощью пакета WaterSteamPro» (www.wsp.ru). Дело в том, что функции этого пакета возвращают значения термодинамических параметров рабочих тел циклов (вода, водяной пар, газы и их смеси) при различных сочетаниях исходных данных – аргументов функций, что намного упрощает решение нашей задачи. Но приемы, описанные в данной статье, можно использовать и без пакета WaterSteamPro, самостоятельно сгенерировав через, например, интерполяцию табличных данных некоторые функции, возвращающие параметры рабочих тел (см. описание этой технологии >>>>>>>).
Далее будут показаны фрагменты Mathcad-документа, по которому можно рассчитать и отобразить графически цикл Ренкина на перегретом паре. Расчет выложен в Интернет по технологии Mathcad Calculation Server по адресу http://twt.mpei.ac.ru/MAS/Worksheets/Rankine3D.mcd (рис. 0).
Исходные данные расчета: параметры перегретого пара (давление и температура), давление в конденсаторе и относительные внутренние КПД турбины[1] и питательного насоса (рис. 1). Необходимо рассчитать параметры цикла. Это сделать несложно, имея в среде Mathcad функции, возвращающие параметры воды и водяного пара в диапазоне температур и давлений, имеющих место в данном цикле (см. выше). Сложнее построить реальную диаграмму цикла, выбирая на ее осях разные параметры рабочего тела, что мы и опишем далее. На рис. 1 показано (начало области Calculation, которая на самом сетевом расчете скрыта), как обрабатываются данные, введенные пользователем в текстовые окна с разными единицами измерения давления и температуры, а также, как в расчет вводятся две пользовательские функции, возвращающие значения эксэргии (или эксергии – wspExHS) и анергии (разность энтальпии и эксэргии – wspAnS), что позволит нам задействовать в расчете элементы не только термодинамического, но и эксэргетического анализа нашего цикла.
Функции wspExHS и wspAnS возвращают значение эксэргии и анергии в зависимости от значений температуры окружающей среды (Т0), атмосферного давления (принято за 1 atm), энтальпии и энтропии в данной точке цикла.
Для построения диаграмм необходимо будет заполнить векторы, элементы которых – параметры воды и водяного пара в различных точках цикла. Кроме того, нужно иметь векторы, хранящие параметры воды и водяного пара на линии насыщения. Эти векторы формируются Mathcad-операторами, показанными на рис. 2. Подобные векторы необходимо будет формировать и на всех четырех участках цикла Ренкина (питательный насос, котел, турбина и конденсатор), затем функцией stack объединять их в один вектор, а полученные пары векторов отображать на соответствующих диаграммах, вид которых (T, s – диаграмма, h, s – диаграмма и т.д.) задается пользователем (см. выпадающие списки и слова «Выбери оси» на рис. 1). Размер (длину) данных векторов будем считать равной 300: n := 300 i := 0 .. n-1 (в векторах будет по 300 элементов, пронумерованных от 0 до 299 – см. начало рис. 2). В принципе, при расчете можно обойтись без переменной-диапазон, которая является атавизмом тех времен, когда в Mathcad не было инструментов программирования - см. рис. 2b. На диаграммах, как уже отмечено, будут также отображены линии насыщения воды и водяного пара. Для этого в расчете генерируются соответствующие вектора (рис. 2) с индексами ws (вода – w на линии насыщения – s – saturated) и ss (пар – s на линии насыщения). В среде Mathcad векторы можно заполнять двумя способами – используя оператор векторизации (стрелочка над выражением) и поэлементно выполняя действия (опора на имя вектора с индексом i: Ppumpi, Hpumpi и т.д.). На рис. 2а показано «соревнование» этих методов в скорости выполнения: расчет с векторизацией идет быстрее, но стрелочки над операторами несколько «затуманивают» само изложение расчета.
Сгенерированнные векторы, хранящие параметры воды и пара на линии насыщения (см. рис. 2), формируют векторы Х, Y и Z c индексами ws и ss, по которым в дальнейшем будут строиться две линии на графике (синяя – вода и красная – пар), оси которого задаются пользователем через переменные х, y и z.
На рис. 3 показан расчет этого процесса: сначала заполняется «равномерный» вектор давления (Ppump) со значениями, равномерно меняющимся от P2 (давление в конденсаторе) до P1 (давление в котле). Затем заполняется вектор значений энтальпий с помощью функции wspHEXPANSIONSIONPТХEFF, возвращающей значение энтальпии (Нpump) в процессе сжатия рабочего тела (воды) в зависимости от температуры, давления и степени сухости в исходной точке, давления сжатия (у нас это вектор Ppump) и внутреннего относительного КПД насоса. Далее с опорой на функции пакета WaterSteamPro с аргументами давление и энтальпия заполняются остальные нужные векторы.
При расчете этого процесса как, впрочем, и в остальных процессах сначала необходимо сгенерировать два вектора, значения которых могут быть аргументами функций пакета WaterSteamPro. При расчете процессов, протекающих в котле (рис. 4), генерируется «равномерный» вектор Нboiler и считается, что компоненты вектора Рboiler хранят константу – Р1, хотя тут можно оперировать и переменными, считая, что давление меняется по контору котла. Пара этих параметров воды и/или водяного пара позволяет через функции пакета WaterSteamPro заполнить другие интересующие нас векторы.
При расчете данного участка цикла (рис. 5) сначала опять же заполняется «равномерный» вектор, хранящий значения давления, которое равномерно разбивается от значения давления в котле Р1 до давления в конденсаторе Р2 на n отрезков. После этого несложно заполнить вектор энтальпии пара в турбине, воспользовавшись функцией пакета WaterSteamPro с именем wspHEXPANSONPTPEFF, возвращающей значение энтальпии (вектор) пара в конце процесса расширения в зависимости от его начальных параметров (два скаляра – давление и температура), конечного давления (вектор) и значения внутреннего относительного КПД турбины (скаляр). Последний параметр в свою очередь может быть не константой, а функцией, зависящей от номера ступени турбины, части цилиндра турбины. Это положение при желании можно учесть в расчете. Если же не учитывать при расчете внутренние относительные КПД питательного насоса и турбины, то можно обойтись без функций wspHEXPANSIONSIONPTXРEFF и wspHEXPANSIONSIONPTРEFF, а принять, что энтропия в процессах сжатия (расширения) воды (пара) в насосе (турбине) не меняется: Spumpi := wspSWSP(P2) и Sturbinei := wspSPTP(P1, T1).
Примечание. Более правильно считать параметры воды и водяного пара в двухфазной области для метастабильного состояния – см. рис. 5а.
При расчете этого теплообменного аппарата (рис. 6) делается допущение – пар, поступающий из турбины в конденсатор влажный. Вернее, исходные данные расчета (см. рис. 1). Должны быть такими, чтобы функция wspXSTH, возвращала число, а не сообщение об ошибке. Итак, на рис. 6 показано, как заполняются константами два вектора Tcond и Pcond, определяется степень сухости пара, поступающего в конденсатор x2, а затем генерируется «равномерный» вектор Хcond со значениями от х2 (влажный пар, поступающий из турбины в конденсатор) до 0 (вода на линии насыщения, поступающая в питательный насос). Пара векторов Tcond и Хcond позволяют рассчитать значения компонент других нас интересующих векторов.
На рис. 7 показано, как по «конечным» элементам наших векторов рассчитываются термический и эксергетический КПД цикла.
На рис. 8 показаны операторы, использующие встроенную в пакет Mathcad функцию stack, позволяющую «состыковать по вертикали» сгенерированные нами десять векторов. Порядок в списке аргументов функции stack должен повторять порядок нашего расчета: питательный насос (pump), котел (boiler), турбина (turbine) и конденсатор (cond). При этом значения элементов «общих», «безиндексных» векторов T, P, H и т.д. будут меняться плавно (без скачков), что позволит на диаграммах соединить соответствующие точки линиями. Кроме того, в этих векторах значения первых (нулевых – переменная ORIGIN у нас равна 0) компонент должно равняться значениям последних, что будет являться дополнительными признаками расчета. В принципе, при расчете конденсатора нужно обсчитывать не n точек, а n – 1, полагая, что последняя точка конденсатора – это первая точка питательного насоса: цикл, как полагается всем циклам, замкнулся! Кстати о точках, вернее, об их числе. В принципе, их число должно быть разным при счете разных процессов в нашем цикле – одно дело считать сжатие воды в питательном насосе, а другое – расширение пара в турбине. Но мы в расчете приняли n за константу, значение которой можно уменьшать при отладке программы и увеличивать для более точного расчета точек на будущих диаграммах. Здесь, кстати, хорошее поле для так называемых параллельных расчетов: отдельные процессы в цикле считаются не последовательно, а параллельно, на различных компьютерах (на различных процессорах одного компьютера), а далее собираются воедино и отображаются графически на отдельном компьютере (на одном из «параллельных» компьютерах).
На рис. 8 показано, как с помощью цепочки функций if формируются вектора Х, Y и Z, по которым будут строится 2D- (векторы Х и Y – рис. 9) и 3D- (векторы Х, Y и Z – рис. 10) диаграммы.
1.
Александров
А.А., Орлов К.А., Очков В.Ф. Математические пакеты
– новые подходы при расчетах процессов термодинамики и других научных дисциплин.
// Известия высших
учебных заведений. Проблемы энергетики. №11-12. 2005, С. 80-86
2.
Александров
А.А., Очков В.Ф., Орлов К.А., Очков А.В. Теплофизические
свойства воды и водяного пара в Интернете // Промышленная энергетика № 2
3.
Очков В.Ф.,
Александров А.А., Орлов К.А. Термодинамические
циклы: расчеты в Интернете // Вестник МЭИ № 1,
Go to te base page >>>