Решение задачи Неймана для уравнения Пуассона в прямоугольной области
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
Курсовая работа
Решение задачи Неймана для уравнения Пуассона в прямоугольной области
Содержание
Введение
Аннотация
. Численная постановка задачи
. Решение заданного примера
. Листинг программы
. Результаты работы программы
Литература
Введение
Актуальность решения уравнения Пуассона состоит в том что, при вычислении решения системы уравнений Навье-Стокса, алгоритм решения этой системы происходит в несколько этапов одним из сложных является решение уравнения Пуассона.
Аннотация
Разработать программу для решения дифференциального уравнения Лапласа:
в прямоугольной области ABCD, с вершинами A(0;0), B(0:1), C(1;1), D(1,0), шагом h=l/n, где n-количество узлов, принимающее условия Дирихле на всех границах кроме правой (на правой поставлено условие Неймана). Уравнение решается методом сеток, c точностью ?= 0,0000001. Программа разработана на языке C++.
1. Численная постановка задачи
Уравнение Лапласа является модельным для эллиптических уравнений в частных производных.
Некоторые важные задачи, часто встречающиеся в приложениях, сводятся к решению одного эллиптического уравнения. К ним относятся задачи расчета дозвукового безвихревого (потенциального) течения газа и определения стационарного поля температуры в твердом теле.
В данной работе требуется решить, конечно - разностную задачу Дирихле или Неймана для уравнения Лапласа в прямоугольной области т. е. найти непрерывную функцию u(х,у), удовлетворяющую внутри многоугольной области
уравнению Лапласа
(1)
и принимающую на границе области W заданные значения, т. е.
, ,
, ,
где f1=0, f2=0, f3=0, f4=0.
Будем считать, что u(х,у) непрерывна на границе области W, т. е.
,
,
,
.
Выбрав шаги h, l по x и y соответственно, строим сетку:
, , , ,
где , .
Вводя обозначения
,
аппроксимируем частные производные и в каждом внутреннем узле сетки центральными разностными производными второго порядка
,
и заменим уравнение Лапласа конечно-разностным уравнением
, (2)
, .
Погрешность замены дифференциального уравнения разностным, составляет величину .
Уравнения (2) вместе со значениями в граничных узлах образуют систему линейных алгебраических уравнений относительно приближенных значений функции и(х, у) в узлах сетки . Наиболее простой вид имеет эта система при :
, , , , (3)
, .
При получении сеточных уравнений (3) была использована схема узлов. Набор узлов, используемых для аппроксимации уравнения в точке, называется шаблоном. В данной работе используется шаблон типа крест.
Численное решение задачи Дирихле для уравнения Лапласа в многоугольнике состоит в нахождении приближенных значений искомой функции u(х,у) во внутренних узлах сетки. Для определения величин требуется решить систему линейных алгебраических уравнений (3).
В данной работе она решается методом минимальных невязок, который состоит в построении последовательности итераций вида:
,
где - невязка
- итерационный параметр
(верхним индексом s обозначен номер итерации). При последовательность сходится к точному решению системы (3). В качестве условия окончания итерационного процесса можно принять
.
Таким образом, погрешность приближенного решения, полученного методом сеток, складывается из двух погрешностей: погрешности аппроксимации дифференциального уравнения разностными значениями; погрешности, возникающей в результате приближенного решения системы разностных уравнений (3).
Известно, что описанная здесь разностная схема обладает свойством устойчивости и сходимости. Устойчивость схемы означает, что малые изменения в начальных данных приводят к малым изменениям решения разностной задачи. Только такие схемы имеет смысл применять в реальных вычислениях. Сходимость схемы означает, что при стремлении шага сетки к нулю () решение разностной задачи стремится к решению исходной задачи. Таким образом, выбрав достаточно малый шаг h, можно как угодно точно решить исходную задачу.
Пример решения такой задачи Дирихле, приведен в решении заданного примера.
. Решение заданного примера
программа уравнение лаплас прямоугольный
Используя метод сеток, составить приближенное решение задачи Дирихле для уравнения Лапласа (1).
Решение получить в квадрате ABCD, с вершинами A(0;0), B(0:1), C(1;1), D(1,0) шагом h=l/n, где n-количество узлов, принимающее условия Дирихле на всех границах кроме правой (на правой границе поставлено условие Неймана).
; ; ; .
Систему линейных алгебраических уравнений решить по методом минимальных невязок, при ?=0,0000001.
1)Построим сетку с шагом h=l=0,2
2. Построим итерационный процесс
В виде начального приближения возьмем ,
условия окончания итерационного процесса: .
. Листинг программы
#define _USE_MATH_DEFINES
#include
#include
#include
#include
#includenamespace std;
//объявление типов точек области начало
<