Скачиваний:
24
Добавлен:
20.05.2014
Размер:
119.3 Кб
Скачать

- 58 -

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

10.1 Неявная разностная схема для уравнения Пуассона.

Рассмотрим уравнение Пуассона для двух переменных , в прямоугольной области с размерами сторон а, b

10.1

Обычно для уравнения Пуассона задаются граничные условия, т.е. значения функции "" на сторонах прямоугольника считаем известными. Нужно определить значения внутри прямоугольника, см. рис. 10.1.

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

10.2

Этой разностной схеме соответствует пятиточечный шаблон рис.10.1, который называют ''крестом''.

Рис. 12.1. Шаблон "крест" для уравнения Пуассона.

В какое бы место рассматриваемой области, см. рис. 11.1, мы не поместили этот шаблон, уравнение (10.2) будет содержать три или более неизвестных. Это не позволяет явно вычислять значения функции "" на следующем слое, как это выполнялось для явной схемы (11.8). Поэтому разностная схема (10.2) называется неявной.

При трех переменных , , «крест» имеет еще одно направление перпендикулярно плоскости. Чтобы найти неизвестные значения в случае неявной схемы, необходимо записать уравнение (10.2) для каждого внутреннего узла рассматриваемой сетки. В результате получим систему линейных уравнений, в которой количество неизвестных равно количеству уравнений. Например, если имеем внутренних узлов по и внутренних узлов по y, то количество неизвестных и уравнений равно , т.е. обычно очень велико.

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

Следовательно, в случае явных разностных схем каждое неизвестное значение определяется путем простых вычислений по явной формуле, например, (11.8), а в случае неявных разностных схем решается система линейных уравнений для определения всех или группы неизвестных.

Вычисления в случае неявных разностных схем существенно сложнее, чем в случае явных, но у неявных схем есть очень важное достоинство – они всегда устойчивы. Это означает, что при неправильном соотношении шагов дискретизации не будет генерироваться и усиливаться вычислительный шум, что характерно для явных схем.

На рис.10.2 для случая двух независимых переменных показано как зависит погрешность решения от шага дискретизации по одной переменной, а шаг дискретизации по другой переменной является параметром для каждой кривой. Возрастание погрешности при уменьшении шага для явных схем соответствует неустойчивости. Отметим, что в случае неявных схем при возможно проявление погрешностей округления при численном дифференцировании, рассмотренных в лекции 4, но столь малые шаги при решении уравнений в частных производных не используются.

Рис. 12.2 Зависимость погрешности от шагов дискретизации для явных и неявных разностных схем.

12.2  Контроль точности

Пусть при произвольно выбранных шагах дискретизации и получено решение уравнения в частных производных в узлах сетки рис. 11.1. Для контроля, как и в лекции 7 при решении ОДУ, нужно выполнить повторный расчет с другими шагами или другим методом. Обычно расчет повторяют с шагами , и сравнивают два решения в узлах первой (более крупной) сетки. За оценку погрешности можно взять значение

,

10.3

где номера узлов первой сетки, – первое решение, – второе решение в тех же точках .

При уменьшении шагов дискретизации в случае явных разностных схем необходимо обращать внимание на условие устойчивости. Например, условие (11.11) показывает, что для сохранения устойчивости решение уравнения теплопроводности при контроле точности целесообразно выполнять с шагами и .

12.3. Решение уравнений в частных производных на ПК

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

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

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

Будем считать производительность ЭВМ, т.е. количество выполняемых центральным процессором операций в секунду, равной величине её тактовой частоты. Это характерно для современных компьютеров, выполняющих одну операцию за один такт (RISC - архитектура). Например, положим производительность рабочей станции на базе процессора Intel Pentium4 с тактовой частотой 3,2ГГц равной 3200 млн. операций/сек, а ПК (Intel Celeron с тактовой частотой 1,7ГГц) - 1700 млн. операций/сек.

Разделив количество операций на производительность, получим время решения одного уравнения в частных производных. При выбранных производительностях получаем около двух часов вычислений для ПК и менее одного часа для рабочей станции! И это без контроля точности, который проводить необходимо и, кроме того, обычно решается не одно уравнение, а система нескольких уравнений в частных производных.

Поэтому в настоящее время стараются использовать упрощенные математические модели распределенных систем, в которых, например, пренебрегают зависимостью от одной пространственной координаты, что уменьшает время решения в 1000 раз. В случае учета всех переменных , , , применяют более грубые сетки или более эффективные методы решения, например, метод конечных элементов (МКЭ).

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

Соседние файлы в папке Лекции