Единое окно доступа к образовательным ресурсам

Компьютер для химика: Учебно-методическое пособие

Голосов: 2

В настоящем пособии к курсу "Компьютерное моделирование процессов и явлений физической химии" представлены материалы, предназначенные для краткого ознакомления студентов III курса химического отделения ФЕН НГУ с современными вычислительными методами и программными пакетами Mathsoft Mathcad и Microcal Origin, нашедших широкое применение в химических расчетах.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
      ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
          Факультет естественных наук
           Кафедра физической химии




          КОМПЬЮТЕР ДЛЯ ХИМИКА
         Учебно-методическое пособие




                 Новосибирск
                    2006


В настоящем пособии к курсу «Компьютерное моделирование про-
цессов и явлений физической химии » представлены материалы,
предназначенные для краткого ознакомления студентов III курса
химического отделения ФЕН НГУ с современными вычислитель-
ными методами и программными пакетами Mathsoft Mathcad и Mi-
crocal Origin, нашедших широкое применение в химических расче-
тах.



                          Составитель
                 канд. хим. наук В. Е. Шаронов

                           Рецензент
               канд. физ.-мат. наук С. Н. Трухан

                   Ответственный редактор
               канд. хим. наук В. М. Тормышев




                             © Новосибирский государственный
                               университет, 2006

                              2


                             ВВЕДЕНИЕ
   Лень – двигатель прогресса. С тех пор как появилась математика,
люди мечтали о неких «универсальных вычислителях», которые
вместо них складывали бы 2 + 2, считали криволинейные интегралы
и делали преобразование Фурье. Мечта эта сбылась лишь в ХХ веке
с появлением ЭВМ, и, как водится, результат превзошел ожидания.
Впечатляют не только вычислительные мощности современных
компьютеров, но и глобальная сеть Интернет, дающая практически
неограниченные возможности для коммуникации и поиска инфор-
мации.
   Для чего же его использует большинство пользователей? В каче-
стве дорогой игрушки или (в лучшем случае) пишущей машинки.
Почему? Да просто потому, что немногие знают всей мощи совре-
менных пакетов для научных расчетов. Курс ТВС даст Вам, ува-
жаемый читатель, возможность узнать, насколько хороший компь-
ютер может облегчить жизнь химика.
   Но прежде чем Вы начнете листать это пособие и разбираться с
хитростями программ, предлагаю прочесть ответы на основные во-
просы, которые могут возникнуть у Вас в ходе работы.

    Частые вопросы и ответы (ЧаВО)
             She had read several nice little histories about children
          who had got burnt, and eaten up by wild beasts and other un-
          pleasant things, all because they would not remember the
          simple rules their friends had taught them.
                                                         Lewis Carroll
   Что такое ТВС?
   «ТВС» расшифровывается как «терминальная вычислительная
система» − термин, сохранившийся со времен больших ЭВМ, с ко-
торыми студенты НГУ «общались» с помощью терминалов – ви-
деодисплеев, оснащенных клавиатурой. Многим импонирует аль-
тернативное толкование: «творческое время студента». Последнее
определение делает понятной цель этого курса: выработку само-
стоятельных творческих навыков обращения с математическими
программами и химическими базами данных. Студентам предлага-
ются три задания: дифференциальное уравнение (система диффе-
ренциальных уравнений); сложное уравнение (система уравнений) и

                                  3


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

   Как решать задачи?
   Для численного решения Вы можете использовать любые про-
граммы: Microsoft Excel, Borland Delphi, Fortran, Matlab, Mathe-
matica, Maple и т. п., но мы рекомендуем использовать MathSoft
Mathcad® − программу, максимально адаптированную для решения
Ваших задач и обладающую интуитивно понятным интерфейсом.

   Где искать информацию?
   К Вашим услугам весь Интернет. Поисковые сайты общего ха-
рактера: www.ya.ru, www.google.com, www.yahoo.com. Химические
базы статей: www.elibrary.ru, www.sciencedirect.com. Патентные ба-
зы данных: www.uspto.gov, gb.espacenet.com, www.fips.ru. Химиче-
ский сайт общей направленности: www.chemweb.com. Естественно,
вас никто не ограничивает этими сайтами.

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

   У меня дома все работало, а тут не запускается!
   Если у Вас дома установлены программы более поздней версии,
