Автоматизация расчетов изменений термодинамических потенциалов в ходе химических реакций

Описывается программа для расчета изменений термодинамических потенциалов в ходе химических реакций, созданная на основе приложения Microsoft Access 2007 c процедурами vba. Построение графиков их температурной зависимости с помощью данной программы.

Рубрика Производство и технологии
Вид статья
Язык украинский
Дата добавления 20.04.2018
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

АВТОМАТИЗАЦИЯ РАСЧЕТОВ ИЗМЕНЕНИЙ ТЕРМОДИНАМИЧЕСКИХ ПОТЕНЦИАЛОВ В ХОДЕ ХИМИЧЕСКИХ РЕАКЦИЙ

А.А. Пушкин, кандидат физико-математических наук, старший научный сотрудник,

В.С. Римкевич, кандидат геолого-минералогических наук, старший научный сотрудник, заведующий лаборатории наукоемких технологий переработки минерального сырья, Институт геологии и природопользования Дальневосточного отделения Российской академии наук

В работе описывается программа для расчета изменений термодинамических потенциалов в ходе химических реакций, созданная на основе приложения Microsoft Access 2007 c процедурами vba. Помимо расчетов изменений термодинамических потенциалов программа позволяет строить графики их температурной зависимости. Программа использовалась для термохимических расчетов и определения направлений химических реакций, возникающих в процессах фторидной переработки алюмосиликатного сырья Верхнего Приамурья.

Ключевые слова: стандартные средства, объект приложения, форма, таблица, отчет, объект управления, процедура vba, программный код

The program of calculations of changes of thermodynamic potentials during chemical reactions created on the basis of Microsoft Access and used vba procedure are described in this article. Program is allowed to build graphics of these changes in addition to such calculations. Program was used for thermochemical calculations and for determination of durations of chemical reactions appeared during the processes of fluoride processing of raw materials of Upper Amur region.

Key words: standard tools, application object, form, table, report, object of control, vba procedure, program code

Введение. В связи с осложнением отношений России с западными странами одним из важных направлений её современного экономического развития является импортозамещение. Основная сырьевая проблема в алюминиевой отрасли связана с тем, что обеспеченность Российской алюминиевой промышленности высококачественными бокситами составляет 35 - 40% [1]. Остальная потребность в сырье покрывается за счет импорта глинозема из Австралии, Экваториальной Африки и Южной Америки.

В Амурском научном центре разработана фторидная технология переработки небокситового алюмосиликатного сырья, запасы которого в Амурской области велики. Кроме того, Амурская область обладает богатыми гидроресурсами (Зейская (1,3 ГВт) и Бурейская ГЭС (2 ГВт)), что может быть использовано для создания энергоемкого производства алюминия в Амурском регионе.

Основным алюмосиликатным сырьем, исследуемым в настоящий момент являются каолины Чалганского и кианиты Чимчанского месторождений. В процессе выбора оптимальных вариантов сырья или фторирующего реагента для данного технологического процесса, встает задача предварительного термодинамического расчета различных физико-химических равновесий с целью выявления оптимальных сочетаний реагентов. Такой расчет возможен и первоначально проводился нами с использованием приложения MicrosoftExcel [2]. Однако, в случае расчета при помощи приложения ME возникает проблема автоматизации расчетов, создания и обращения к базе данных. Существует специализированное приложение MicrosoftAccess, представляющее собой базу данных для хранения информации и допускающее возможность программируемой обработки данных. Автоматизация данных при помощи программы помимо облегчения расчетов обеспечивает повторяемость результатов вследствие исключения случайных ошибок. В связи с этим нами на основе приложения MicrosoftAccess 2007 разработана программа для проведения расчетов по термодинамике [3, 4]. Программа предназначена для определения при разных температурах направлений протекания и тепловых эффектов физико-химических реакций, которые могут быть положены в основу исследуемого технологического процесса [5].

Теоретическая часть. Поведение систем находящихся при постоянном давлении и температуре описывается изобарно-изотермическими потенциалами ДH и ?G. Самопроизвольное протекание изобарно-изотермического процесса определяется двумя факторами: энтальпийным, связанным с уменьшением энтальпии системы (ДH), и энтропийным TДS, обусловленным увеличением беспорядка в системе вследствие роста её энтропии. Разность этих термодинамических факторов является функцией состояния системы, называемой изобарно-изотермическим потенциалом или свободной энергией Гиббса G (кДж)

