Санкт-Петербургский государственный технологический институт (Технический университет)
Физико-математическое отделение Факультет_______6
________
Кафедра математического моделирования Курс_________4
__________
и оптимизации химико-технологических
процессов Группа_______665
________
Учебная дисциплина СИСТЕМНЫЙ АНАЛИЗ ХИМИЧЕСКИХ ТЕХНОЛОГИЙ
КУРСОВОЙ ПРОЕКТ
Тема СИНТЕЗ ХИМИКО-ТЕХНОЛОГИЧЕСКОЙ СИСТЕМЫ
Студентка Дворникова Анастасия
Руководитель Гайков А.В.
Оценка за курсовой проект___________ _____________________
(подпись руководителя)
Дата защиты проекта______________
Санкт-Петербург, 2009 год Техническое задание
Тема: синтез химико-технологической системы.
Номер варианта: 4.
Цель: синтезировать ХТС, работающую по нижеописанной технологии.
Исходные данные:
m=4 n =1 Все реакторы идеального вытеснения
t0
=50 0
С, t1
=4150
С, t2
=4850
С, t3
=4100
С, t4
=4250
С, t5
=4050
С
ta
1
=1800
С, ta
2
= 1950
С
Расход смеси на входе в систему: 132000 м3
/час
Концентрация компонентов:
А=0,085 об.доли
В=0,08 об.доли
С=0,0001 об.доли
Объемы реакторов, м3
V1
=79, V2
=65, V3
=40, V4
=55, V5
=35
Объемы абсорберов, м3
v1
=25, v2
=28
Плотность орошения в 1ом абсорбере: 18 м3
/м2
Плотность орошения в 2ом абсорбере: 19 м3
/м2
Для получения значений k0
и Е в уравнении Аррениуса использовать данные Приложение 1 и метод наименьших квадратов.
Для нахождения значений Kp(t) использовать данные Приложение 2 и метод наименьших квадратов.
Для получения статистической модели абсорбера использовать данные Приложения 3 и метод Брандона.
ОГЛАВЛЕНИЕ
Введение. 5
1. Теоретическая часть. 6
1.1 Описание объекта исследования. 6
1.2 Постановка задачи оптимизации. 6
1.3 Описание метода наименьших квадратов. 7
1.4 Описание метода Брандона. 9
1.5 Реактор идеального вытеснения. 12
1.6 Синтез оптимальных систем теплообмена. 13
2. Расчетная часть. 17
2.1 Расчет k0
и E в уравнении Аррениуса с использованием метода наименьших квадратов. 17
2.2 Расчет зависимости kр
(t) с использованием метода наименьших квадратов 20
2.3 Расчет статистической модели абсорбера с использованием метода Брандона 23
2.4 Расчет реакторов идеального вытеснения. 33
2.5 Расчет абсорберов. 35
2.6 Синтез оптимальных систем теплообмена. 36
2.7 Расчет нагревателя. 41
3. Выводы.. 43
Список литературы.. 44
Приложение 1. 45
Приложение 2. 45
Приложение 3. 46
Введение
В нашем мире наблюдается стремительное развитие химической промышленности. Создаются и внедряются новые технологии и новая техника, большое внимание уделяется созданию безотходных и малоотходных производств, а также экономному расходованию сырья и всех видов энергии.
Промышленные процессы протекают в сложных химико-технологических системах (ХТС), каждая из которых представляет собой совокупность аппаратов и машин, объединенных в единый производственный комплекс для выпуска продукции.
Основным методом исследования ХТС не случайно считается математическое моделирование, так как этот метод позволяет открыть новые возможности при разработке математических химико-технологических процессов, в том числе по их применению их для расчета и оптимизации ХТС.
Методы анализа, синтеза и оптимизации ХТС, реализованные в виде алгоритмов и программ, применяются в системах автоматизированного проектирования химических производств (САПР). Эти системы существенно повышают производительность труда проектировщиков и позволяют значительно улучшить качество проектов. Благодаря САПР ускоряется внедрение в производство технологических разработок.
В процессе своей деятельности конструкторам и технологам постоянно приходится принимать технические решения путем выбора оптимальных вариантов. Должен быть выбран тот предпочтительный вариант конструкции изделия или технологического процесса, который затем будет разрабатываться для осуществления в производстве.
При создании современных химических и нефтехимических производств большое значение имеет рациональное использование вторичных энергоресурсов, образующихся при проведении химико-технологических процессов.
Проектирование оптимальных тепловых систем представляет сложную комбинаторную задачу, причем количество альтернативных вариантов резко возрастает при увеличении числа технологических потоков.
Существуют различные методы синтеза оптимальных ТС. Основные – комбинаторные и эвристические. Комбинаторные методы (например, метод ветвей и границ) позволяют получить точное решение. С помощью эвристических методов находят близкие к оптимальным структуры ТС, при этом из рассмотрения исключается большая часть альтернативных вариантов.
1. Теоретическая часть
1.1 Описание объекта исследования
Химико-технологическая система (Х'ГС) представляет собой совокупность взаимосвязанных технологическими потоками и действующих как одно целое аппаратов в которых осуществляется определённая последовательность технологических операций -' подготовка сырья к химическим превращениям, химические превращения. выделение и очистка целевых продуктов.
Каждая технологическая операция протекает в отдельных аппаратах, которые являются элементами ХТС. Для исследования ХТС характерно. что при этом не изучаются внутренние свойства и структура элементов, а анализируются только такие свойства элементов. которые определяют его взаимосвязь с другими элементами Х'ГС и влияют на свойства системы в целом.
Состояние системы зависит от конструкционных параметров ХТС и технологического режима.
Конструкционные параметры ХТС - геометрические характеристики элементов системы – объём, диаметр, высота и т. д. Параметры технологического режима ХТС - совокупность параметров внутри элемента, влияющих на скорость технологического процесса, выход и качество продукции. К ним относится концентрации реагентов, температура, давление, активность катализатора, гидродинамика потока. От параметров ХТС зависит качество функционирования ХТС, которое определяют по показателям эффективности - количеству реализованной продукции, качеству продукции, эксплуатационным и капитальным затратам.
При этом следует отметить, что на показатели ХТС, несомненно. оказывают влияние показатели работы отдельных элементов, в которых одновременно протекают физические и химические процессы. Последовательное описание или изображение процессов и соответствующих им аппаратов называется технологической схемой ХТС.
1.2 Постановка задачи оптимизации
Оптимизация – это целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях. Любая инженерная деятельность, связанная с разработкой новых технологических систем и управлением ими, сопровождается поиском оптимальных решений. Для осуществления такого поиска необходим объект оптимизации и критерий оптимальности, который также называют целевой функцией.
Для решения задач оптимизации широко используются математические описания ХТС. При формулировании критерия оптимальности ХТС принимаются во внимание технико-экономические показатели, безопасность технологических режимов оборудования, обеспечение защиты окружающей среды.
Критерий оптимальности обычно является скалярной функцией нескольких переменных. Задача оптимизации сводится к поиску экстремума этой функции, то есть
f (e, a, u, z, t, r, α, d) → Extremum
где e – вектор входных переменных; a – вектор выходных переменных; u – вектор управляющих переменных; z – вектор возмущений; t – время; r – вектор режимных параметров; α – вектор структурных параметров; d – вектор конструктивных параметров.
Входными и выходными параметрами являются обычно состав, расход и температуры отдельных потоков. Управляющими воздействиями могут быть расход сырья на входе в химический реактор или расход пара в теплообменнике. Примеры возмущений – изменения температуры окружающей среды и состава исходного сырья за счет примесей, а также изменение активности катализатора за счет его закоксовывания. Под режимными параметрами понимаются температуры и давления в аппаратах, скорости вращения рабочих органов машин.
Структурные параметры характеризуют топологию ХТС. В частности, они определяют число аппаратов в системе и связи между ними. Конструктивные параметры характеризуют габаритные размеры отдельных аппаратов, толщины их стенок и т.п. Конструктивными параметрами ректификационной колонны являются, например, число тарелок, размеры элементов тарелок.
ХТС как объект оптимизации описывается математической моделью в виде системы уравнений:
= 0; j = 1, . . . , p.
Эту систему уравнений можно рассматривать кА первый вид ограничений на независимые переменные при поиске экстремума. Второй вид ограничений представляет собой система неравенств:
≥ 0; i = 1, . . . , m.
Эти неравенства характеризуют ограничения на допустимые интервалы изменения независимых переменных, обусловленные нормами расхода сырья и энергии, безопасностью работы оборудования и т.п.
Таким образом, общей задачей оптимизации ХТС является нахождение экстремума функции с учетом указанных ограничений путем изменения числа независимых переменных.
1.3 Описание метода наименьших квадратов
Пусть имеется некоторая выборка экспериментальных данных объемом m опытов, содержащая независимые переменные x1, x2,..., xk и зависимую переменную (отклик) y. В общем случае зависимых переменных может быть несколько, и их выбор часто зависит от целей исследования.
Наиболее общий тип линейной модели записывается в виде
y=b0+b1z1+b2z2+...+bkzk),
где каждая из переменных zj называемая в дальнейшем фактором, представляет собой функциональную зависимость произвольного вида от независимых переменных
zj=zj(x1, x2, ..., xn).
Параметр k определяет количество факторов в эмпирическом уравнении.
Задача определения коэффициентов уравнения регрессии по МНК сводится практически к определению минимума функции многих переменных: требуется выбрать b0, b1,..., bk так, чтобы сумма квадратов отклонений, рассчитанных по уравнению, и экспериментальных значений функции отклика была минимальной
(4)
Если функция дифференцируема, то необходимым условием минимума Ф b0, b1,..., bk является выполнение равенств:
(5)
При линейном характере зависимости
система уравнений принимает вид
Раскрывая скобки и перенося направо слагаемые, не содержащие неизвестных коэффициентов bJ, j=0,…,k, получим систему линейных алгебраических уравнений
Таким образом, задача оценки неизвестных коэффициентов уравнения линейной регрессии сводится к решению системы линейных алгебраических уравнений относительно коэффициентов bi,,i=0,1,...,k что легко выполнить, например, численными методами на ЭВМ.
1.4 Описание метода Брандона
Статистические модели создают на основании имеющихся экспериментальных данных, снятых на действующем объекте. Задачу формулируют следующим образом: по данной выборке объемом n (т.е. по заданному числу опытов) построить модель и оценить адекватность ее реальному объекту.
В общем случае современный технологический процесс представляется в виде многомерного объекта. На объект действуют вектор входных параметров Х, составляющие которого {х1
,х2
,…,хl
}, и вектор управления Z, составляющие которого {z1,
z2,
…zk
}. Выходные параметры {y1
,y2
,…,yp
} составляют вектор выходных параметров Y. Общий вид статистической модели многомерного технологического объекта можно записать в виде системы алгебраических уравнений или в векторной форме:
y1 =
F1
{x1
,x2
,…xm
}
y2 =
F2
{x1
,x2
,…xm
}
……………………
yp =
Fp
{x1
,x2
,…xm
}
Y=F(X), где X,Y – векторы входных и выходных параметров объекта.
В данной курсовой работе для построения модели многомерного технологического объекта используется метод Брандона.
Сущность метода заключается в следующем. Предполагается, что функция F1
{x1,
x2
,…,xm
} в предыдущей системе является произведением функций от входных параметров, то есть
ŷ = yf1
(x1
)f2
(x2
)…fm
(xm
)
или в более удобной форме:
ŷ = yПfk
(xk
)
где ŷ – расчетное значение i-го выходного параметра; y = Σ(y0i
/n) – средняя величина экспериментальных значений i-го выходного параметра; n – количество опытов в исходной выборке.
При использовании метода Брандона большое значение имеет порядок следования функций в уравнении. Чем больше влияние оказывает фактор на выходной параметр, тем меньшим должен быть его порядковый номер в указанном уравнении.
Оценить степень влияния к-го фактора на выходной параметр можно по величине частного коэффициента множественной корреляции:
где rxy/x1
,x2
,…,xm
- величина частного коэффициента корреляции, учитывающая влияние К-го фактора на выходной параметр у при условии, что влияние всех прочих факторов исключено; D – определитель матрицы, построенной из парных коэффициентов корреляции.
Матрица имеет вид:
, k=1,2,3.
Dm
+1,
m
+1
– определитель матрицы с вычеркнутыми m+1-ой строкой и m+1-м столбцом;
Dm
+1,
k
– определитель матрицы с вычеркнутыми m+1-ой строкой и k-м столбцом;
Dk
,
k
– определитель матрицы с вычеркнутыми k-ой строкой и k-м столбцом;
rxy
– парные коэффициенты корреляции определяемые по формуле:
Коэффициенты корреляции по абсолютной величине не превышает единицы. (-1 ≤ rxy
≤ 1).
Чем ближе абсолютное значение коэффициента | rxy
| к единице, тем сильнее линейная связь между величинами. Следует отметить, что коэффициент корреляции одинаково отмечает долю случайности и криволинейность связи между х и у. Зависимость х и у может быть близкой к функциональной, но существенно не линейной; коэффициент корреляции при этом будет значительно меньше единицы.
Объективное определение тесноты связи может быть проведено в результате совместного анализа качественной и количественной оценок.
Порядок расположения влияющих факторов определяют в соответствии с убыванием величины частных коэффициентов корреляции. Следует иметь в виду, что коэффициент корреляции – чисто статистический показатель и не содержит предположения, что изучаемые величины находятся в причинно-следственной связи.
Прежде чем определять вид первой зависимости, следует представить исходные экспериментальные значения выходного параметра в каждом опыте yэj
в безразмерной форме yэ0j
где у – средняя величина выходного параметра.
Таким образом, исходными данными для поиска первой зависимости будут нормированные значения вектора выходных параметров ỹ0
и опытные значения первого влияющего фактора. Выбрав зависимость ỹ = f1
(x1
) с помощью метода наименьших квадратов, определяют остаточный показатель Yэ для каждого наблюдения.
Предполагая, что уэ1
не зависит от х1
, а зависит от х2,
…,
хm
, выбирают зависимость от второго фактора. Получив расчетную зависимость находят остаточный показатель уэ2
для каждого наблюдения:
Выполнив аналогичные действия для каждого К-го влияющего фактора получают регрессионную зависимость для рассмотренного выходного параметра. Порядок расположения факторов для этой зависимости определен на этапе ранжирования и отличается от порядка в общем уравнении.
Для оценки точности аппроксимации найденной функции вычисляют корреляционное отношение:
и среднюю относительную ошибку:
Совокупность зависимостей по каждому выходному параметру представляет собой статистическую модель, многомерно технологического объекта.
1.5 Реактор идеального вытеснения
Модель идеального вытеснения предполагает, что в реакторе реализуется так называемый поршневой режим движения потока, все частицы двигаются в одном заданном направлении, в реакторе отсутствует осевое перемешивание, но разрешено радиальное, в связи, с чем значения всех параметров технологического процесса изменяются плавно от начального до конечного состояния.
Время пребывания всех частиц в аппаратах идеального вытеснения одинаково, т.е. временной характеристикой реакторов идеального вытеснения служит уравнение:
,
где τ’
– время пребывания в реакторе любого элементарного объема; τ – среднее время пребывания; Vc
– расход смеси; υ – объем реактора.
Математическая модель – это система уравнений, которая устанавливает связь входных и выходных параметров реактора.
aA + bB → cC
v=K*CA
a
*CB
b
В нашем случае скорость реакции в реакторе описывается уравнением:
Для определения скорости реакции по каждому веществу для многоступенчатых химических реакций составляется стехиометрическая матрица размером m на n, где m – число стадий, n – число компонентов.
Элементы матрицы соответствуют стехиометрическим коэффициентам, причем коэффициент будет отрицательным, если вещество расходуется и положительным, если вещество образуется.
Скорость по i-му компоненту будет представлять собой сумму компонентов i – го столбца.
vA
= -2wI
vB
= -wI
vC
= 2wI
vD
= wII
Математическое описание:
К этой системе необходимо добавить уравнение теплового баланса:
,
где λ1
=q/Cp
– коэффициенты адиабатического разогрева.
Модель вытеснения можно применять для технических реагентов при проектировании жидкофазных трубчатых реакторов с большим отношением, длины трубы к его диаметру. Такие реакторы широко применяются в производствах органических веществ. К режиму вытеснения относят по газовой фазе полочные контактные аппараты с фильтрующими слоями катализатора, шахтные печи и конверторы.
Значительная часть применяемых в промышленности насадочных башен для взаимодействия газов с жидкостями работает при небольших скоростях газового потока и малых плотностях орошения.
1.6 Синтез оптимальных систем теплообмена
В наиболее традиционной постановке задача синтеза тепловых систем (ТС) формулируется следующим образом: имеются m горячих и n холодных технологических потоков, которые называют основными технологическими потоками. Для каждого из этих потоков заданы начальные температуры и , конечные температуры , и значения водяных эквивалентов (произведение расхода на удельную теплоемкость) ,. Здесь . Индексы "г" и "х" относят соответствующую величину к горячему и холодному потокам.
Необходимо определить структуру технологических связей между теплообменными аппаратами заданного типа, а также же площади поверхностей теплообмена каждого аппарата, которые обеспечивали бы заданные начальные и конечные температуры основных технологических потоков при минимально возможном значении приведенных технологических затрат 3пр, связанных с эксплуатацией синтезируемой ТС.
Для решения задачи синтезируемую ТС разделяют на две подсистемы: внутреннюю (рекуперативную), где в теплообмене участвуют только основные технологические потоки; и внешнюю, где при теплообмене используется вспомогательные теплоносители (вспомогательные технологические потоки) и вспомогательные теплообменники, осуществляющие теплообмен между основными и вспомогательными технологическими потоками.
При этом внешняя подсистема используется только тогда, когда во внутренней подсистеме не удается получить заданные конечные температуры.
Приведенные технологические затраты, связанные с эксплуатацией синтезируемой ТС, могут быть выражены следующим образом:
- затраты на рекуперативные теплообменники, руб;
- затраты на вспомогательные теплообменники, руб;
- затраты на вспомогательные теплоносители, руб;
- нормативный коэффициент эффективности (= 0,12).
Если во внутренней подсистеме используются К1 теплообменных аппаратов, а во внешней – , то:
При расчете стоимости i - го теплообменника любой подсистемы в данной работе используется зависимость
где F - площадь поверхности теплообмена соответствующего i- го теплообменника, м2
а - стоимостной коэффициент, зависящий от типа теплообменника. Затраты на вспомогательные теплоносители определяются по формуле:
Где - продолжительность годовой эксплуатации системы ч/год;
- стоимость i - го вспомогательного теплоносителя,
- расход p- го вспомогательного теплоносителя в 1- м вспомогательном теплообменнике, кг/ч.
При синтезе ТС используются формулы:
где Q - тепловая нагрузка теплообменника; k- соответствующий коэффициент теплопередачи.
Средняя разность температур для теплообменника:
где и - разности температур на концах теплообменника.
Тепловая нагрузка теплообменника, или количество тепла, переданное в одном аппарате, определяется на основе концепции передачи максимально возможного тепла при минимально допустимой разности температур на концах теплообменника
Если ()<0, то теплообмен невозможен.
;
Задача синтеза решается путем формирования множества возможных комбинаций исходных горячих и холодных потоков для проведения физически реализуемых операций теплообмена в теплообменном аппарате. для этой цели строят таблицу пар взаимодействующих потоков исходя из условия Qmax. Из таблицы пар выбирается пара потоков, вступающих во взаимный теплообмен. Если в результате теплообмена данные потоки достигли заданных конечных температур, то они исключаются из рассмотрения. Иначе, начальным температурам этих потоков присваиваются значения конечных температур результирующих потоков, после чего таблица пар перестраивается, и выбирается новая пара потоков. Данная операция производится до тех пор, пока не останется потоков, способных вступать во взаимный теплообмен, или все потоки достигнут требуемых конечных температур. При необходимости для достижения заданных конечных температур в теплообменных системах используются вспомогательные тепло - и хладагенты. Таким образом, задача синтеза является многоэтапной задачей, в которой на каждом этапе осуществляется выбор пары потоков, вступающих во взаимный теплообмен.
2. Расчетная часть
2.1 Расчет
k0
и E в уравнении Аррениуса с использованием метода наименьших квадратов
Расчет проводился на основе данных из Приложения 1 в программе, написанной в Visual Basic.
Код
программы
:
Option Explicit
Dim z As Integer
Dim i As Integer
Dim s1 As Single
Dim s2 As Single
Dim s3 As Single
Dim s4 As Single
Dim a As Single
Dim b As Single
Dim k0 As Single
Dim e As Single
Dim t() As Single
Dim k() As Single
Dim kr() As Single
Dim eps() As Single
Dim x() As Single
Dim y() As Single
Private Sub Command1_Click()
z = InputBox("Введите количество опытов", "Ввод экспериментальных данных")
MSFlexGrid1.Rows = z + 1
ReDim t(z) As Single
ReDim k(z) As Single
ReDim kr(z) As Single
ReDim eps(z) As Single
For i = 1 To z
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 1
t(i) = Val(InputBox("Введите параметр T 'C", "Ввод экспериментальных данных"))
MSFlexGrid1.Text = CStr(t(i))
MSFlexGrid1.Col = 2
k(i) = Val(InputBox("Введите параметр K", "Ввод экспериментальных данных"))
MSFlexGrid1.Text = CStr(k(i))
Next i
Command2.Enabled = True
Command2.Visible = True
End Sub
Private Sub Command2_Click()
ReDim x(z) As Single
ReDim y(z) As Single
For i = 1 To z
x(i) = 1 / (t(i) + 273)
y(i) = Log(k(i))
Next i
s1 = 0
s2 = 0
s3 = 0
s4 = 0
For i = 1 To z
s1 = s1 + x(i)
s2 = s2 + x(i) * x(i)
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
Next i
a = (z * s3 - s1 * s4) / (z * s2 - s1 * s1)
b = (s2 * s4 - s1 * s3) / (z * s2 - s1 * s1)
e = -8.315 * a
Text1.Text = CStr(e)
k0 = Exp(b)
Text2.Text = CStr(k0)
For i = 1 To z
kr(i) = k0 * Exp(-e / (8.315 * (t(i) + 273)))
eps(i) = Abs(k(i) - kr(i)) / Abs(k(i))
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = CStr(kr(i))
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = CStr(eps(i))
Next i
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Load()
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "№ п.п."
For i = 1 To 13
MSFlexGrid1.Row = i
MSFlexGrid1.Text = CStr(i)
Next i
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "t 'C"
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "Kr, 1/c"
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "Krr, 1/c"
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "eps, %"
End Sub
Результат расчета:
Итак, получили: E=60457.93 и k0
=18525.68.
2.2 Расчет зависимости
kр
(t) с использованием метода наименьших квадратов
Расчет проводился на основе данных из Приложения 2 в программе, написанной в Visual Basic.
Код
программы
:
Option Explicit
Dim z As Integer
Dim i As Integer
Dim s1 As Single
Dim s2 As Single
Dim s3 As Single
Dim s4 As Single
Dim a As Single
Dim b As Single
Dim k0 As Single
Dim e As Single
Dim t() As Single
Dim k() As Single
Dim kr() As Single
Dim eps() As Single
Dim x() As Single
Dim y() As Single
Private Sub Command1_Click()
z = InputBox("Введите количество опытов", "Ввод экспериментальных данных")
MSFlexGrid1.Rows = z + 1
ReDim t(z) As Single
ReDim k(z) As Single
ReDim kr(z) As Single
ReDim eps(z) As Single
For i = 1 To z
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 1
t(i) = Val(InputBox("Введите параметр T 'C", "Ввод экспериментальных данных"))
MSFlexGrid1.Text = CStr(t(i))
MSFlexGrid1.Col = 2
k(i) = Val(InputBox("Введите параметр K", "Ввод экспериментальных данных"))
MSFlexGrid1.Text = CStr(k(i))
Next i
Command2.Enabled = True
Command2.Visible = True
End Sub
Private Sub Command2_Click()
ReDim x(z) As Single
ReDim y(z) As Single
For i = 1 To z
x(i) = 1 / (t(i) + 273)
y(i) = Log(k(i)) / 2.3025
Next i
s1 = 0
s2 = 0
s3 = 0
s4 = 0
For i = 1 To z
s1 = s1 + x(i)
s2 = s2 + x(i) * x(i)
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
Next i
a = (z * s3 - s1 * s4) / (z * s2 - s1 * s1)
b = (s2 * s4 - s1 * s3) / (z * s2 - s1 * s1)
Text1.Text = CStr(a)
b = -b
Text2.Text = CStr(b)
For i = 1 To z
kr(i) = 10 ^ (a / (t(i) + 273) - b)
eps(i) = Abs(k(i) - kr(i)) / Abs(k(i))
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = CStr(kr(i))
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = CStr(eps(i))
Next i
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Load()
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "№ п.п."
For i = 1 To 13
MSFlexGrid1.Row = i
MSFlexGrid1.Text = CStr(i)
Next i
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "t 'C"
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "Kr"
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "Krr"
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "eps, %"
End Sub
Результат расчета:
Итак, получили А=4789.031 и В=4.519998, следовательно:
2.3 Расчет статистической модели абсорбера с использованием метода Брандона
Расчет проводился на основе данных из Приложения 3 в программе, написанной в Visual Basic.
Код
программы
:
Dim a() As Single
Dim n As Integer, m As Integer
Sub mnk6(ftr As Integer, n1 As Integer, masX() As Single, masY() As Single, masYR() As Single, formula As String)
Dim matrYR() As Single, x() As Single, y() As Single, skwOtkl() As Single, i As Integer
Dim ka As Single, kb As Single, AB() As Single, minS As Single, indMin As Integer
ReDim matrYR(1 To n1, 1 To 6) As Single, x(1 To n1) As Single, y(1 To n1) As Single, skwOtkl(1 To 6) As Single
ReDim AB(1 To 6, 1 To 2) As Single
'1 --- Уравнение y=a*x+b
For i = 1 To n1
x(i) = masX(i): y(i) = masY(i)
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(1, 1) = ka: AB(1, 2) = kb
skwOtkl(1) = 0
For i = 1 To n1
matrYR(i, 1) = ka * masX(i) + kb
skwOtkl(1) = skwOtkl(1) + (masY(i) - matrYR(i, 1)) ^ 2
Next i
'2 --- Уравнение y=1/(a*x+b)
For i = 1 To n1
x(i) = masX(i): y(i) = 1 / masY(i)
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(2, 1) = ka: AB(2, 2) = kb
skwOtkl(2) = 0
For i = 1 To n1
matrYR(i, 2) = 1 / (ka * masX(i) + kb)
skwOtkl(2) = skwOtkl(2) + (masY(i) - matrYR(i, 2)) ^ 2
Next i
'3 --- Уравнение y=a/x+b
For i = 1 To n1
x(i) = 1 / masX(i): y(i) = masY(i)
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(3, 1) = ka: AB(3, 2) = kb
skwOtkl(3) = 0
For i = 1 To n1
matrYR(i, 3) = ka / masX(i) + kb
skwOtkl(3) = skwOtkl(3) + (masY(i) - matrYR(i, 3)) ^ 2
Next i
'4 --- Уравнение y=b*x^a
For i = 1 To n1
x(i) = Log(masX(i)): y(i) = Log(masY(i))
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(4, 1) = ka: AB(4, 2) = Exp(kb)
skwOtkl(4) = 0
For i = 1 To n1
matrYR(i, 4) = Exp(kb) * masX(i) ^ ka
skwOtkl(4) = skwOtkl(4) + (masY(i) - matrYR(i, 4)) ^ 2
Next i
'5 --- Уравнение y=b*exp(a*x)
For i = 1 To n1
y(i) = Log(masY(i)): x(i) = masX(i)
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(5, 1) = ka: AB(5, 2) = Exp(kb)
skwOtkl(5) = 0
For i = 1 To n1
matrYR(i, 5) = Exp(kb) * Exp(ka * masX(i))
skwOtkl(5) = skwOtkl(5) + (y(i) - matrYR(i, 5)) ^ 2
Next i
'6 --- Уравнение y=a*log(x)+b
For i = 1 To n1
y(i) = masY(i): x(i) = Log(masX(i))
Next i
Call KoefAB(n1, x(), y(), ka, kb)
AB(6, 1) = ka: AB(6, 2) = kb
skwOtkl(6) = 0
For i = 1 To n1
matrYR(i, 6) = ka * Log(masX(i)) + kb
skwOtkl(6) = skwOtkl(6) + (y(i) - matrYR(i, 6)) ^ 2
Next i
indMin = 1
minS = skwOtkl(1)
For i = 2 To 6
If minS > skwOtkl(i) Then
indMin = i
minS = skwOtkl(i)
End If
Next i
If indMin = 1 Then
formula = CStr(AB(1, 1)) + "*x" + CStr(ftr) + "+" + CStr(AB(1, 2))
For i = 1 To n1
masYR(i) = matrYR(i, 1)
Next i
End If
If indMin = 2 Then
formula = "1/(" + CStr(AB(2, 1)) + "*x" + CStr(ftr) + "+" + CStr(AB(2, 2)) + ")"
For i = 1 To n1
masYR(i) = matrYR(i, 2)
Next i
End If
If indMin = 3 Then
formula = CStr(AB(3, 1)) + "/x" + CStr(ftr) + "+" + CStr(AB(3, 2))
For i = 1 To n1
masYR(i) = matrYR(i, 3)
Next i
End If
If indMin = 4 Then
formula = CStr(AB(4, 2)) + "*x" + CStr(ftr) + "^" + CStr(AB(4, 1))
For i = 1 To n1
masYR(i) = matrYR(i, 4)
Next i
End If
If indMin = 5 Then
formula = CStr(AB(5, 2)) + "*exp(" + CStr(AB(5, 1)) + "*x" + CStr(ftr) + ")"
For i = 1 To n1
masYR(i) = matrYR(i, 5)
Next i
End If
If indMin = 6 Then
formula = CStr(AB(6, 1)) + "*ln(x" + CStr(ftr) + ")+" + CStr(AB(6, 2))
For i = 1 To n1
masYR(i) = matrYR(i, 6)
Next i
End If
End Sub
Private Sub mnuComp_Click()
Dim stroka As String, i As Integer, ind() As Integer, rabA() As Single, eta As Single, eps As Single
Dim SrZnachY As Single, NormY() As Single, msX() As Single, msY() As Single, formul() As String
Dim j As Integer, YRASCH() As Single, formulka As String, s1 As Single, s2 As Single, s3 As Single
ReDim ind(1 To m) As Integer, rabA(1 To n, 1 To m + 1) As Single, NormY(1 To n, 1 To m) As Single
ReDim msX(1 To n) As Single, msY(1 To n) As Single, msyr(1 To n) As Single, formul(1 To m) As String
ReDim YRASCH(1 To n) As Single
For i = 1 To m
List1.ListIndex = i - 1
stroka = Mid(List1.Text, 2, 7): ind(i) = CInt(stroka)
Next i
For j = 1 To m
For i = 1 To n
rabA(i, j) = a(i, ind(j))
rabA(i, m + 1) = a(i, m + 1)
Next i
Next j
SrZnach = 0
For i = 1 To n
SrZnachY = SrZnachY + rabA(i, m + 1)
Next i
SrZnachY = SrZnachY / n
formulka = "y=" + CStr(SrZnachY)
For i = 1 To n
YRASCH(i) = SrZnachY
NormY(i, 1) = a(i, m + 1) / SrZnachY
Next i
For j = 1 To m
For i = 1 To n
msX(i) = rabA(i, j)
msY(i) = NormY(i, j)
Next i
Call mnk6(ind(j), n, msX(), msY(), msyr(), formul(j))
For i = 1 To n
YRASCH(i) = YRASCH(i) * msyr(i)
Next i
If j < m Then
For i = 1 To n
NormY(i, j + 1) = NormY(i, j) / msyr(i)
Next i
End If
formulka = formulka + "*(" + formul(j) + ")"
Next j
Label1.Caption = "РЕЗУЛЬТАТЫ РАСЧЕТА:"
Label5.Caption = "ПОДОБРАНА МОДЕЛЬ: " + vbCrLf
Label5.Caption = Label5.Caption + formulka
Label5.Visible = True
With MSFlexGrid1
.Cols = .Cols + 1: .Col = .Cols - 1: .Row = 0: .Text = "YR"
For i = 1 To n
.Row = i: .Text = CStr(YRASCH(i))
Next i
End With
s1 = 0: s2 = 0: s3 = 0
For i = 1 To n
s1 = s1 + (a(i, m + 1) - YRASCH(i)) ^ 2
s2 = s2 + (a(i, m + 1) - SrZnachY) ^ 2
s3 = s3 + Abs(a(i, m + 1) - YRASCH(i)) / Abs(a(i, m + 1))
Next i
eps = 100 / n * s3
eta = Sqr(1 - s1 / s2)
Text1.Text = CStr(eta)
Text2.Text = CStr(eps)
End Sub
'm- кол-во факторов, N - колво опытов
Private Sub mnuExit_Click()
End
End Sub
Sub KoefAB(n As Integer, x() As Single, y() As Single, ka As Single, kb As Single)
Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single
s1 = 0: s2 = 0: s3 = 0: s4 = 0
For i = 1 To n
s1 = s1 + x(i)
s2 = s2 + x(i) * x(i)
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
Next i
ka = (n * s3 - s1 * s4) / (n * s2 - s1 * s1)
kb = (s2 * s4 - s1 * s3) / (n * s2 - s1 * s1)
End Sub
Private Function Opred(n1 As Integer, x1() As Single) As Single
Dim i As Integer, j As Integer, d As Single
Dim e As Single, k As Integer, b1 As Integer, c As Integer
Dim a As Single, s As Single, g As Single, z As Integer
ReDim x(1 To n1, 1 To n1) As Single
z = 1
d = 1
For i = 1 To n1
For j = 1 To n1
x(i, j) = x1(i, j)
Next j
Next i
For k = 1 To n1 - 1
e = 0
For i = k To n1
For j = k To n1
If Abs(e) >= Abs(x(i, j)) Then GoTo m90
e = x(i, j): b1 = i: c = j
m90:
Next j
Next i
If k = b1 Then GoTo m120
For j = k To n1
s = x(k, j)
x(k, j) = x(b1, j)
x(b1, j) = s
Next j
z = -z
m120:
If k = c Then GoTo m150
For i = k To n1
s = x(i, k)
x(i, k) = x(i, c)
x(i, c) = s
Next i
z = -z
m150:
For i = k + 1 To n1
g = x(i, k) / x(k, k)
For j = k To n1
x(i, j) = x(i, j) - g * x(k, j)
Next j
Next i
Next k
For i = 1 To n1
d = d * x(i, i)
Next i
d = d * z
Opred = d
End Function
Function Rxy(n As Integer, x() As Single, y() As Single) As Single
Dim i As Integer, s1 As Single, s2 As Single, s3 As Single
Dim s4 As Single, s5 As Single
s1 = 0: s2 = 0: s3 = 0: s4 = 0: s5 = 0
For i = 1 To n
s1 = s1 + x(i)
s2 = s2 + x(i) ^ 2
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
s5 = s5 + y(i) ^ 2
Next i
Rxy = (n * s3 - s1 * s4) / Sqr((n * s2 - s1 * s1) * (n * s5 - s4 * s4))
End Function
Private Sub mnuOpen_Click()
Dim s As String, i As Integer
CommonDialog1.Action = 1
s = CommonDialog1.FileName
Open s For Input As #1
Input #1, m, n
With MSFlexGrid1
.Cols = m + 2: .Rows = n + 1
.Col = 0: .Row = 0: .Text = "№"
For i = 1 To m
.Col = i: .Text = "X" + CStr(i)
Next i
.Col = m + 1: .Text = "Y"
ReDim a(1 To n, 1 To m + 1) As Single
For i = 1 To n
.Col = 0: .Row = i: .Text = CStr(i)
For j = 1 To m + 1
Input #1, a(i, j)
.Col = j: .Text = CStr(a(i, j))
Next j
Next i
Close #1
End With
End Sub
Private Sub mnuRangir_Click()
Dim d() As Single, x1() As Single, y1() As Single
Dim dm1 As Single, dmk() As Single, dkk() As Single, KRxy() As Single
Dim i As Integer, j As Integer, a1() As Single, sz As String
ReDim d(1 To m + 1, 1 To m + 1) As Single, x1(1 To n) As Single, y1(1 To n) As Single
ReDim dmk(1 To m) As Single, dkk(1 To m) As Single, KRxy(1 To m) As Single
ReDim a1(1 To m, 1 To m) As Single, smassiv(1 To m) As String
For i = 1 To m
smassiv(i) = "X" + CStr(i)
Next i
For i = 1 To m + 1
d(i, i) = 1
Next i
For j = 1 To m
For k = j + 1 To m + 1
For i = 1 To n
x1(i) = a(i, j): y1(i) = a(i, k)
Next i
d(j, k) = Rxy(n, x1(), y1())
'транспонирование матрицы
d(k, j) = d(j, k)
Next k
Next j
'вывод матрицы D
With MSFlexGrid2
.Cols = m + 1: .Rows = m + 1
For i = 1 To m + 1
For j = 1 To m + 1
.Col = j - 1: .ColWidth(.Col) = 1500: .Row = i - 1: .Text = CStr(d(i, j))
Next j
Next i
End With
'частн коэфф множ коррел
For i = 1 To m
For j = 1 To m
a1(i, j) = d(i, j)
Next j
Next i
dm1 = Opred(m, a1())
For k = 1 To m
For i = 1 To m
k1 = 0
For j = 1 To m + 1
If j <> k Then
k1 = k1 + 1
a1(i, k1) = d(i, j)
End If
Next j
Next i
dmk(k) = Opred(m, a1())
Next k
For k = 1 To m
k1 = 0
For i = 1 To m + 1
If i <> k Then
k1 = k1 + 1: k2 = 0
For j = 1 To m + 1
If j <> k Then
k2 = k2 + 1
a1(k1, k2) = d(i, j)
End If
Next j
End If
Next i
dkk(k) = Opred(m, a1())
Next k
With MSFlexGrid3
.Rows = m: .Cols = 2: .FixedRows = 0: .FixedCols = 0
For i = 1 To m
.Row = i - 1
.Col = 0: .Text = "Ryx" + CStr(i) + "="
KRxy(i) = dmk(i) / Sqr(dm1 * dkk(i))
.Col = 1: .ColWidth(.Col) = 1500: .Text = CStr(KRxy(i))
Next i
End With
'сортировка
List1.Clear
For i = 1 To m - 1
k = i
For j = i To m
If Abs(KRxy(k)) > Abs(KRxy(j)) Then k = j
Next j
sz = smassiv(k)
smassiv(k) = smassiv(i)
smassiv(i) = sz
Next i
For i = m To 1 Step -1
List1.AddItem (smassiv(i))
Next i
End Sub
Результаты расчета:
1) для степени абсорбции:
В данных обозначениях Х1-начальная температура, Х2-плотность орошения, Х3-объем абсорбера, Y-степень абсорбции данная, YR-степень абсорбции рассчитанная.
2) для температуры:
В данных обозначениях Х1-начальная температура, Х2-плотность орошения, Х3-объем абсорбера, Y-данная конечная температура, YR- рассчитанная конечная температура.
2.4 Расчет реакторов идеального вытеснения
По заданию в схеме все реакторы идеального вытеснения, причем четыре реактора до первого абсорбера, а пятый реактор между первым и вторым абсорберами.
Расчет проводится в одной и той же программе с использованием исходных данных и получаемых результатов. Необходимо учесть, что:
данные, которые мы получили на выходе из 4го реактора, являются входными параметрами для 1го абсорбера;
данные, которые мы получили на выходе из 1го абсорбера, являются входными параметрами для 5го реактора;
данные, которые мы получили на выходе из 5го реактора, являются входными параметрами для 2го абсорбера.
Код
программы
:
Option Explicit
Dim tn As Single
Dim ca0 As Single
Dim cb0 As Single
Dim cc0 As Single
Dim vr As Single
Dim g As Single
Dim n As Integer
Dim q As Single
Dim cp As Single
Dim k0 As Single
Dim ea As Single
Dim a0 As Single
Dim b0 As Single
Dim tau As Single
Dim dtau As Single
Dim ca As Single
Dim cb As Single
Dim cc As Single
Dim tk As Single
Dim i As Integer
Dim x As Single
Dim a As Single
Dim d As Single
Dim c As Single
Dim l As Single
Dim k As Single
Dim kr As Single
Dim f2 As Single
Dim r As Single
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
tn = Val(Text1.Text)
ca0 = Val(Text2.Text)
cb0 = Val(Text3.Text)
cc0 = Val(Text4.Text)
vr = Val(Text5.Text)
g = Val(Text6.Text)
n = Val(Text13.Text)
q = Val(Text7.Text)
cp = Val(Text8.Text)
k0 = Val(Text10.Text)
ea = Val(Text9.Text)
a0 = Val(Text11.Text)
b0 = Val(Text12.Text)
tau = vr * 3600 / g
dtau = tau / n
ca = ca0
tk = tn
For i = 1 To n
x = (ca0 - ca) / ca0
ca = ca0 * (1 - x)
cb = cb0 - ca0 * x
cc = cc0 + ca0 * x
k = k0 * Exp(-ea / 8.31 / (tk + 273.15))
kr = 10 ^ (a0 / (tk + 273.15) - b0)
a = ca + 0.8 * cc
d = kr * ca * Sqr(cb)
c = (cc / d) ^ 2
l = 1 - c
r = k * ca * cb / a * l
ca = ca - r * dtau
f2 = q * r / cp
tk = tk + f2 * dtau
Next i
Text14.Text = CStr(tk)
Text15.Text = CStr(ca)
Text16.Text = CStr(cb)
Text17.Text = CStr(cc)
Text18.Text = CStr(tau)
End Sub
Результаты расчета:
Из полученных результатов нам важны концентрации компонентов, чтобы ввести их в следующий реактор или абсорбер, а так же температуры на выходе (Тi
):
Т1
=577.06
Т2
=514.18
Т3
=414.34
Т4
=430.73
Т5
=411.87
2.5 Расчет абсорберов
По заданию необходимо провести расчет двух абсорберов. Для этого используется программа, написанная в Visual Basic, исходные данные, данные полученные при расчете реакторов и зависимости, полученные по методу Брандона в пункте 3.3.
Код
программы
:
Private Sub Command1_Click()
tn = Val(Text13.Text)
ro = Val(Text14.Text)
vabs = Val(Text15.Text)
tk = 47.44545 * (-0.05320523 * ro + 1.889979) * (-0.03595265 * vabs + 1.890018) * (0.004502005 * tn + 0.1782164)
Text12.Text = CStr(tk)
eta = 83.19818 * (0.03020197 * vabs + 0.2518149) * (0.03027636 * ro + 0.4635413) * (1 / (0.002109864 * tn + 0.6166517))
eta = eta / 100
Text5.Text = CStr(eta)
g0 = Val(Text1.Text)
ca0 = Val(Text2.Text)
cb0 = Val(Text3.Text)
cc0 = Val(Text4.Text)
dltg = g0 * cc0 * eta
g = g0 - dltg
ca = g0 * ca0 / g
cb = g0 * cb0 / g
cc = g0 * (1 - eta) * cc0 / g
w0 = g0 * 0.33
w = g * 0.33
prc = (g0 - g) / g0 * 100
Text6.Text = CStr(ca)
Text7.Text = CStr(cb)
Text8.Text = CStr(cc)
Text9.Text = CStr(g)
Text10.Text = CStr(w0)
Text11.Text = CStr(w)
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Результаты расчета:
Из результатов расчета первого абсорбера нам необходимо значение расхода на выходе (G) для ввода его в пятый реактор и второй абсорбер, значения водяных эквивалентов на входе (Wн
) и на выходе (Wк
).
Из результатов расчета обоих реакторов нам необходимы значения температур на выходе (Та1
и Та2
).
G=124146.814 м3
/час
Wн
=43.56
Wк
=40.97
Та1
=43.34
Та2
=38.91
2.6 Синтез оптимальных систем теплообмена
Для расчета используется программа, написанная в Visual Basic, исходные данные, приведенные в таблице ниже.
Исходные данные для проектирования тепловой системы:
Холодные потоки
|
Горячие потоки
|
№
исходного потока
|
Начальная температура
ºС
|
Конечная темпера тура ºС
|
Значение водяного эквивалента, кВт/ºС
|
№
исходного потока
|
Начальная температура
ºС
|
Конечная темпера тура ºС
|
Значение водяного эквивалента, кВт/ºС
|
1
|
50
|
415
|
43,56
|
1
|
577,06
|
485
|
43,56
|
2
|
414,34
|
425
|
43,56
|
2
|
514,18
|
410
|
43,56
|
3
|
43,34
|
405
|
40,97
|
3
|
430,73
|
180
|
43,56
|
4
|
411,87
|
195
|
40,97
|
Код
программы
:
Dim nx As Integer, ng As Integer, n As Integer, n0 As Integer
Dim k As Single, c As Single, dt As Single, k0 As Single
Dim tn() As Single, tk() As Single, w() As Single
Dim tx() As Single, tg() As Single, nomx() As Integer
Dim nomg() As Integer, r() As Single, ne() As Single
Dim st() As Single
Private Sub Command1_Click()
st0 = 0
k = 0
m1:
With MSFlexGrid1
.Cols = 9: .Col = 0: .Row = 0: .Text = "L": .Col = 1: .Text = "х": .Col = 2: .Text = "Tнх"
.Col = 3: .Text = "Tхк": .Col = 4: .Text = "г": .Col = 5: .Text = "Tнг"
.Col = 6: .Text = "Tгк": .Col = 7: .Text = "Q": .Col = 8: .Text = "Стоимость"
l = 0
k = k + 1
For i = 1 To n
If tn(i) < tk(i) Then GoTo m2
For j = 1 To n
If tn(j) > tk(j) Then GoTo m3
tg0 = tn(i): tg1 = tk(i)
tx0 = tn(j): tx1 = tk(j)
a = tg0 - tx0 - dt
If a < 0 Then GoTo m3
If (tg1 - tx0) < dt Then tg1 = tx0 + dt
If (tg0 - tx1) < dt Then tx1 = tg0 - dt
qx = (tx1 - tx0) * w(j)
qg = (tg0 - tg1) * w(i)
q = qx
If qx > qg Then q = qg
If q < 1 Then GoTo m3
tx1 = tx0 + q / w(j)
tg1 = tg0 - q / w(i)
dt1 = tg0 - tx1
dt2 = tg1 - tx0
r0 = Log(dt1 / dt2)
dlt = (dt1 + dt2) / 2
If Abs(r0) > 0.639 Then dlt = (dt1 - dt2) / r0
f = q / k0 / dlt
l = l + 1
st(l) = c * f ^ 0.6
st0 = st0 + st(l)
nomg(l) = i: nomx(l) = j: tg(l) = tg1: tx(l) = tx1
.Rows = l + 1
.Col = 0: .Row = l: .Text = CStr(l)
.Col = 1: .Text = CStr(j): .Col = 2: .Text = CStr(tx0)
.Col = 3: .Text = CStr(tx1): .Col = 4: .Text = CStr(i): .Col = 5: .Text = CStr(tg0)
.Col = 6: .Text = CStr(tg1): .Col = 7: .Text = CStr(q): .Col = 8: .Text = CStr(st(l))
m3:
Next j
m2:
Next i
End With
If l = 0 Then GoTo m4
If ne(k) = 1 Then Label5.Caption = "Выберите вариант теплообмена между потоками i и j для которых начальные температуры максимальны"
If ne(k) = 2 Then Label5.Caption = "Выберите вариант теплообмена между потоками, который обеспечивает максимальное количество передаваемого тепла"
If ne(k) = 3 Then Label5.Caption = "Выберите для теплообмена горячий поток с наиболее высокой температурой на входе и холодный поток с наиболее высокой температурой на выходе из теплообменника"
If ne(k) = 4 Then Label5.Caption = "Выберите для теплообмена холодный поток с наиболее низкой температурой на входе и горячий поток с наиболее низкой температурой на выходе из теплообменника"
If ne(k) = 5 Then Label5.Caption = "Выберите для теплообмена пару потоков произвольным образом"
l = CInt(InputBox("Введите номер варианта теплообмена:"))
i = nomg(l): j = nomx(l): tn(i) = tg(l): tn(j) = tx(l)
MSFlexGrid1.Clear
GoTo m1
m4:
Label7.Visible = True: Text4.Text = CStr(st0): Text4.Visible = True
End Sub
Private Sub Form_Load()
Dim S As String, i As Integer
CommonDialog1.Action = 1
S = CommonDialog1.FileName
Open S For Input As #1
Input #1, nx, ng
n = nx + ng
Text1.Text = CStr(nx)
Text2.Text = CStr(ng)
n0 = nx * ng
Input #1, k0, c, dt
ReDim tn(1 To n) As Single, tk(1 To n) As Single, w(1 To n) As Single
ReDim tx(1 To n0) As Single, tg(1 To n0) As Single, nomx(1 To n0) As Integer
ReDim nomg(1 To n0) As Integer, r(1 To n0 + 2) As Single, ne(1 To n0 + 2) As Single
ReDim st(1 To n0) As Single
For i = 1 To n
Input #1, tn(i), tk(i), w(i)
Next i
Close #1
r0 = -100
dr0 = CInt(InputBox("Введите любое число из интервала 1-33:"))
For i = 1 To n0 + 2
r0 = r0 + dr0
r(i) = Rnd(r0)
Next i
Label4.Caption = ""
For i = 1 To n0 + 2
If r(i) >= 0 And r(i) < 0.2 Then ne(i) = 1
If r(i) >= 0.2 And r(i) < 0.4 Then ne(i) = 2
If r(i) >= 0.4 And r(i) < 0.6 Then ne(i) = 3
If r(i) >= 0.6 And r(i) < 0.8 Then ne(i) = 4
If r(i) >= 0.8 And r(i) < 1 Then ne(i) = 5
Label4.Caption = Label4.Caption + CStr(ne(i)) + " "
Next i
End Sub
Результаты расчета:
Таблица 1 Таблица пар исходных потоков ( I этап синтеза)
На основании таблицы 1 для теплообмена выбран 8 поток, так как необходимо было выбрать для теплообмена холодный поток с наиболее низкой температурой на входе и горячий поток с наиболее низкой температурой на выходе из теплообменника.
Таблица 2 Таблица пар результирующих и исходных потоков (II этап синтеза)
На основании таблицы 2 для теплообмена выбран 7 поток, так как необходимо было выбрать вариант теплообмена между потоками, который обеспечивает максимальное количество передаваемого тепла.
Таблица 3 – Таблица пар результирующих и исходных потоков (III этап синтеза)
На основании таблицы 3 для теплообмена выбран 2 поток, так как необходимо было выбрать вариант теплообмена между потоками i и j, для которых начальные температуры максимальны.
Таблица 4 – Таблица пар результирующих и исходных потоков (IV этап синтеза)
На основании таблицы 4 для теплообмена выбран 2 поток, так как необходимо было выбрать для теплообмена горячий поток с наиболее высокой температурой на входе и холодный поток с наиболее высокой температурой на выходе из теплообменника.
Таблица 5 – Таблица пар результирующих и исходных потоков (V этап синтеза)
На основании таблицы 5 для теплообмена выбран 2 поток, так как необходимо было выбрать поток произвольным образом.
В результате синтеза системы теплообмена все потоки, кроме 1го холодного, достигли заданной температуры. Следовательно, его необходимо нагреть до нужной температуры, используя нагреватель.
2.7 Расчет нагревателя
Для расчета используется программа, написанная в Visual Basic.
Код программы:
Private Sub Command1_Click()
Dim c As Single, dt As Single, qx As Single
Dim tx1 As Single, tx0 As Single, tg0 As Single
Dim tg1 As Single, Wx As Single, Wr As Single
Dim qg As Single, q As Single, dlt As Single, k0 As Single
Dim st As Single
c = 483: dt = 20: k0 = 0.01745
tg0 = CSng(Text3.Text)
tx0 = CSng(Text1.Text)
tx1 = CSng(Text2.Text)
Wx = CSng(Text6.Text)
Wr = CSng(Text7.Text)
tg1 = tx1 + dt
qx = (tx1 - tx0) * Wx
qg = (tg0 - tg1) * Wr
q = qx
If qx > qg Then q = qg
tx1 = tx0 + q / Wx
tg1 = tg0 - q / Wr: dtl = tg0 - tx1: dt2 = tg1 - tx0
dlt = (dt1 + dt2) / 2
f = q / k0 / dlt
st = c * f ^ 0.6
Text5.Text = CStr(st)
Text4.Text = CStr(tg1)
End Sub
Результаты расчета:
Тепловая схема будет иметь следующий вид:
577,06
414,34 425
430,73 566,4 514,18
43,34 309,92 396,47 405
411,87 506,15 435
180 485
50 253,98 350,129 415
460
195 410
Общая стоимость данной технологической схемы составляет 1192555.42, которая была получена в результате расчета оптимальных технологических схем (1154145), а также учитывает стоимость нагревателя (38410.42).
3. Выводы
В данной курсовой работе были произведены следующие процессы оптимизации:
1. С помощью метода наименьших квадратов получили минимальные отклонения экспериментальных значений константы скорости химической реакции от расчетных для нахождения предэкспоненциального множителя k0
и энергии активации химической реакции Е.
2. С помощью метода наименьших квадратов получили минимальные отклонения экспериментальных значений константы равновесия от расчетных значений.
3. С помощью метода Брандона получили статическую модель абсорбера, а также рассчитали все потоки на входе и выходе из реакторов.
Выбранная схема теплообмена, состоящая из 5 реакторов и 1 нагревателя, позволяет достичь заданных начальных и конечных температур основных технологических потоков наиболее оптимальным из рассмотренных вариантов.
Таким образом, рассчитанная в данной курсовой работе химико-технологическая система обеспечивает эффективную реализацию заданной технологии.
Список литературы
1. Методы и средства автоматизированного расчета химико-технологических систем / Кузичкин Н. В., Саутин С. Н., Пунин А. Е., Холоднов В.А., Шибаев В. А. – Л.: Химия, 1987. – 152с
2. Химико-технологические системы. Синтез, оптимизация и управление / Д. Бальцер, В. Вайсс, В. К. Викторов и др. / Под ред. И. П. Мухленова. – Л.: Химия, 1986. -424 с.
3. Синтез оптимальных тепловых систем. Метод. указания / ЛТИ им. Ленсовета. Л.,1985
Приложение 1
Зависимость константы скорости от температуры
Tº, C
|
k, 1/c
|
400
|
0.4
|
405
|
0.4
|
415
|
0.5
|
435
|
0.6
|
455
|
0.8
|
485
|
1.3
|
505
|
1.6
|
515
|
1.8
|
530
|
2.2
|
575
|
3.5
|
595
|
4.3
|
605
|
4.7
|
615
|
5.2
|
Приложение 2
Зависимость константы равновесия от температуры
Tº, C
|
kp
|
400
|
443
|
420
|
265
|
440
|
112
|
460
|
108
|
480
|
72
|
520
|
35
|
540
|
25
|
560
|
16
|
580
|
12
|
600
|
9.5
|
620
|
7.0
|
Приложение 3
Экспериментальные данные по работе абсорберов
Tвх
, ºC
|
Плотность орошения, м3
/м2
|
Объем абсорбера, м3
|
Tвых
, ºC
|
Степень абсорбции, %
|
170
|
13
|
22
|
58.9
|
69.06
|
180
|
14
|
25
|
52.4
|
77.10
|
170
|
13
|
30
|
44.0
|
87.15
|
160
|
18
|
21
|
46.1
|
80.40
|
188
|
17
|
27
|
43.8
|
88.45
|
200
|
16
|
24
|
54.1
|
76.63
|
210
|
19
|
22
|
53.3
|
76.72
|
150
|
20
|
25
|
32.1
|
99.12
|
174
|
21
|
26
|
33.6
|
98.57
|
182
|
21
|
26
|
35.3
|
96.81
|
190
|
21
|
26
|
37.0
|
95.16
|
170
|
18
|
26
|
39.5
|
92.11
|
160
|
17
|
29
|
35.4
|
99.54
|
170
|
15
|
24
|
49.8
|
79.19
|
180
|
15
|
24
|
52.1
|
77.40
|
190
|
15
|
24
|
54.3
|
75.74
|
210
|
15
|
24
|
58.7
|
72.77
|
225
|
16
|
22
|
64.3
|
68.49
|
210
|
18
|
29
|
43.0
|
91.87
|
150
|
18
|
19
|
47.8
|
76.54
|
186
|
14
|
25
|
53.7
|
76.09
|
190
|
14
|
25
|
54.6
|
75.45
|
|