нежели в терминальном классе, то обязательно сохраняйте свою ра-
боту в таком формате, чтобы Вы могли ее открыть в классе. Слова
«у меня дома все работало, а тут, наверное, софт старый» не счита-
ются оправданием, и работа не принимается.

  А у меня программа ругается и не считает!
  Рекомендуем следующую последовательность действий:
  Успокойтесь и поймите, что машина тупа и считает лишь то, что
Вы ей даете.


                                4


   Проверьте, не допустили ли Вы синтаксических ошибок при за-
писи выражений, везде ли Вы правильно используете нужные типы
данных (например, не подставили ли в выражение вместо векторной
переменной скалярную величину). Попробуйте разобраться, что же
она (программа) Вам пытается сказать.
   Нажмите клавишу F1. Математические программы снабжены
обширным справочным руководством и файлами примеров, кото-
рых хватает для разрешения любой проблемы. Выберете закладку
«Указатель (Index)» и введите ключевые слова описания проблемы.
   Позовите преподавателя или проконсультируйтесь с соседями.

  А тут все по-английски! Как будет по-английски «дифур»?
  В данном случае - Differential Equation. А вообще для перевода
существуют сайты lingvo.yandex.ru, www.multitran.ru/c/m.exe,
www.hyperdictionary.com/dictionary, www.thefreedictionary.com и
множество им подобных.

    Что запрещается на занятиях?
    Запрещено следующее:
•   Входить в терминальный класс в верхней одежде или класть ее
    на стулья/столы. Посещение гардероба отнимет у вас не более 10
    минут времени.
•   Приносить на занятия еду/напитки. Нам не нужна пролитая на
    клавиатуру газировка.
•   Устанавливать какие бы то ни было программы, даже на время
    занятия.
•   Посещать сайты с сомнительным содержанием (бесплатные ау-
    дио/видео коллекции, хакерские сайты, порносайты). Бесплат-
    ным бывает только сыр в мышеловке, и за лечение компьютера
    от вирусов Вы заплатите из своего кармана.
•   Заходить в сеть иначе как под своим именем и паролем.
•   Совершать иные действия, могущие нанести ущерб НГУ.

   Я уже все сделал(а). Что делать дальше?
   Наши поздравления! Вы можете распоряжаться временем заня-
тий по своему усмотрению: попросить задания повышенной слож-
ности у преподавателя, сидеть в Интернете, осваивать программы
или просто идти домой и готовиться к очередной контрольной.

                                 5


            1. ВВЕДЕНИЕ В ЧИСЛЕННЫЕ МЕТОДЫ
                                …and then the different branches of
                            Arithmetic – Ambition, Distraction, Ug-
                            lification, and Derision.
                                                      Lewis Carroll
   В данном разделе собрана необходимая информация об основ-
ных численных методах, реализуемых на компьютере. Формулы
приводятся для общего ознакомления, без вывода, акцент делается
на понимание сущности метода. Для пользователя программы, как
правило, не важно, как была получена та или иная формула, гораздо
важнее знать границы ее применимости. Желающие ознакомиться с
конкретным методом подробнее могут обратиться к соответствую-
щим учебникам (см. библиографию).

    1.1. Линейная регрессия и метод наименьших квадратов
   Многие эксперименты представляют собой определение некой
нормально распределенной величины Y как функции от независи-
мой переменной Х, контролируемой с большой точностью. Это мо-
жет быть зависимость рН от объема добавленного титранта, кон-
центрации реагента от времени, давления насыщенного пара от
температуры, и так далее. Нахождение функциональной зависимо-
сти y = f(x), наиболее точно описывающей набор табличных значе-
ний (Yi,Xi) называют аппроксимацией, или регрессией.
   Часто между переменными X и Y стараются найти линейную за-
висимость и найти «оптимальную» линию регрессии вида
                             Y = aX + b .
   Данная «оптимальная» линия должна характеризоваться сле-
