Построение диаграмм термодинамических циклов (в среде Mathcad): шаг за шагом

урнал Автоматизация и IT в энергетике, № 2-3, 2009 г. - отсканированные страницы 6, 7, 8, 9, 10, 11, 12, 13, 14 и 15)

В.Очков

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 объединять их в один вектор, а полученные пары векторов отображать на соответствующих диаграммах, вид которых (Ts – диаграмма, hs – диаграмма и т.д.) задается пользователем  (см. выпадающие списки и слова «Выбери оси» на рис. 1). Размер (длину) данных векторов будем считать равной 300: n := 300   := 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 2007 г. С. 29-35

3.      Очков В.Ф., Александров А.А., Орлов К.А. Термодинамические циклы: расчеты в Интернете // Вестник МЭИ № 1, 2007 г. С. 43-50



[1] Исходных данных может быть, естественно, больше и мы об этом еще скажем.

 

Go to te base page >>>