Учебное пособие: Методы компьютерных вычислений и их приложение к физическим задачам 2
1. Всякий специалист стремится достичь своего уровня некомпетентности.
2. Компьютер – средство многократного увеличения некомпетентности человека.
3. Если две ошибки не принесли результата – испробуй третью.
Лоуренс Питер, «Иерархиология».
1. Введение в предмет
Численные методы – раздел математики, который со времен Ньютона и Эйлера до настоящего времени находит очень широкое применение в прикладной науке. Традиционно физика является основным источником задач построения математических моделей, описывающих явления окружающего мира, она же является основным потребителем алгоритмов и программ, позволяющих эти задачи с определенным успехом решать.
При этом задачей физика является не только правильный выбор программы, которая призвана решать физическую проблему, но и подробный анализ и корректировка используемых алгоритмов, в соответствии с реалиями поставленной задачи и теми математическими правилами, которые либо допускают существование решения с заданной точностью, либо говорят о невозможности такого решения.
Примеры современных физических задач, для решения которых используются численные методы – моделирование астрономических событий (рождение и развитие Вселенной), моделирование процессов в микромире (распад и синтез частиц), моделирование установок и процессов термоядерного синтеза. Более «прикладные» задачи – моделирование физических процессов в твердотельных структурах (широко используется в проектировании и изготовлении интегральных схем), моделирование процессов в газах и плазме. Учитывая большую сложность и дороговизну современных экспериментальных методик, и, с другой стороны, постоянный рост производительности вычислительных систем, нетрудно определить тенденцию к увеличению в настоящее время доли модельных (вычислительных) экспериментов. Большое количество численных методов разработано для решения задач математической физики, к которым, например, относятся задачи тепло- и массопереноса, исследования турбулентного движения.
К инженерным приложениям численных методов можно отнести расчеты магнитных и электростатических линз для заряженных частиц, различного рода радиотехнические расчеты, включая, например, проектирование СВЧ-волноводов. Любопытно, что как в теоретической физике, так и в инженерной практике решаются численными методами различные задачи теоретической механики, например, задачи столкновения (в том числе динамический хаос). Естественно, такое приложение вычислительной техники к физике, как управление экспериментом и сбор данных, в данном курсе не рассматривается.
План построения вычислительного эксперимента:
1) Создание модели, фиксирующей главные исследуемые факторы. Одновременно формулируются рамки применимости модели.
2) Предварительное исследование математической модели: поверка корректности постановки задачи, существования и единственности решения.
3) Разработка метода расчета сформулированной задачи, построение эффективных вычислительных алгоритмов.
4) Создание программы, осуществляющей моделирование физического объекта, включающей в себя реализации используемых численных методов, проверки корректности ввода исходных и вывода результирующих данных
5) Сравнение полученных результатов моделирования с тестовыми примерами и экспериментальными данными; решение вопроса о правильности практического моделирования (иначе повторяются пункты 3 и 4).
6) Решение вопроса о достоверности предложенной математической модели. Если модель не описывает экспериментальные данные, возврат на пункт 1.
Таким образом, численный эксперимент – это не однократное вычисление по некоторому набору формул, а многостадийный процесс программирования, анализа результатов и их погрешностей.
Задача называется корректно поставленной, если для любых входных данных х из некоторого класса решение y существует, единственно и устойчиво по входным данным.
(Класс может представлять собой координатное бесконечномерное пространство, множество непрерывных функций и др.)
Численный алгоритм – однозначная последовательность действий, которые могут привести к одному решению.
Отсутствие устойчивости обычно означает, что сравнительно небольшой погрешности δx соответствует весьма большое δy, а значит получаемое решение будет далеко от истинного. К такой задаче численные методы применять бессмысленно, ибо погрешности численного расчета будут катастрофически нарастать. Устойчивость задачи определяется (1) математической формулировкой, (2) используемым алгоритмом расчета. Пример неустойчивой задачи в первом случае:
Система имеет решение , однако
Система имеет решение , то есть разница в коэффициенте менее 1% приводит к изменению решения в 300%.
Пример алгоритмической неустойчивости – вычисление производных численными методами: какой бы метод мы не использовали, приходится вычитать весьма мало различающиеся числа.
В настоящее время развиты методы решения многих некорректных задач, которые основаны на решении вспомогательной корректной задачи, близкой к исходной.
Если выполняется условие для норм (модулей), то задача устойчива. Однако если константа С очень велика, то фактически наблюдается слабая устойчивость. Такую задачу называют плохо обусловленной. Пример – дифференциальное уравнение с начальными условиями . Общее решение дифференциального уравнения есть
Начальные условия приводят к обнулению первого слагаемого, но если из-за погрешности начальных данных это будет не так, то при возрастании x влияние первого слагаемого будет катастрофически нарастать.
2. Точность вычислений, классификация погрешностей
Во всех случаях математическая точность решения должна быть в 2-4 раза выше, чем ожидаемая физическая точность модели. Более высокая математическая точность, как и более низкая, будут неадекватны данной модели.
Существуют четыре источника погрешности результата:
--> ЧИТАТЬ ПОЛНОСТЬЮ <--