Из этого выражения следует, что

автоматизация расчет термодинамический химический

То есть, количество теплоты, которое расходуется при химической реакции, идет отчасти на увеличение энтропии T?S, отчасти может быть использовано на совершение работы ?G. В этом смысле первый член называется связанной энергией (т.к. он связан с той частью теплоты, которая рассеивается в окружающее пространство и не может быть использована для совершения работы), второй член представляет собой ту часть теплоты, которая может быть превращена в работу. Поэтому изменение потенциала Гиббса представляет собой работу в равновесном изотермическом процессе за вычетом работы против внешнего давления.

Направление протекания химической реакции определяется по изменению энергии Гиббса ?G в ходе реакции при данной температуре. Реакция протекает в прямом направлении, если изменение потенциала Гиббса в ходе реакции отрицательно ?G<0. В случае, если изменение потенциала Гиббса положительно ?G>0, то реакция идет в обратном направлении.

Тепловой эффект химической реакции представляет собой величину, которая может быть определена как количество теплоты Q или как изменение энтальпии ?Н. При этом они между собой связаны соотношением Q = - ?Н. В случае экзотермической реакции Q>0, ?Н<0, а в случае эндотермической Q<0, ?Н>0.

Тепловой эффект химической реакции по закону Гесса зависит только от природы и состояния исходных веществ и продуктов реакции, но не зависит от пути процесса, т.е. от числа и характера промежуточных стадий. В случае многостадийной химической реакции тепловые эффекты каждой из последовательных стадий суммируются и образуют тепловой эффект многостадийной реакции. Таким образом, для того, чтобы найти тепловой эффект химической реакции, многостадийной или одностадийной, необходимо из суммы энтальпий образования конечных продуктов реакции вычесть сумму энтальпий образования исходных продуктов [6].

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

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

Следовательно, вычисление значений термодинамических потенциалов при заданной температуре производится по формулам [3]:

(1)

где ?H2980, ?G2980 - изменения термодинамических потенциалов в ходе образования 1 моля данного вещества из простых веществ, т.е. разность между суммой значений потенциалов продуктов реакции и суммой значений исходных простых веществ в стандартных условиях (Т=298Ки р=1Бар); размерность (кДж/моль).

Cp0, S2980 - значения молярной теплоемкости при постоянном давлении и энтропии при стандартных условиях; размерность (Дж/ (моль*К)).

?HT, ?GT - изменения термодинамических потенциалов в ходе реакции при температуре Т, размерность (кДж).

Т - абсолютная температура в К.

Для химических реакций протекающих в идеальных газах и идеальных растворах константа равновесия представляет собой величину, которая определяет для данной химической реакции (А+В=АВ) соотношение между концентрациями и определяется по формуле [3]

(2)

при температуре Т рассчитывается по формуле

, (3)

где - универсальная газовая постоянная.

В случае, когда значения констант очень велики или очень малы удобно пользоваться логарифмом константы равновесия:

(4)

На основе формул (1) и (4) была составлена программа, описанная в работе [3].

В ряде случаев представляет интерес вопрос о температуре начала прямой реакции или о температуре равновесия. Температуру начала реакции Tb найдем из следующего условия

(5)

Точность значений потенциалов ?G, ?H в таблицах стандартных термодинамических потенциалов составляет д(?G2980) ? д(?H2980) ? 0,1кДж/моль, их производных д(?S2980) ? д (?C2980) ? 1Дж/(моль*К).

Тогда, пренебрегая членами вида 0,001*дТ*ДS0298, 0,001*298*ДS0298 по сравнению с членом 0,001*ДS0298*Т точность вычисленных значений составляет

(6)

Реализация вычислений на основе Microsoft Access

На конференциях в Апатитах [3] и в Благовещенске [4] сообщалось о программе, реализованной на основе приложения MicrosoftAccess 2003 c использованием стандартных средств. В настоящий момент программа усовершенствована, преобразована в формат MicrosoftAccess 2007 с использованием процедур vba. Окно программы с раскрытой формой Потенциалы имеет вид, показанный на Рис. 1. В области переходов программы содержатся ярлыки 6 объектов Access, которые используются для работы программы: форма Потенциалы для расчетов, таблица Вход_тп для ввода данных и Выход_тп для вывода данных, а также таблица Потенциалы, содержащая значения термодинамических потенциалов и их производных при стандартных условиях 250С и давлении р = 1 Бар для 150 веществ, наиболее часто встречающихся в реакциях с участием алюмосиликатов.

