Главная » Программы » Обратная задача равновесия » SpectroCalc-H5A
SpectroCalc-H5A позволяет рассчитывать константы диссоциации кислот на основе спектофотометрического анализа.
Особенности программы:
Работа с программой хорошо описана в справке на украинском языке, прилагаемой к программе. Ее перевод на русский мы приводим ниже.
Компьютерная программа
SpectroCalc-H5A ®
(c) 2006-2011 Львовский национальный университет имени Ивана Франко
Игорь Пацай (программирование, алгоритм, тестирование)
Елена Совин (алгоритм, редактирование, апробация на смоделированных и реальных системах)
http://chem.lnu.edu.ua/spectrocalc/index.htm
СОДЕРЖАНИЕ
Эта программа предназначена для математической обработки серии спектров окрашенного соединения с целью определения его констант кислотности (Ка1, Кa2 ... до Ка5) и спектральных характеристик отдельных форм кислоты (Н5А, Н4А- ... А5-).
Программа не требует инсталляции и не ассоциирует себя в реестре Windows ни с одним типом файлов. Описание файлов:
- Ka.exe - основной файл программы
- Msvbvm50.dll - файл динамической библиотеки Visual Basic 5 (если ваша система Windows уже имеет этот файл, то его можно удалить)
- help.doc - текстовый файл Word, который Вы сейчас читаете :-)
- data.mdf - файл с входными данными (спектрами при различных рН - см. далее)
- test.xls - файл Excel с математически смоделированными системами различной сложности (различные типы кислот, различные спектры форм, значение Ка). Эти данные можно использовать для изучения работы программы (см. далее).
Входные данные. Формат файла data.mdf
Входные данные, с которыми работает программа, это спектры растворов окрашенного вещества при различном рН. Важно, чтобы эти растворы отличались только значениями рН, а все остальные параметры (концентрация вещества, ионная сила и т.д.) должны быть одинаковыми - от этого зависит правильность результатов расчета. Эти спектры вы должны представить в виде таблицы следующего формата:
С, моль/л pH1 pH2 pH3 pH4 pH5 pH6 . pHn λ1 A A A A A A . A λ2 A A A A A A . A λ3 A A A A A A . A λ4 A A A A A A . A ... ... ... ... ... ... ... ... ... λm A A A A A A . A где А - оптическая плотность,
pHi - значение рН i-го раствора,
C - молярная концентрация вещества в каждом растворе,
λi - длины волн.Итак, первая строка - это информация о растворах (их рН и концентрация вещества). Остальные строки - это спектры, причем в первом столбце указывается значение длины волны, а в других - значение оптической плотности. Диапазон значений рН (рН1 - рНn) должен охватывать все значения рКа исследуемого вещества. Например, если вещество трехосновная кислота со значениями рКа 3, 8 и 10, а вы измерили спектры только в диапазоне рН 7-12, то значение рКа1 будет "потеряно", вы сможете найти только дведругие константы.
Последовательность спектров должна быть (желательно) от самого низкого рН до высокого. Количество спектров (n) - чем больше, тем лучше (но не более 50).
Количество точек в каждом спектре (m) не должно превышать 1000. Диапазон длин волн (λ1- λm) должен охватывать полосы поглощения всех форм кислоты. Последние участки спектра, где отсутствует поглощение, желательно удалить - это уменьшит время расчета. Например, вы измерили спектры всех растворов в диапазоне λ 350-900 нм и увидели, что при λ > 750 поглощение отсутствует (для всех растворов). В таком случае нижнюю часть таблицы с λ 750-900 нм желательно удалить (уменьшить количество строк).
Вот пример правильно оформленной таблицы * (обратите внимание на научный формат цифр: 2.45Е-5 означает 2,45·10-5):
2.45E-5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 320 0.067 0.056 0.037 0.017 0.006 0.002 0 0 0 0 0 0 340 0.142 0.118 0.078 0.037 0.013 0.004 0 0 0 0 0 0 360 0.182 0.152 0.101 0.049 0.019 0.007 0.002 0 0 0 0 0 380 0.143 0.122 0.085 0.047 0.025 0.015 0.008 0.004 0 0 0 0 400 0.072 0.068 0.062 0.055 0.049 0.04 0.026 0.012 0.004 0 0 0 420 0.029 0.042 0.065 0.086 0.093 0.081 0.054 0.026 0.009 0.003 0 0 440 0.016 0.036 0.071 0.105 0.117 0.105 0.071 0.035 0.014 0.006 0.002 0 460 0.01 0.026 0.055 0.081 0.092 0.085 0.063 0.04 0.025 0.017 0.01 0.005 480 0.005 0.012 0.026 0.04 0.048 0.054 0.058 0.061 0.059 0.05 0.033 0.016 500 0 0.004 0.008 0.014 0.024 0.044 0.077 0.107 0.118 0.104 0.07 0.033 520 0 0 0.002 0.006 0.017 0.044 0.09 0.134 0.15 0.134 0.09 0.044 540 0 0 0 0.003 0.012 0.033 0.07 0.104 0.118 0.106 0.075 0.041 560 0 0 0 0.002 0.006 0.016 0.033 0.05 0.058 0.058 0.051 0.043 580 0 0 0 0 0.002 0.005 0.01 0.016 0.022 0.032 0.048 0.062 600 0 0 0 0 0 0 0.002 0.005 0.011 0.026 0.051 0.075 620 0 0 0 0 0 0 0 0.002 0.007 0.019 0.039 0.058 640 0 0 0 0 0 0 0 0 0.003 0.009 0.019 0.029 660 0 0 0 0 0 0 0 0 0 0.003 0.006 0.012 680 0 0 0 0 0 0 0 0 0 0 0.002 0.007 700 0 0 0 0 0 0 0 0 0 0 0 0.005 * Это математически смоделированные спектры трехосновной кислоты Н3А со значениями рКа 3.0; 5.0 и 7.0. Для экономии места эту табличку упростили - шаг по λ увеличили до 20. Реально спектры меряют с меньшим шагом - преимущественно 1-2 нм. Главное, чтобы количество точек в спектре (кол-во строк таблицы) не превышала 1000. В противном случае программа проигнорирует избыточные точки.
Входные данные можно вводить в программу двумя способами:
Способ "копировать / вставить" (Copy / Paste). Табличка с входными данными сохраняется в файле удобной для вас программы (Excel, Origin, Word и т.д. - главное, чтобы формат этой таблицы был правильный - см. выше). Вы открываете этот файл, выделяете все ячейки этой таблицы, выбираете команду "Копировать" (Copy), а затем в нашей программе - жмете кнопку "Вставить". Если формат таблицы и данных в ней был правильный, то спектры успешно перенесутся в программу. Визуально вы это увидите в левом окне (программа выводит измеренные спектры черным цветом). Попробуйте таким образом переносить данные с нашего файла test.xls.
Способ через файл data.mdf. Табличка с входными данными находится в обычном текстовом файле data.mdf (он должен быть в той же папке, где программа). В этом случае для ввода данных в программе следует нажать кнопку "Извлечь с data.mdf". Этот способ тоже довольно удобен. Мы рекомендуем сохранять результаты каждого эксперимента (серию спектров) в отдельной папке жесткого диска, где помимо всех необходимых файлов создать также и файл data.mdf (это можно сделать в обычном блокноте - notebook). Перед расчетом файл data.mdf следует скопировать в папку с программой.
(На примере H3A из файла test.xls)
После внесения в программу входных данных необходимо определиться с типом кислоты, которую вы исследуете, ее основностью, а точнее количеством степеней протолиза в заданном диапазоне рН. Лишние Ка следует "обнулить". Например, если кислота является трехосновной (Н3А), то две последние константы приравнивают нулю. Для этого в программе следует поставить "галочки" в соответствующие чекбоксы:
А как же узнать основность кислоты? Сориентироваться с этим поможет график зависимости "dA/dpH - pH". В идеале количество максимумов и их положение указывает на количество рКа и их значения:
Из приведенного выше графика можно предположить, что исследуемая кислота является трехосновной (имеем 3 степени кислотного протолиза в исследуемом диапазоне рН и, соответственно, 3 значения рКа). Если же это трудно выяснить, то можно попробовать выполнить расчет для всех типов кислот, начиная от односновной: НА, Н2А и т.д. На правильный вариант укажет наилучшее соответствие между экспериментальными и рассчитанными спектрами.
Можно попробовать еще один способ - выполнять расчет для HA (одно рКа) выделяя ограниченное количество (3-4) последовательных спектров (с близким рН), которые имеют четко выраженные изобестические точки. Так можно найти количество рКа и их приблизительные значения:
В программе реализовано три метода расчета констант кислотности:
1. Оптимизация значений рКа. Этот метод заключается в постепенном изменении начальных значений рКа до тех пор, пока не будет найдено их оптимальные значения. Критерием оптимальности является наименьшее значение s (A) - стандартного отклонения оптической плотности, которое определяется по формуле:
`s(A) = sqrt((sum(A_e - A_p)^2) / n)`
где Ае - экспериментально измеренные оптические плотности;
Ар - рассчитаные оптические плотности;
n - общее количество точек на всех спектрах.Иначе говоря, критерий оптимальности - это наименьшая разница между экспериментальные измеренным спектрам и рассчитанными.
Перед запуском расчета по этому методу следует сначала указать начальные значения рКа (в желтых ячейках). Желательно, чтобы они были близки к истинным, поэтому здесь тоже стоит руководствоваться зависимостью "dA/dpH - pH", которая дает возможность оценить приблизительные значения рКа (подведите курсор мыши к максимуму на этой кривой и увидите значение рКа):
Алгоритм поиска значений рКа основывается на авторском методе оптимизации - МОИ (метод оптимальных изменений). Если описать одним предложением, то этот метод заключается в поиске оптимального вектора движения точки с координатами (рКа1, рКа2 ... рКаn) в n-мерном пространстве с постепенным уменьшением "длины" вектора до требуемой точности значений рКа, которым соответствует точка минимума функции s(A).
2. Автоперебир 1/5. Этот метод основан на алгоритме перебора возможных значений рКа с постепенным сужением шага и диапазона поиска. Начальный диапазон для каждой рКа является 1 ... 13, а начальный шаг равен 3 (то есть диапазон разбит на 5 значений: 1, 4, 7, 10, 13 - отсюда и название метода "1/5"). Краткое описание алгоритма:
- перебор всех возможных 5n комбинаций значений рКа и расчет функции s (A) для каждой из них;
- выбор оптимальной комбинации (для нее s (A) является наименьшим);
- уменьшение шага и диапазона вдвое. Если шаг еще не достиг нужного минимума (0,001), то происходит переход на первый пункт.В процессе расчета по этому методу программа выводит текущие значения диапазона поиска и шага для каждой рКа:
3. Ручной перебор. Этот метод очень похож на предыдущий, но и диапазон и шаг поиска вы задает сами (для каждой рКа). Поэтому, перед запуском расчета по этому методу, следует ввести необходимые данные. Например, вы выяснили, что приблизительные значения рКа (с точностью ± 1) являются: рКа1 = 3, рКа2 = 5, рКа3 = 7 и нужно их уточнить до ± 0,1. В этом случае следует ввести такие исходные данные:
Независимо от выбранного метода расчета можно произвольно исключать / включать в расчет спектры и константы. Например, вы хотите попробовать расчет без определенного спектра / спектров (он показался сомнительным), перед запуском расчета нужно снять соответствующую "галочку":
Аналогично исключаются константы. Например, вы исследуете трейосновну кислоту Н3А, но значение первой константы хорошо известно и вы не хотите, чтобы программа в процессе расчета меняла его. Для этого следует указать значение рКа и снять соответствующую "галочку":
В процессе расчета программа выводит текущие значения рКа, спектры всех форм кислоты и рассчитаные спектры выбранных растворов (можно следить, как эти спектры постепенно "приближаются" к экспериментальным). Вы можете и досрочно прекратить расчет (нажав соответствующую кнопку), при этом, разумеется, полученные результаты могут существенно отличатся от истинных. После завершения расчета программа выводит значения констант (Ка) и их отрицательных логарифмов с указанием надежного диапазона рКа ± ΔрКа), что дает возможность оценить точность полученных данных.
Входными данными для программы является спектры растворов окрашенного вещества при различном рН. Следовательно, необходимо приготовить серию растворов с одинаковой концентрацией кислоты, но разным рН. Важно, чтобы эти растворы отличались лишь значением рН, а все остальные параметры (концентрация вещества, ионная сила и т.д.) должны быть одинаковым, от этого зависит правильность результатов расчета. Концентрацию кислоты выбирают таким образом, чтобы максимальное значение оптической плотности раствора не превышало 0,6-0,7 (для максимальной точности эксперимента). Для обеспечения одинаковой ионной силы в каждый раствор вводят индифферентный фоновый электролит. Мы в основном для этого используем NaCl, концентрация которого в каждом растворе составляет 0,1 моль/л. Для обеспечения нужного рН следует использовать буферы с различным рН, или универсальную буферную смесь кислот и их солей.
Вместо серии растворов можно приготовить только один раствор значительного объема со смесью кислот универсального буфера и мерить его рН и спектр после каждого добавления щелочи. Поскольку мы используем именно второй способ, то опишем его подробно, шаг за шагом.
- В мерную колбу на 250 мл добавляем необходимый объем раствора реагента (исследуемой кислоты), 10 мл смеси кислот для универсального буфера (это раствор, содержащий H3PO4, H3BO3 и CH3COOH с концентрацией каждой кислоты 0,5 м), 10 мл 2,5 М NaCl и добавляем дистиллированной воды до метки.
- Тщательно перемешиваем раствор и переливаем в стакан на 300 мл. В стакан бросаем магнитик (в тефлоновой оболочке) и ставим на магнитную мешалку. Погружаем в раствор электроды рН-метра и включаем мешалку.
- Измеряем и записываем значение рН раствора.
- Отбираем дозатором ~3 мл раствора в кювету спектрофотометра. Мы пользуемся кюветами 1х1 см (высота 4 см). Если у Вас другие кюветы, то отбирайте такой объем раствора, который необходим для заполнения кюветы.
- Мерим спектр раствора с шагом 1-2 нм. Если у вас ручной спектрофототометр (не сканирующий), то целесообразно увеличить шаг до 5-10 нм, чтобы сократить время измерения.
- Раствор из кюветы переливаем обратно в стакан (желательно максимально количественно). Кювету НЕ споласкиваем водой!
- Дозатором добавляем в раствор 0,5 мл раствора 2,5 M NaOH (или KOH). Переходим к пункту №3 (пока не дойдем до рН 12-12,5)
Таким образом мы получим спектры и рН раствора исследуемого вещества. Для дополнительного повышения точности целесообразно перед заполнением кюветы 2-3 раза споласкивать ее исследуемым раствором. То есть пункт №3 выполнять так: налить 3 мл раствора в кювету и вылить его обратно в стакан, налить и вылить, налить и вылить. Так можно устранить погрешность, обусловленную неколичественным излиянием предыдущего раствора из кюветы.
Также желательно учесть разбавление раствора вследствие добавления щелочи. Сделать это очень просто: оптические плотности во втором спектре умножить на коэффициент 250,5 / 250; в третьем спектре - на коэффициент 251/250; в четвертом - на коэффициент 251,5 / 250 и т.д.
Наш опыт показывает, что погрешности, обусловленные этими двумя факторами, являются незначительными, однако для максимальной чистоты эксперимента все же желательно их избегать.
Понятно, что исследуемое вещество должна быть хорошо растворимым в воде (во всем диапазоне рН).
Перед использованием программы для обработки экспериментальных данных целесообразно найчится ей пользоваться на готовых (смоделированных математически) примерах. Мы подготовили такие примеры в файле test.xls. Переносить данные из этого файла в программу "SpectroCalc-H5A" очень просто: выберите пример, выделите все цветные ячейки, выберите "Копировать" (copy), в нашей программе нажмите кнопку "Вставить" - спектры будут успешно перенесены в программу. После этого можно приступать к расчету.
Файл test.xls содержит примеры кислот различной основности (от трейосновных Н3А до пятиосновных Н5А), с разной степенью перекрывания спектров отдельных форм кислоты, а также примеры смесей кислот (чтобы продемонстрировать невозможность расчета, когда есть смесь исследуемых веществ).
Ограничения программы. Решение "сложных систем"
На собственном опыте мы убедились, что часто не удается выполнить математическую обработку экспериментальных данных и рассчитать константы кислотности. Остановимся на возможных причинах:
1. Исследуемая вещество на самом деле представляет собой смесь различных веществ. Это довольно распространенный случай. Окрашенные реагенты часто является смесью различных изомеров, отличающихся как по спектрам, так и кислотно-основными характеристиками. Возможен также вариант, что реагент является загрязненным результатами своего «старения» (содержит продукты окисления или какого-то другого преобразования). Можно попробовать очистить вещество перектристализацией или другим соответствующим способом.
2. Отдельные формы кислоты очень спектрально подобные, или не поглощают в измеряемом диапазоне λ. Тоже довольно распространенный случай. Если кислотная группа (скажем -СООН) расположена в молекуле так, что практически не влияет на хромофор, то диссоциация по этой группе не будет менять спектр раствора исследуемого вещества. Это приведет к тому, что соответствующая Ка будет "потеряна" при расчете - то есть будет выглядеть так, что кислота будет менее основной, чем это есть на самом деле. Такие же проблемы возникают, когда отдельные формы кислоты вообще не поглощают в измеряемом диапазоне длин волн.
На самом деле это не "минус" нашей программы. Фактически это ограниченность самого метода спектрофотометрического исследования кислотно-основных равновесий. Следует об этом помнить и всегда принимать во внимание результаты, полученные другими методами.
3. Наличие других (не кислотно-основных) равновесий в системе. Бывают случаи, когда в определенном диапазоне рН спектры ведут себя "странно" и программа не может рассчитать соответствующие Ка. Это можно объяснить наличием других равновесных процессов с участием отдельных форм кислоты. В частности, мы испытывали трудности, связанные с образованием бесцветных лактонным форм в некоторых трифенилметановых красителях:
Кроме этого вероятным является образование ионных ассоциатов между различными формами исследуемого вещества или какой-нибудь таутомерии и т.п.
Выловить "посторонние равновесия" можно последовательно выполняя расчет в узком диапазоне рН (см. "Порядок работы с программой", с.4-5) в модели одноосновной кислоты НА. В том диапазоне, где возникают такие равновесия, могут возникнуть и проблемы с расчетом (большое стандартное отклонение s (A) и надежный интервал ΔрКа, несоответствие рассчитанных спектров измеренным).
4. Низкая устойчивость вещества. Отдельные реагенты могут активно взаимодействовать с растворенным кислородом, который всегда присутствует в растворе. Например, некоторые азокрасители заметно окисляются растворенным кислородом в щелочной среде. Мы впервые наткнулись на такие трудности, когда не могли понять странное поведение спектров раствора торона в щелочной среде.
Вообще, желательно убедиться в устойчивости реагента в исследуемом диапазоне рН. Мы делаем это таким способом. Готовим несколько растворов с различным рН от сильнокислых к сильнощелочную, меряем их спектры и оставляем на некоторое время. Затем снова меряем спектры и сравниваем с начальными. Если реагент устойчивый при таких условиях, то не должно быть изменений в спектрах.
Кроме указанных проблем могут быть и другие. Впоследствии мы планируем совершенствовать нашу программу, чтобы она могла "вылавливать" посторонние процессы или равновесия и даже рассчитывать соответствующие константы равновесия.
Авторские права и условия пользования программой
Все права на программу "SpectroCalc-H5A" принадлежат ее авторам. Разрешается без ограничений пользоваться программой в научных исследованиях или учебном процессе в любых научных или учебных заведениях любой формы собственности.
При публикации результатов (статьи, тезисы, диссертации и т.п.), полностью или частично полученных с помощью программы "SpectroCalc-H5A", необходимо ссылаться на ее авторов. Статья о "SpectroCalc-H5A" опубликована в химическом журнале "Методы и объекты химического анализа". Ссылка на эту статью в публикациях является обязательным условием пользования программой "SpectroCalc-H5A":
Совин А.Р., Пацай И.А. Программа "SpectroCalc-H5A" для расчета констант кислотности на основе спектрофотометрических данных. Методы и объекты химического анализа. 2012, 7 (2), 74-80.
Допускается также ссылки на веб-страницу программы: http://www.franko.lviv.ua/faculty/Chem/spectrocalc/index.htm
Вы можете без ограничений копировать программу на разные компьютеры, передавать другим лицам, свободно (бесплатно) распространять любым способом. Однако запрещается продавать программу (самостоятельно или в составе пакетов программ), использовать ее без разрешения авторов в коммерческих проектах, вносить изменения в файлы программы (Ka.exe, Msvbvm50.dll, help.doc, data.mdf, test.xls).
Программа является продуктом категории "как есть" ("as is"), предоставляется без каких-либо гарантий правильной и корректной работы. Авторы не несут ответственности за убытки (прямые или косвенные), обусловленные этой программой.
Мы будем очень благодарны Вам за пожелания, рекомендации, отзывы, сообщения об ошибках в работе программы, которые можно отправлять по электронной почте на адрес: i_patsay@franko.lviv.ua
авторы
Ссылки на скачивание (zip-архив, 1.5 МБ): с офсайта, с нашего сайта.
Официальная страница программы