Равновесия в растворах электролитов. Раcчеты с mathcad. (2018) (1154113), страница 16
Текст из файла (страница 16)
4.4) ведется расчет значений рН — отрицательногологарифма от относительной безразмерной молярной концентрации катионаводорода и рOН — отрицательного логарифма от относительной безразмерноймолярной концентрации гидроксил-иона. Эти концентрации, как отмечалосьвыше, имеют размерность, поэтому их и пришлось поделить на величину моль/л,превратив тем самым в безразмерные относительные концентрации. Иначе взятие логарифма от размерной величины приводило бы к ошибке.К функции Find подходит лозунг «доверяй, но проверяй!». На рисунке 4.5 показана проверка решения, найденного на рис. 4.4: выводятся значения правых илевых частей пяти уравнений. Три из них (второе, четвертое и пятое) превратились в тождества, а два остальных (первое и третье) — не совсем. Кроме того, наневерность решения указывает и тот факт, что сумма значений переменных pHи pOH не стала равной 14.Есть хорошее правило — полученный ответ при решении системы уравненийсделать начальным приближением и посмотреть, каков будет новый ответ.На рисунке 4.6 ответ, полученный ранее при решении примера 4.1, использован как начальное предположение.
Выданный ответ отличается от старого (рис.4.4) и по значениям концентраций, и по значению рН.Кроме того, сумма значений переменных pH и pOH стала равна 14. Ответ:раствор имеет значение рН = 11,02 (см. рис. 4.5), а не 10,785 (рис. 4.4).130РАВНОВЕСИЯ В РАСТВОРАХ ЭЛЕКТРОЛИТОВ. РАСЧЕТЫ С MATHCADРис. 4.5Проверка результата решения системы уравнений: нет полного равенстваРис. 4.6Проверка расчета значения pH водного раствора: использование ответа как начальногопредположенияВерификация нового решения (рис. 4.5) отображена на рис.
4.7. Показано,что ответ верен: все уравнения превратились в тождества в пределах трех знаковпосле запятой в мантиссе.Однако многие пользователи Mathcad не спешат переходить на новые версиии остаются верными Mathcad 15, руководствуясь, в том числе, и принципом, что«старый конь борозды не испортит».Повторим расчеты в среде Mathcad 15, но сначала покажем, как можно обойти ограничение на число индексов в именах переменных.ГЛАВА 4. ОСНОВНЫЕ ИНСТРУМЕНТЫ MATHCAD131Рис. 4.7Проверка правильности решения системы уравнений: все уравнения превратились в тождестваРис. 4.8Окно символов в среде Word132РАВНОВЕСИЯ В РАСТВОРАХ ЭЛЕКТРОЛИТОВ. РАСЧЕТЫ С MATHCADРис. 4.9Расчет значения pH исследуемого водного раствора в среде Mathcad 15ГЛАВА 4. ОСНОВНЫЕ ИНСТРУМЕНТЫ MATHCAD133Без индексов можно обойтись, если использовать специальные символы,отсутствующие на клавиатуре, доступ к которым открывает команда Вставка/Символ/Другие символы… в среде текстового редактора Word, который установлен практически на каждом компьютере — см.
рис. 4.8.Нужные символы (знаки «плюс» и «минус», маркирующие ионы, числа2 и 3, фиксирующие количество атомов или зарядов иона) в виде нижних иливерхних индексов можно вставить в документ Word, а потом скопировать в формируемое имя переменной с «химической» нотацией.
Так и было сделано присоздании расчетов, показанных, например, на рис. 4.9.Основные отличия в решениях, показанных на рис. 4.2–4.5 и 4.9, сосредоточены в способе решения системы алгебраических уравнений в среде Mathcad15 и Mathcad Prime.В среде Mathcad Prime отказались от ключевого слова Given, отмечающегоначало ввода уравнений. Одна из причин такого решения в том, что некоторыепользователи после ввода этого слова машинально нажимают клавишу пробела ипревращают ключевое слово в комментарий.
Задача при этом перестает решаться, а пользователь не понимает, в чем ошибка. В среде Mathcad Prime для вводаблока решателя необходимо нажать соответствующую кнопку Решить в меню (вленте) Математика (рис. 4.1). После этого, повторяем, появится соответствующая область решения (рис. 4.4), которая разбита на три зоны: зона ввода первогопредположения, зона ввода ограничений (системы уравнений, например) и зонасамого решения.Переменные, заданные в области первого предположения в среде MathcadPrime, являются локальными — они видимы только в области решения.В среде Mathcad Prime используется довольно совершенный аппарат численного решения задачи.
Это сказалось на том, что решения, представленныена рис. 4.5 (pH = 11,02) и рис. 4.9 (pH = 7,975), отличаются друг друга. Почемувозникла такая разница?Рис. 4.10Методы решения систем алгебраических уравнений в среде Mathcad 15134РАВНОВЕСИЯ В РАСТВОРАХ ЭЛЕКТРОЛИТОВ. РАСЧЕТЫ С MATHCADДело в том, что в средах Mathcad 15 и Mathcad Prime использовались разныеметоды численного решения системы уравнений. В среде Mathcad 15 можно нажать правую кнопку мыши на имени функции Find и узнать, какой метод используется при решении задачи, — см. рис. 4.10.При желании можно сменить метод решения и настроить дополнительныепараметры.
Но большинство пользователей Mathcad не знают о такой возможности и не настраивают пакет на решение систем уравнений. Поэтому-то в MathcadPrime от таких настроек отказались, настроив функцию Find только на методЛевенберга–Маркворта. В решении же на рис. 4.9 был использован метод Квази–Ньютона. Отсюда и разница в значениях pH, рассчитанных в средах Mathcad15 (рис. 4.9) и Mathcad Prime (рис. 4.5)!Различия обусловлены тем, что были применены разные методы решениязадач.Покажем (рис. 4.12), как разные методы решения системы уравнений даютразные результаты в среде Mathcad 15.Сравните результаты расчетов на рис. 4.4 и рис. 4.12.Не следует также забывать, что отдельные уравнения рассматриваемой системы должны решаться с различной точностью, а точность тут одна — 0,001.Если уменьшать значение системных переменных TOL и CTOL, вызвав диалоговое окно, показанное на рис.
4.11, то функция Find может начать выдаватьне решения, правильные или ложные, а… сообщение об ошибке. Даже еслипользователю удастся настроить пакет Mathcad на решение конкретной системыуравнений, то при смене исходных данных не исключено, что функция Find снованачнет выдавать неверные ответы или сообщения об ошибке.Рис. 4.11Настройка точности решения систем алгебраических уравнений в среде Mathcad 15ГЛАВА 4. ОСНОВНЫЕ ИНСТРУМЕНТЫ MATHCAD135Рис. 4.12Решение системы уравнений в среде Mathcad 15 разными методами136РАВНОВЕСИЯ В РАСТВОРАХ ЭЛЕКТРОЛИТОВ.
РАСЧЕТЫ С MATHCADРис. 4.13Создание функции пользователя на основе блокаГЛАВА 4. ОСНОВНЫЕ ИНСТРУМЕНТЫ MATHCAD137Исследуем, как будет изменяться значение рН при введении в раствор дополнительного количества соляной кислоты до какой-то заданной величины концентрации анионов хлора в воде. Именно так определяют щелочность техническойи природной воды (см. Приложение).На рисунке 4.13 показана попытка дать ответ на этот вопрос.Решение.
В расчет внесено два изменения. Во-первых, в уравнение электронейтральности введена концентрация хлор-анионов («доза» соляной кислотыdHCl, которая численно равна концентрации НСl). Во-вторых, встроенная вMathcad функция Find теперь не возвращает вектор с ответами (см. рисунки 4.4 и4.6), а формирует функцию f(dHCl), которая также является вектором. Первый,вернее, нулевой элемент этого вектора — f(dCHl)0 — это функция, возвращающаямолярную концентрацию катиона водорода [H+].Примечание.
Обычно самый верхний элемент вектора, верхнюю строку матрицы и левый ее столбец считаются первыми. Но в среде Mathcad 15 и MathcadPrime эти элементы массивов по умолчанию считаются нулевыми. Поэтому-томы в операторе создания функции-скаляра рН(dHCl) у функции-вектора f(dHCl)выделили нулевой, а не первый нижний индекс. Этот индекс не следует путатьс текстовым индексом, который формировал имена переменных (см.
выше). Индекс у функции f(dHCl) — это не просто индекс, а оператор, возвращающий заданный элемент вектора. В данном случае он, повторяем, нулевой. В этом можноубедиться, если подвести курсор к функции f, — у индекса появится открывающая квадратная скобка: f(dHCl)[0. Нажимая «горячую» клавишу [ мы вводим врасчет элемент массива, а не текстовый индекс (см. кнопку a2 на рис. 4.1).Зависимость pH раствора от концентрации соляной кислоты (функциярН(dНCl)) графически отображена на рис. 4.13.
Видно, что, особенно при повышенных дозах соляной кислоты, решений нет или они неверные. Более того, приизменении состава исходного раствора может оказаться, что ответов не будет навсем диапазоне доз кислоты. Это является следствием особенностей численныхметодов, заложенных в функцию Find, о которых мы поговорим ниже.Встроенные средства решения уравнений в среде Mathcad просты и наглядны, но часто от них по вышеотмеченным причинам приходится отказываться исоставлять собственный алгоритм решения задачи, опираясь на инструментысимвольной математики и программирования, встроенные в Mathcad.На рисунке 4.14 показано, как два оператора символьной математикиMathcad (substitute — заменить и solve — решить) вывели формулу, по которойможно рассчитать концентрацию карбонат-ионов, в зависимости от значенийдругих пяти переменных и констант.
Эту формулу мы вставим в программу расчета равновесных концентраций ионов в исследуемом растворе. При этом воспользуемся методом половинного деления.Значение pH водных растворов обычно находится в пределах от 1 до 14 единиц. На рисунке 4.15 задаются эти два значения для переменных pH1 и pH2, укоторых делением пополам находится первое приближение задачи — pH.
Позаданному значению pH рассчитываются концентрации остальных ионов: [H+],[OH–], [CO32–] (см. формулу на рис. 4.14), [HCO3–] и углекислоты [H2CO3], то естьравновесный состав.Если (см. встроенную функцию if) при этом сумма зарядов катионов окажется больше суммы зарядов анионов, то диапазон значений pH уменьшаетсятаким образом: значение pH1 становится равным значению pH, иначе значение138РАВНОВЕСИЯ В РАСТВОРАХ ЭЛЕКТРОЛИТОВ.