Численное решение уравнения пуассона

Численное решение уравнения пуассона

и принимающей значения g(x,y) на границе области (f и g являются функциями, задаваемыми при постановке задачи). В качестве области задания D функции u=u(x,y), далее будет использоваться единичный квадрат.

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

Последовательная версия

Алгоритм заключается в последовательном выполнении следующей операции:

где h — величина обратная к размерности сетки. Как правило, сетки берутся квадратными, то есть, число узлов по каждой из размерностей одинаковою. Последовательность сеток получаемая таким алгоритмом равномерно сходится к решению задачи Дирихле.

Параллельная версия

А схема передачи сообщений между процессами может быть представлена на схеме:

n — количество узлов по каждой из координат области D.

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

k — количество итераций метода до выполнения условия остановки.

T1 — время решения задачи в 1 процесс.

Tp — время решения задачи запущенной в p процессов.

S — ускорение (speedup). Ускорение определяется из отношения: S=T1/Tp. Числитель в этом выражении: параллельная программа запущеная в 1 процесс.

Вычислительная трудоёмкость последовательного алгоритма T1 = k*m*n*n.

Для p потоков:Tp=k*m*n*n/p.

Из элементарных соображений получаем, что: S -> p

Для оценки идеального времени работы параллельной версии воспрользуемся следующей аппроксимацией:

где S — время работы последовательного алгоритма, p — число процессов, K(i) — число итераций алгоритма ( зависит от задаваемой точности), альфа — латентность, бетта — пропускная способность, m — порядок матрицы

OS: Windows 7 x64

CPU: Pentium Dual-Core T4400 2.20 GHz

Латентность: 0.0019358 с

Пропускная способность: 35.08 Мб/с

Разработка велась в MSVS2008 с встроенным компилятором, в режиме релиза была включена полная оптимизация(ключ /Ox)

Эллиптические уравнения – класс дифференциальных уравнений в частных производных, описывающих стационарные процессы [1]. Такие процессы на практике встречаются очень часто. Это процессы, протекающие во времени приблизительно однородно и имеющие вид непрерывных случайных колебаний вокруг некоторого среднего значения, причем ни средняя амплитуда, ни характер этих колебаний не обнаруживают существенных изменений с течением времени. В качестве примеров стационарных случайных процессов можно привести: — колебания напряжения в электрической осветительной сети; — случайные шумы в радиоприемнике; — процесс качки корабля и т. п. Уравне́ние Пуассо́на — это частный случай использования эллиптических дифференциальных уравнений в частных производных. С использованием уравнения Пуассона описывается: электростатическое поле, стационарное поле температуры, поле давления, поле потенциала скорости в гидродинамике [5]. Целью работы является изучение методов решения уравнения Пуассона и систем линейных алгебраических уравнений с разработкой программы реализации. Задачами работы является: — рассмотрение методов решения уравнения Пуассона; — рассмотрение методов решения СЛАУ; — разработка программы, реализующей решение уравнения Пуассона различными методами. Объектом исследования работы являются методы решения эллиптических уравнений, а предметом – особенности построения методов для решения уравнения Пуассона. Работа содержит теоретический раздел, в котором представлены методы решения данной задачи, практический раздел, в котором представлены результаты работы программы и приложение, в котором представлен код программы.

Читайте также:  Что значит добавить в исключения в касперском

Для решения уравнения Пуассона применяются различные методы, которые классифицируются как методы решения систем линейных алгебраических уравнений. Достоинства итерационных методов: 1. Погрешность округления не накапливается от итерации к итерации. 2. Число итераций при n>100 обычно меньше n, поэтому общее число действий меньше n3. 3. Не требуется больший объем памяти. 4. Итерационные методы особенно выгодны для систем с большим количеством нулевых коэффициентов (систем с разряженной итерацией). Методы исключения наоборот: чем больше нулей, тем чаще требуется выбирать новую рабочую строку. Недостаток использования таких методов заключается в том, что не всегда можно обеспечить сходимость итерационного процесса. С увеличением размерности системы труднее выполнить линейные преобразования для обеспечения сходимости. По результатам исследования методов решения уравнения Пуассона с использованием разработанного программного обеспечения можно утверждать следующее: 1. Самым влияющим на скорость решения фактором является ширина шага прохода по области решения (она задается количеством точек), влияние точности – на втором месте. 2. Рассмотренные методы дают результат при количестве точек просмотра примерно 5000, что соответствует размерности сетки примерно 70 на 70. Дальнейшее увеличение размера сетки сокращает количество методов, которые могут быть использованы. Если до 5000 точек работают все 9 методов, то после 10000 их остается 6, а после 20000 – 5. Таким образом, выявлены методы, которые гарантируют получение решение. Это методы верхней релаксации, переменных направлений (основной и модифицированный) и попеременно-треугольный. Из этого набора лидеров по скорости и величине невязки выделяются методы переменных направлений, а из них всех более оперативно результат выдает модифицированный метод. Именно эти методы и предлагаются для дальнейшего использования.