Отчет Графики_Потенциалы служит для вывода данных в графической форме: кривые температурных зависимостей изменений энтальпии и потенциала Гиббса, а также логарифма константы равновесия. Отчет Потенциалы выводит информацию о всех величинах, вычисляемых в форме Потенциалы, в табличном виде.

На Рис. 1 показана форма Потенциалы, раскрытая в окне программы Потенциалы. В области заголовков формы Потенциалы находятся заголовки полей, а в области данных - поля, через которые осуществляется ввод данных в программу. Поскольку исходными данными для расчета является уравнение химической реакции с уравненными стехиометрическими коэффициентами, то перед расчетом необходимо ввести данные о веществах - реагентах и продуктах, а также обеих стехиометрических коэффициентах. Поля со списком Реагент и Продукт формы Потенциалысвязаны с полями со списком Реагент и Продукт таблицы Вход_тп (Рис. 2).

Рис. 1 - Окно программы Потенциалы в формате MicrosoftAccess 2007 - 2010 с раскрытой формой Потенциалы в Режиме формы.

А)

Б)

Рис. 2 - Таблица Вход_тп: А) в Режиме таблицы, Б) в режиме Конструктор

Поле Вещество таблицы Потенциалы (Рис. 3) является столбцом подстановки для этих двух полей со списками. Через поля со списками осуществляется выборка необходимых названий веществ, находящихся в поле Вещество таблицы Потенциалы. Эти значения заносятся в таблицу Вход_тп. Стехиометрические коэффициенты вводятся через поля ввода СКР и СКП формы Потенциалы в таблицу Вход_тп.

Таблица Потенциалы содержит значения термодинамических потенциалов ДH и ДG, а также производных термодинамических потенциалов Ср и Sp при стандартных условиях.

Рис. 3 - Окно программы Потенциалы с раскрытой таблицей Потенциалы

Таблица содержит данные о 150 веществах, наиболее часто использующихся в ходе фторидной переработки алюмосиликатов. Таблица содержит 6 полей: поле №№ с порядковыми номерами веществ в таблице, поля Вещество, Н(кДж/моль), С(Дж/моль*К), S(Дж/моль*К), G(кДж/моль).

В области примечаний формы Потенциалы содержатся вычисляемые поля. Программа вычисляет значения изменений термодинамических потенциалов (энтальпии и энергии Гиббса) в ходе реакции и погрешностей их вычисления, значений логарифмов константы равновесия при различных температурах. При этом программа предоставляет возможность расчета для одиннадцати температур, начиная со стандартной 250С, и далее, с шагом 1000С, от 1000С до 10000C.

Помимо стандартного ряда температур программа позволяет проводить вычисления для 10 произвольных температур, включая отрицательные. Переключение к режиму произвольного выбора температур осуществляется установкой указателя Выбор Т на форме Потенциалы.

Кнопка Погрешности позволяет отменить вывод полей погрешностей вычисления изменений потенциалов на экран.

А)

Б)

Рис. 4 - А) Таблица Выход_тп и Б) Отчет Потенциалы в окне программы Потенциалы.

Температура начала реакции помещается в поле Начало реакции, С. Значения вычисляемых в форме полей заносятся также в таблицу Выход_тп (Рис. 4а), на основе которой составлен отчет Потенциалы (Рис. 4б). Отчет раскрывается нажатием кнопки Вывод на форме Потенциалы.

Кнопка Графики позволяет построить температурные зависимости изменений энтальпии и потенциала Гиббса, а также логарифма константы равновесия. Нажатием данной кнопки раскрывается отчет. Построение графиков осуществляется нажатием кнопки Построить в отчете Графики_Потенциалы. Для построения графика используется встроенная диаграмма Excel с подключенной Библиотекой Microsoft Excel 14.0 Object Library. Значения изменений энтальпии и потенциала Гиббса откладываются по основной оси, а логарифма константы равновесия по вспомогательной.

Рис. 5 - Отчет Графики_Потенциалы в коне программы Потенциалы.