дующим свойством: сумма квадратов отклонений рассчитанных
значений Y, взятых по этой линии, от экспериментальных значений
должна быть минимальна. Это и есть метод наименьших квадратов,
реализуемый в математических программах.
   Коэффициенты а и b можно определить по следующим форму-
лам, приводимым здесь без вывода:




                                6


   a=
        ∑ X Y −(∑ X )(∑Y )
        N       i i                  i               i

        N ∑ X − (∑ X ) 2                     2
                      i                  i


   b=
      (∑Y )(∑ X ) − (∑ X )(∑ X Y )
            i              i
                            2
                                             i               i i

            N ∑ X − (∑ X )       2                       2
                                i                i

   Здесь Yi – экспериментальное значение Y, соответствующее Xi, N
– число точек измерения.

     1.2. Итерационное решение нелинейных уравнений
   Рассмотрим уравнение f ( x ) = 0 . Его истинным решением будет
такое значение x , что f ( x ) = 0 . Рассмотрим, как можно найти
численными методами приближенный корень ~ с точностью ε, т. е
                                              x
 x−~ <ε .
    x
   Решение задачи методом бисекции разбивается на два этапа: ло-
кализация и итерационное уточнение корней. На первом этапе на-
ходится отрезок [a, b], содержащий один и только один корень
уравнения f ( x ) = 0 . На краях отрезка функция f ( x ) имеет разные
знаки: f (a ) ⋅ f (b ) < 0 .
     На втором этапе делим отрезок [a, b] пополам точкой с. Если
 f (c ) = 0 , то задача решена, если нет, то выбираем из двух полу-
чившихся отрезков [a, c] и [b, c] тот, на краях которого функция
имеет разные знаки, и повторяем итерацию еще раз.
     Последовательность итераций считается законченной на шаге i,
если длина отрезка [ai, bi] < 2ε. В этом случае корнем ~ , найденным
                                                           x
с точностью ε, является середина отрезка [ai, bi] – точка сi.
     Метод Ньютона (метод касательных) заключается в том, что
следующим приближением ~i +1 к истинному корню x уравнения
                                x
 f ( x ) = 0 считается точка пересечения с осью абсцисс касательной,
проведенной к функции f ( x ) в точке (~i , f (~i )) . Расчетная формула
                                          x    x
имеет вид
      ~ i +1 = ~ i − f (xi ) .
                          ~
      x        x
                     f ' (~i )
                          x


                                                             7


  Критерий окончания итераций считается исходя из скорости из-
менения производной в окрестности x , но для простоты может
быть оценен как шаг, на котором ~ i − ~i +1 < ε .
                                x x
   Слабое место обоих методов состоит в том, что сначала требует-
ся оценка границ области значений x, в которой лежит единствен-
ный интересующий нас корень. При наличии нескольких корней
(например, для уравнения 2ln(x)=x-2) компьютер может выбрать не
ту область и выдать ответ, лишенный физического смысла. Оценить
правильность полученного результата способен только человек.

     1.3. Решение дифференциальных уравнений
   Химику часто приходится иметь дело с процессами, параметры
которых непрерывно меняются в зависимости от некоторой пере-
менной. Эти явления обычно подчиняются законам, которые фор-
мулируются в виде дифференциальных уравнений y ' (x ) = f ( x, y ) .
Одной из основных математических задач, которые приходится ре-
шать для таких уравнений, является задача Коши (или начальная
задача). Эта задача возникает тогда, когда начальное состояние сис-
темы в точке x0 считается известным (y(x0)=y0) и требуется опреде-
лить ее поведение при x ≠ x0.
   В тех случаях когда невозможно найти аналитическое выраже-
ние y ( x ) (часто так и происходит), применяют численные методы.
В основе их построения лежит тот или иной способ замены диффе-
ренциального уравнения y ' (x ) = f ( x, y ) его дискретным аналогом.
   Простейшим и исторически первым численным методом реше-
ния задачи Коши является метод Эйлера. В его основе лежит идея
графического построения решения дифференциального уравнения.
Этот метод дает одновременно и способ нахождения искомой
функции в численной (табличной) форме.
   Идея метода заключается в том, что промежуток [a, b] разбива-
