Синтез химико- технологической системы

Санкт-Петербургский государственный технологический институт (Технический университет)













Физико-математическое отделение                       Факультет_______6________



Кафедра математического моделирования           Курс_________4__________

и оптимизации химико-технологических             

процессов                                                                  Группа_______665________





Учебная дисциплина СИСТЕМНЫЙ АНАЛИЗ ХИМИЧЕСКИХ ТЕХНОЛОГИЙ







КУРСОВОЙ ПРОЕКТ





Тема СИНТЕЗ ХИМИКО-ТЕХНОЛОГИЧЕСКОЙ СИСТЕМЫ





















Студентка Дворникова Анастасия



Руководитель Гайков А.В.



Оценка за курсовой проект___________       _____________________

                                                                            (подпись руководителя)

Дата защиты проекта______________







Санкт-Петербург, 2009 год 

Техническое задание



Тема: синтез химико-технологической системы.

Номер варианта: 4.

Цель: синтезировать ХТС, работающую по нижеописанной технологии.

Исходные данные:

m=4   n =1   Все реакторы идеального вытеснения



t0=50 0 С,  t1=4150 С,  t2=4850 С,  t3=4100 С,  t4=4250 С,  t5=4050 С

 ta1=1800 С,  ta2= 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*CAa*CBb





В нашем случае скорость реакции в реакторе описывается уравнением:



Для определения скорости реакции по каждому веществу для многоступенчатых химических реакций составляется стехиометрическая матрица размером m на n, где m – число стадий, n – число компонентов.

Элементы матрицы соответствуют стехиометрическим коэффициентам, причем коэффициент будет отрицательным, если вещество расходуется и положительным, если вещество образуется.





А

B

C

I

-2

-1

2

Скорость по 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. Выводы



	В данной  курсовой работе были произведены следующие процессы оптимизации: 

 С помощью метода наименьших квадратов получили минимальные отклонения экспериментальных значений константы скорости химической реакции от расчетных для нахождения предэкспоненциального множителя k0 и энергии активации химической реакции Е. 

 С помощью метода наименьших квадратов получили минимальные отклонения экспериментальных значений константы равновесия от расчетных значений.

С помощью метода Брандона получили статическую модель абсорбера, а также рассчитали все потоки на входе и выходе из реакторов.



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

Таким образом, рассчитанная в данной курсовой работе химико-технологическая система обеспечивает эффективную реализацию заданной технологии.






Список литературы



	Методы и средства автоматизированного расчета химико-технологических систем / Кузичкин Н. В., Саутин С. Н., Пунин А. Е., Холоднов В.А., Шибаев В. А. – Л.: Химия, 1987. – 152с 

				Химико-технологические системы. Синтез, оптимизация и управление / Д. Бальцер, В. Вайсс, В. К. Викторов и др. / Под ред. И. П. Мухленова. – Л.: Химия, 1986. -424 с.  

				Синтез оптимальных тепловых систем. Метод. указания / ЛТИ им. Ленсовета. Л.,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













2