Управление объектами осуществляется при помощи объектов управления Кнопка. Эти кнопки расположены в форме Потенциалы и в отчете Графики_Потенциалы. События, вызываемые нажатиями кнопок, управляются при помощи процедур vba.

Нажатие кнопки Вычислить на форме Потенциалы вызывает заполнение вычисляемых полей формы. При этом флажок Выбор_Т должен быть опущен. Вычисления осуществляются в соответствии с процедурой Вычислить:

Private Sub Вычислить_Click ()

Dim nr As Integer, np As Integer, ns As Integer, n1 As Integer, n2 As Integer, i As Integer, k As Integer, _

Sum_skAs Integer, Sum_skr As Integer, Sum_skp As Integer, _

arr_H_0_r () As Double, arr_H_0_p () As Double, arr_G_0_r () As Double, arr_G_0_p () As Double, _

arr_C_r () As Double, arr_S_r () As Double, arr_C_p () As Double, arr_S_p () As Double, _

arr_skr () As Double, arr_skp () As Double, _

arr_matr () As String, arr_matp () As String, FNameAs String, _

db As Database, rs As DAO.Recordset, output As DAO.Recordset, potence As DAO.Recordset, _

deltaH As Double, deltaH_r As Double, deltaH_p As Double, _

deltaG As Double, deltaG_r As Double, deltaG_p As Double, _

deltaC As Double, deltaC_r As Double, deltaC_p As Double, _

deltaS As Double, deltaS_r As Double, deltaS_p As Double, _

arr_Temp (1 To 11) As Double, arr_enthalp (1 To 11) As Double, _

arr_gibbs (1 To 11) As Double, arr_lnk (1 To 11) As Double, _

arr_H_inac (1 To 11) As Double, arr_G_inac (1 To 11) As Double, TempBeginAs Double

Set db = CurrentDb

Set rs = db.OpenRecordset (“вход_тп”)

Set potence = db.OpenRecordset (“Потенциалы”)

Set output = db.OpenRecordset (“Выход_тп”)

`Выборка данных из таблицы Вход_тп

n1 = DCount(“Реагент”, “Вход_тп”)

n2 = DCount(“Продукт”, “Вход_тп”)

nr = DCount(“Реагент”, “Вход_тп”, “СКР > 0”)

np = DCount(“Продукт”, “Вход_тп”, “СКП > 0”)

ns = DCount(“Вещество”, “Потенциалы”)

Debug.Print “n1 = ” & n1

Debug.Print “nr= ”&nr

Debug.Print “n2 = ”& n2

Debug.Print “np = ”& np

Debug.Print “ns = ”& ns

Debug.Print “”

rs.MoveFirst

rs.MoveNext

ReDimarr_skr (1 To n1) As Double

For i = 1 To n1

arr_sk r (i) = rs.Fields (2)

Debug.Print “arr_skr (i) = ”&arr_skr (i)

rs.MoveNext

Next i

Debug.Print”

rs.MoveFirst

ReDimarr_skp (1 To n2) As Double

For i = 1 To n2

arr_skp (i) = rs.Fields (4)

Debug.Print “arr_skp (i) = ”&arr_skp (i)

rs.MoveNext

Next i

Debug.Print “”

rs.MoveFirst

rs.MoveNext

ReDimarr_matr (1 To n1) As String

For i = 1 To n1

arr_matr (i) = rs.Fields (1)

Debug.Print “arr_matr (i) = ”&arr_matr (i)

rs.MoveNext

Next i

Debug.Print “”

rs.MoveFirst

ReDimarr_matp (1 To n2) As String

For i = 1 To n2

arr_matp (i) = rs.Fields (3)

Debug.Print “arr_matp (i) = ”&arr_matp (i)

rs.MoveNext

Next i

Debug.Print “”

`Выборка данных из таблицы Потенциалы

rs.MoveFirst

ReDim arr_H_0_r (1 To ns) As Double

For k = 1 To n1

potence.MoveFirst

For i = 1 To ns