ется на конечное число n интервалов длиной h точками x1, x2,… xn, и
площадь под кривой производной представляется в виде суммы
площадей прямоугольников       ∑ y ' ( x i ) ⋅ h . Таким образом, на малом
промежутке        h      изменения       независимой         переменной



                                    8


 x i ≤ x ≤ x i + h = x i +1 вместо интегральной кривой дифференциаль-
ного уравнения y (x ) берется касательная к ней
     y i +1 = y i + f ( x i , y i ) ⋅ h .
     В результате неизвест-
ная интегральная кривая
заменяется приближенной
к ней ломаной линией
(ломаной Эйлера), для ко-
торой угловой коэффици-
ент n-го звена равен
f(xn,yn) (рис. 1).
     Метод Эйлера обладает
невысокой             точностью,
имея лишь первый поря-
док аппроксимации: с из-
менением h ошибка вы-
числений также меняется
пропорционально h. К то-
му же погрешность каж-
дого нового шага, вообще                     Рис. 1. Графическая интерпрета-
говоря,         систематически            ция метода Эйлера (по материалам
возрастает. Наиболее при- сайта www.exponenta.ru)
емлемым для практики
методом оценки точности является в данном случае метод двойного
счета – с шагом h и шагом h/2. Совпадение полученных двумя спо-
собами результатов дает естественные основания считать их вер-
ными.
     Гораздо более точным является метод Рунге−Кутты. Формулы
для наиболее популярного алгоритма четвертого порядка приводят-
ся здесь без вывода:
                   1⎛                     k ⎞
     yi +1 = yi + ⎜ k1 + 2k2 + k3 + 4 ⎟ ,
                   3⎝                     2⎠
где коэффициенты k вычисляются как




                                     9


       ⎧
       ⎪k1 = 2 ⋅ f ( xi , yi )
               h

       ⎪
       ⎪k = h ⋅ f ⎛ x + h , y + k ⎞
       ⎪ 2 2 ⎜ i 2 i 1⎟
                    ⎝                ⎠
       ⎪
       ⎨                                .
       ⎪k3 = h ⋅ f ⎛ xi + , yi + k2 ⎞
                   ⎜
                            h
                                     ⎟
       ⎪           ⎝        2        ⎠
       ⎪
       ⎪k = h ⋅ f ⎛ x + h , y + k ⎞
                   ⎜ i              3⎟
       ⎪ 4
       ⎩           ⎝        2
                                i
                                     ⎠
      Для повышения точности расчета иногда применяется метод
Рунге−Кутты с переменным шагом. В этом случае интервал разби-
вается на участки разной длины: там, где решение меняется слабо,
шаги выбираются редкими, а в областях его сильных изменений –
частыми. Это очень просто осуществить, так как алгоритм Рун-
ге−Кутты является одношаговым и подразумевает простой пересчет
при любом значении шага hi искомого y(xi+hi) через y(xi). В резуль-
тате применения адаптированного алгоритма для достижения оди-
наковой точности может потребоваться существенно меньшее чис-
ло шагов, чем для стандартного метода Рунге−Кутты с фиксирован-
ным шагом.
      Несмотря на кажущуюся универсальность, метод Рунге−Кутты
«не работает» в случае так называемых жестких дифференциальных
уравнений и соответствующих систем. Будьте осторожны в выборе
метода,           когда        решаете,         например,       уравнение     вида
 y ' ( x ) = −25 y + cos(x ) + 25 sin( x ) , y (0 ) = 1 , или анализируете кинети-
ческую схему с сильно различающимися константами скорости, ти-
пичную для автокатализа и – особенно! – автоколебаний! Если вме-
сто красивых кинетических кривых метод Рунге−Кутты выдает не-
понятные осцилляции, знайте: Вы столкнулись со случаем жесткой
системы. Для решения требуется применение совсем иных алго-
ритмов, например неявных методов типа метода Булирша−Штера.
      Основной идеей метода является вычисление состояния системы
в точке x+h как результата двух шагов длины h/2, четырех шагов
длины h/4, восьми шагов длины h/8 и так далее с последующей экс-
траполяцией результатов. Метод строит рациональную интерполи-
рующую функцию, которая в точке h/2 проходит через состояние

                                       10



    
Яндекс цитирования Яндекс.Метрика