ЧИСЛЕННОЕ РЕШЕНИЕ УРАВНЕНИЯ ПУАССОНА

Цель работы — изучение разностных схем для уравнений эллиптического типа, численное решение уравнения Пуассона в прямоугольнике методами Зейделя или последо­вательной верхней релаксации.

Читайте также:  Играть в майнкрафт через браузер

Типичным уравнением в частных производных эллиптического типа является уравнение вида

При   0, f  0 уравнение представляет собой неоднородное уравнение Гельмгольца, при   0, f = 0 – однородное уравнение

Гельмгольца, при  = 0 и f  0 — уравнение Пуассона

и, наконец, при  = 0 и f = 0 — уравнение Лапласа.

Так, однородным уравнением Гельмгольца

описывается стационарное распределение в резонаторе электрического поля с волновым числом k; уравнение Пуассона

описывает распределение электрического потенциала u в среде с плотностью заряда  и электрической проницаемостью  и т. п.

Установившееся распределение температуры (или плотности газа) также описывается уравнением Пуассона, которое получается из уравнения теплопроводности (диффузии) при u/t = 0.

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

В дальнейшем ограничимся так называемой задачей Дирихле, или первой краевой задачей для уравнения Пуассона

в прямоугольнике с границей Г, используя равномерную сетку.

Рис. 1. Расположение узлов

для двумерного уравнения

Вводя в прямоугольнике G равномерную сетку, имеющую N шагов но х и М шагов по у, аппроксимируем вторые производные в операторе  =  2 /x 2 +  2 /y 2 конечно-разностными формулами на пятиточечном шаблоне «крест» (рис. 1) и построим разностную схему

Приведём её к виду

Схема имеет погрешность аппроксимации O(h 2 x, h 2 y), т. е. это схема второго порядка; значения uji при j = 0, N и i = 0, M задаются краевыми условиями. Уравнения представляют собой систему (N 1) (М — 1) линейных алгебраических уравнений, которую можно записать в виде

Здесь u — вектор значений uji во всех внутренних узлах сетки, имеющий (N – 1) (M – 1) элементов; b — вектор правой части, включающий как значения fji во внутренних узлах сетки, так и краевые значения; А — симметричная редкая матрица размерности

Читайте также:  Варочная панель ханса индукция

Для решения полученной системы можно использовать рассмотренный ранее в задании № 5 второго семестра метод Зейделя или же применить метод последовательной верхней релаксации, ускорение сходимости с использованием Чебышевского набора итерационных параметров и др.

Решим уравнение итерационным методом Зейделя:

где k=l,2. — номер итерации. Этот метод называют также схемой Либмана.

В качестве начального приближения можно принять любые значения, например:

Одним из более эффективных методов решения уравнения (1) является предложенный Янгом и Франкелом итерацион­ный метод последовательной верхней релаксации. В этом методе каждая итерация в узлах (j,i) складывается из двух этапов.

Первый этап вычисление предварительного значения методом Зейделя:

где k =1,2. — номер итерации.

Второй этап вычисление окончательного значения в узле (j, i) по релаксационной формуле:

терации прекращаются при выполнении условия

Ссылка на основную публикацию
Хороший принтер для школьника
Для ученика возможность распечатывать доклады, рефераты и иллюстрации для занятий в школе - совсем не лишняя. Школьнику в XXI веке...
Файл с расширением dav чем открыть
Файл формата DAV открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ. Чем открыть файл в формате...
Файл подкачки windows 7 на флешку
В прошлой статье рассказано, как определиться с оптимальным размером файла подкачки, что делать с SSD-дисками и как установить размер файла...
Хороший телефон с aliexpress
Обновлено 22.10.2019 На Алиэкспресс есть много разных производителей смартфонов. Даже есть такие международные бренды, как Apple. В этой подборке мы...
Adblock detector