If arr_matr (k) = potence.Fields (1) Then arr_H_0_r (k) = potence.Fields (2)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_H_0_r (k) = ”& arr_H_0_r (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDimarr_C_r (1 To ns) As Double

For k = 1 To n1

potence.MoveFirst

For i = 1 To ns

If arr_matr (k) = potence.Fields (1) Then arr_C_r (k) = potence.Fields (3)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_C_r (k) = ”&arr_C_r (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDimarr_S_r (1 To ns) As Double

For k = 1 To n1

potence.MoveFirst

For i = 1 To ns

If arr_matr (k) = potence.Fields (1) Then arr_S_r (k) = potence.Fields (4)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_S_r (k) = ”&arr_S_r (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDim arr_G_0_r (1 To ns) As Double

For k = 1 To n1

potence.MoveFirst

For i = 1 To ns

If arr_matr (k) = potence.Fields (1) Then arr_G_0_r (k) = potence.Fields (5)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_G_0_r (k) = ”& arr_G_0_r (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDim arr_H_0_p (1 To ns) As Double

For k = 1 To n2

potence.MoveFirst

For i = 1 To ns

If arr_matp (k) = potence.Fields (1) Then arr_H_0_p (k) = potence.Fields (2)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_H_0_p (k) = ”& arr_H_0_p (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDim arr_C_p (1 To ns) As Double

For k = 1 To n2

potence.MoveFirst

For i = 1 To ns

If arr_matp (k) = potence.Fields (1) Then arr_C_p (k) = potence.Fields (3)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_C_p (k) = ”& arr_C_p (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDim arr_S_p (1 To ns) As Double

For k = 1 To n2

potence.MoveFirst

For i = 1 To ns

If arr_matp (k) = potence.Fields (1) Then arr_S_p (k) = potence.Fields (4)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_S_p (k) = ”& arr_S_p (k)

Next k

Debug.Print “”

rs.MoveFirst

ReDim arr_G_0_p (1 To ns) As Double

For k = 1 To n2

potence.MoveFirst

For i = 1 To ns

If arr_matp (k) = potence.Fields (1) Then arr_G_0_p (k) = potence.Fields (5)

potence.MoveNext

Next i

rs.MoveNext

Debug.Print “arr_G_0_p (k) = ”& arr_G_0_p (k)

Next k

Debug.Print “”

`Вычисления приращений потенциалов и суммы модулей Стех. Коэффициентов при температуре 25град.С

deltaH_r = 0

For i = 1 To n1

deltaH_r = deltaH_r + (arr_skr (i) * arr_H_0_r (i))

Next i

deltaH_p = 0

For i = 1 To n2

deltaH_p = deltaH_p + (arr_skp (i) * arr_H_0_p (i))

Next i

deltaH = deltaH_p - deltaH_r

Debug.Print “deltaH = ” & deltaH

deltaG_r = 0

For i = 1 To n1

deltaG_r = deltaG_r + (arr_skr (i) * arr_G_0_r (i))

Next i

deltaG_p = 0

For i = 1 To n2

deltaG_p = deltaG_p + (arr_skp (i) * arr_G_0_p (i))

Next i

deltaG = deltaG_p - deltaG_r

Debug.Print “deltaG = ” & deltaG

deltaC_r = 0

For i = 1 To n1

deltaC_r = deltaC_r + (arr_skr (i) * arr_C_r (i))

Next i

deltaC_p = 0

For i = 1 To n2

deltaC_p = deltaC_p + (arr_skp (i) * arr_C_p (i))

Next i

deltaC = 0.001 * (deltaC_p - deltaC_r)

Debug.Print “deltaC = ” & deltaC

deltaS_r = 0

For i = 1 To n1

deltaS_r = deltaS_r + (arr_skr (i) * arr_S_r (i))

Next i

deltaS_p = 0

For i = 1 To n2

deltaS_p = deltaS_p + (arr_skp (i) * arr_S_p (i))

Next i

deltaS = 0.001 * (deltaS_p - deltaS_r)

Debug.Print “deltaS = ” & deltaS

Sum_skr = 0

For i = 1 To n1

Sum_skr = Sum_skr + Abs (arr_skr (i))

Next i

Sum_skp = 0

For i = 1 To n2

Sum_skp = Sum_skp + Abs (arr_skp (i))

Next i

Sum_sk = Sum_skr + Sum_skp

Debug.Print “Sum_sk = ” & Sum_sk

Debug.Print “”

`Заполнение полей температуры'

IfMe.FlagThen

For i = 1 To 11

FName = “F1” & CStr (i)

arr_Temp (i) = Me.Controls (FName)

Debug.Print “arr_Temp (i) = ” & arr_Temp (i)

Next i

Else

For i = 1 To 11

If i = 1 Then arr_Temp (i) = 25 Else: arr_Temp (i) = 100 * (i - 1)

Debug.Print “arr_Temp (i) = ” & arr_Temp (i)

FName = “F1” & CStr (i)

Me.Controls (FName).Value = arr_Temp (i)

Next i

End If

Debug.Print “”

`Заполнение полей приращений энтальпии

For i = 1 To 11

If i = 1 Then arr_enthalp (i) = deltaH Else: arr_enthalp (i) = deltaH + deltaC * (arr_Temp (i) - 25)

Debug.Print “arr_enthalp (i) = ” & arr_enthalp (i)

FName = “F2” & CStr (i)

Me.Controls (FName).Value = arr_enthalp (i)

Next i

Debug.Print “”

`Заполнение полей погрешностей приращений энтальпии

For i = 1 To 11

arr_H_inac (i) = Abs (Sum_sk * (0.1 + 0.001 * (arr_Temp (i) + 273)) / arr_enthalp (i))

Debug.Print “arr_H_inac (i) = ” & arr_H_inac (i)

FName = “F3” & CStr (i)

Me.Controls (FName).Value = arr_H_inac (i)

Next i

Debug.Print “”

`Заполнение полей приращений потенциала Гиббса

For i = 1 To 11

If i = 1 Then arr_gibbs (i) = deltaG Else: arr_gibbs (i) = deltaG - deltaS * (arr_Temp (i) - 25)

Debug.Print “arr_gibbs (i) = ” & arr_gibbs (i)

FName = “F4” & CStr (i)

Me.Controls (FName).Value = arr_gibbs (i)

Next i

Debug.Print “”

`Заполнение полей погрешностей приращений потенциала Гиббса

For i = 1 To 11

arr_G_inac (i) = Abs (Sum_sk * (0.1 + 0.001 * (arr_Temp (i) + 273)) / arr_gibbs (i))

Debug.Print “arr_G_inac (i) = ” & arr_G_inac (i)

FName = “F5” & CStr (i)

Me.Controls (FName).Value = arr_G_inac (i)

Next i

Debug.Print “”

`Заполнение полей логарифма константы скорости

For i = 1 To 11

arr_lnk (i) = (-arr_gibbs (i)) / (0.001 * 8.31 * (arr_Temp (i) + 273))

Debug.Print “arr_lnk (i) = ” & arr_lnk (i)

FName = “F6” & CStr (i)

Me.Controls (FName).Value = arr_lnk (i)

Next i

Debug.Print “”

`Заполнение поля температуры начала реакции

TempBegin = 25 + (deltaG / deltaS)

Debug.Print “TempBegin = ” & TempBegin

F711.SetFocus

F711.Value = TempBegin

Debug.Print “”

`Заполнение таблицы Выход_тп

output.MoveFirst

For i = 10 To 70 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (1) = Me.Controls (FName).Caption

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 11 To 71 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (2) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 12 To 72 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (3) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 13 To 73 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (4) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 14 To 74 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (5) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 15 To 75 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (6) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 16 To 76 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (7) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 17 To 77 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (8) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 18 To 78 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (9) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 19 To 79 Step 10

output.Edit

FName = “F” & CStr (i)

output.Fields (10) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 110 To 710 Step 100

output.Edit

FName = “F” & CStr (i)

output.Fields (11) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

output.MoveFirst

For i = 111 To 711 Step 100

output.Edit

FName = “F” & CStr (i)

output.Fields (12) = Me.Controls (FName).Value

output.Update

output.MoveNext

Next i

EndSub

В процессе выполнения процедуры Вычислить заполняются все вычисляемые поля формы, а также таблица Выход_тп. Если необходимости в погрешностях на экране монитора нет, то поля с погрешностями могут быть убраны при помощи нажатия кнопки Погрешности. Нажатие этой кнопки вызывает запуск одноименной процедуры:

PrivateSubПогрешности_Click ()

Dim str As String, i As Integer

If F30.Visible = True Then

For i = 0 To 11

str = “F3” & CStr (i)

Me.Controls (str).Visible = False

Next i

For i = 0 To 11

str = “F5” & CStr (i)

Me.Controls (str).Visible = False

Next i

Else

For i = 0 To 11

str = “F3” & CStr (i)

Me.Controls (str).Visible = True

Next i

For i = 0 To 11

str = “F5” & CStr (i)

Me.Controls (str).Visible = True

Next i

End If

End Sub

Нажатием кнопки Графики раскрывается отчет Графики_Потенциалы. Построение графиков зависимости ДH, ДG и LnKp от температуры осуществляется по данным таблицы Выход_тпнажатием кнопки Построить на отчете Графики_Потенциалы. Кроме того, при нажатии этой кнопки, осуществляется вывод графиков и их сохранение в формате png. При нажатии кнопки Построить выполняется одноименная процедура: PrivateSubПостроить_Click ()

Dim exc As Excel.Workbook, chrt As Excel.Chart

Dim i As Integer, A As Integer, B As Integer, C As Integer

Set exc = Exc_Potentials.Object

exc.Worksheets (“Sh1”).Range (“A1:D12”) = “”

Set chrt = exc.ActiveChart

Dim db As Database, output As DAO.Recordset

Set db = CurrentDb

Set output = db.OpenRecordset (“Выход_тп”)

output.MoveFirst

For i = 1 To 12

exc.Worksheets (“Sh1”).Cells (i, 1) = output.Fields (i)

Next i

output.MoveNext

For i = 1 To 12

exc.Worksheets (“Sh1”).Cells (i, 2) = output.Fields (i)

Next i

output.MoveNext

output.MoveNext

For i = 1 To 12

exc.Worksheets (“Sh1”).Cells (i, 3) = output.Fields (i)

Next i

output.MoveNext

output.MoveNext

For i = 1 To 12

exc.Worksheets (“Sh1”).Cells (i, 4) = output.Fields (i)

Next i

Exc_Potentials.Object.Save

chrt.Export FileName:=”D:\Потенциалы.Графики.png”, filtername:=”PNG”

EndSub

Вывод отчета Потенциалы, который содержит данные расчетов в табличном виде, осуществляется нажатием кнопки Вывод путем выполнения процедуры Вывод: PrivateSubВывод_Click ()

DoCmd.OpenReport “Потенциалы”, acViewReport

End Sub

Результаты расчетов. Программа использовалась для расчетов термодинамических параметров различных физико-химических реакций, использующихся в процессе переработки минерального сырья Верхнего Приамурья. В табл. 2 приведены результаты расчетов ряда реакций: фторирования каолина гидродифторидом аммония, сублимации, пирогидролиза, гидролизациигексафторсиликата аммония аммиачной водой и трех реакций регенерации гидродифторида аммония [7].

Из данных Табл. 1 по рассчитываемым значениям изменения потенциала Гиббса следует вывод, что реакция №1 идет при всех температурах исследуемого диапазона. Реакции №2, №3 и №7 при комнатной температуре в прямом направлении не идут, а начинаются при более высоких температурах (реакция №2 при Т = 3060С, №3 при Т = 3170С, №7 при Т=280С). Указанные в скобках температуры, при которых происходит изменение направлений этих реакций, вычисляются по формуле (5). Реакции №4, №5 и №6 при комнатной температуре идут в прямом направлении, но прекращаются при более высокой температуре1, следовательно, при высоких температурах эти реакции идут в обратном направлении.

Таблица 2 - Расчетные значения термодинамических параметров ряда реакций

Заключение

В работе описывается программа, созданная на базе приложения MicrosoftAccess 2007 - 2010 c использованием процедур vba. Использование процедур vba придает программе значительную гибкость и облегчает интерфейс по сравнению с первыми версиями программы, использующими стандартные средства автоматизации. Программа позволяет проводить расчеты термодинамических параметров реакций, строить графики их зависимостей от температуры, а также оценивать погрешности их вычислений.

Литература

1. Сизяков В.М. Состояние и проблемы развития алюминиевой промышленности России в условиях переходного периода (литературный обзор) // Цветные металлы. - 2000. - № 11-12. - С. 29-33.

2. В.С.Римкевич, А.А.Пушкин, Ю.Н.Маловицкий, И.В.Гиренко. Изучение процессов фторидной переработки кремнеземсодержащего сырья. Журнал прикладной химии. - 2011. - Т. 84. - Вып. 3. - С. 353 - 358.

3. А.А.Пушкин, В.С.Римкевич, Ю.Н.Маловицкий, Р.В.Белов. Автоматизация расчетов термодинамических равновесий в процессе переработки алюмосиликатного сырья по фторидной технологии. Труды V Всероссийской научной школы. «Математические исследования в естественных науках». 12-14 октября 2009г. - Апатиты: изд. ГИ КНЦ РАН, 2009. - С. 225-228.

4. А.А.Пушкин, В.С.Римкевич. Автоматизация термодинамических расчетов в процессах фторидного обогащения алюмосиликатного сырья. Сборник докладов Второй Всероссийской научной конференции «Вопросы геологии и комплексного освоения природных ресурсов Восточной Азии». - Благовещенск. - 15 - 16 октября 2012г. - С. 280 - 283.

5. А.А.Пушкин, М.А.Леонтьев. Программа для расчета термодинамических величин на основе приложения MicrosoftAccess Математические исследования в естественных науках. Труды IX Всероссийской научной школы. Апатиты, Геологический институт Кольского НЦ РАН, Кольское отделение РМО, 10-11 октября 2013 г. /Ред. Ю.Л. Войтеховский. - Апатиты: Изд-во K & M, 2013. - c. 68 - 72.

6. Ахметов Н.С. Общая и неорганическая химия. - М.: Высшая школа, 1988

7. Римкевич В.С., Пушкин А.А., Маловицкий Ю.Н., Еранская Т.Ю., Гиренко И.В. Синтез и свойства наночастиц аморфного SiO2. Неорганические материалы. - 2012. - Т. 48. - № 4. - С. 423 - 428.

Размещено на Allbest.ru


Подобные документы

  • Методика расчета термодинамических характеристик рабочего тела. Вычисление значений термодинамических параметров в узловых точках цикла, характеристик процессов. Построение цикла в заданных системах координат. Термодинамические характеристики цикла.

    курсовая работа [678,1 K], добавлен 12.07.2011

  • Переработка промышленных отходов как процесс удаления бесполезных либо вредных материалов, образующихся в ходе промышленного производства. Горючие отходы химических производств, направления и перспективы их использования. Сущность и этапы утилизации.

    контрольная работа [4,4 M], добавлен 04.01.2014

  • Определение производительности ректификационной установки по дистилляту и кубовому остатку. Расчет минимального и действительного флегмового числа. Определение средних значений параметров по колонне, физико-химических и термодинамических констант фаз.

    курсовая работа [270,2 K], добавлен 12.11.2014

  • Применение химических или физико-химических процессов переработки природных и синтетических высокомолекулярных соединений (полимеров) при производстве химических волокон. Полиамидные и полиэфирные волокна. Формования комплексных нитей из расплава.

    дипломная работа [1,5 M], добавлен 20.11.2010

  • Постановка задачи расчета вала. Определение силы реакций в подшипниках, эпюры на сжатых волокнах. Построение эпюры крутящих моментов. Определение суммарных реакций в подшипниках, их грузоподъемности по наиболее нагруженной опоре и его долговечности.

    курсовая работа [111,3 K], добавлен 26.01.2010

  • Изучение промышленных способов получения металлов. Электрометаллургия - под действием электрического тока. Гидрометаллургия - на основе химических реакций в растворах. Пирометаллургия - при высоких температурах. Металлотермия - выделение из оксидов.

    презентация [3,8 M], добавлен 31.01.2012

  • Химико-технологические процессы, в которых основную роль играет перенос вещества из одной фазы в другую (массообменные). Разность химических потенциалов как движущая сила массообменных процессов. Использование массообменных процессов в промышленности.

    презентация [241,5 K], добавлен 10.08.2013

  • Классификация реакций твердых тел. Предположения термодинамической теории твердофазных реакций. Метод свободной поверхности и реакции обмена. Атомные механизмы на границе раздела фаз. Синтез углеродных нанотрубок и образование коллоидных кластеров.

    презентация [956,7 K], добавлен 22.10.2013

  • Исследование равновесия плоских шарнирных ферм, определение реакций внешних связей. Определение усилий в стержнях фермы методом вырезания узлов и методом Риттера. Система уравнений для определения реакций внешних и внутренних связей, значения реакций.

    курсовая работа [907,0 K], добавлен 12.10.2009

  • Разработка поточной схемы нефтеперерабатывающего завода по переработке нефти. Производство серосодержащих вяжущих из мазута как основное направление деятельности предприятия. Основные типы химических реакций при взаимодействии нефтяных остатков с серой.

    дипломная работа [2,6 M], добавлен 13.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.