Метод конечных разностей или метод сеток. Решение бигармонического уравнения методом Зейделя

    Дисциплина: Разное
    Тип работы: Курсовая
    Тема: Метод конечных разностей или метод сеток. Решение бигармонического уравнения методом Зейделя

    ВВЕДЕНИЕ
    Значительнаое число задач физики и техники приводят к дифференциальным уравнениям в частных прозводных (уравнения математической физики). Установившиеся процессы различной физической
    природы описываются уравнениями эллиптического типа.
    Точные решения краевых задач для эллиптических уравнений удаётся получить лишь в частных случаях. Поэтому эти задачи решают в основном приближённо. Одним из наиболее универсальных и
    эффективных методов, получивших в настоящее время широкое распространение для приближённого решения уравнений математической физики, является метод конечных разностей или метод
    сеток.
    Суть метода состоит в следующем. Область непрерывного изменения аргументов, заменяется дискретным множеством точек (узлов), которое называется сеткой или решёткой. Вместо функции
    непрерывного аргумента рассматриваются функции дискретного аргумента, определённые в узлах сетки и называемые сеточными функциями. Производные, входящие в дифференциальное уравнение и
    граничные условия, заменяются разностными производными, при этом краевая задача для дифференциального уравнения заменяется системой линейных или нелинейных алгебраических уравнений
    (сеточных или разностных уравнений). Такие системы часто называют разностными схемами. И эти схемы решаются относительно неизвестной сеточной функции.
    Далее мы будем рассматривать применение итерационного метода Зейделя для вычисления неизвестной сеточной функции в краевой задаче с неоднородным бигармоническим уравнением.
    ПОСТАНОВКА ЗАДАЧИ
    Пусть у нас есть бигармоническое уравнение :
    U = f
    Заданное на области G={ (x,y) : 0=b }. Пусть также заданы краевые условия на границе области G .
    Uxxx =
    Ux = 0
    Uxxx
    0 = 0
    Uy =
    0= 0
    y=b y=b
    Надо решить эту задачу численно.
    Для решения будем использовать итерационный метод Зейделя для решения сеточных задач.
    По нашей области G построим равномерные сетки Wx и Wy с шагами hx и hy соответственно .
    Wx={ x(i)=ihx, hxN=a }
    Wy={ y(j)=jhy, hyM=b }
    Множество узлов Uij=(x(i),y(j)) имеющих координаты на плоскости х(i),y(j) называется сеткой в прямоугольнике G и обозначается :
    W={ Uij=(ihx,jhy), hyM=b }
    Сетка W очевидно состоит из точек пересечения прямых x=x(i) и y=y(j).
    Пусть задана сетка W.Множество всех сеточных функций заданных на W образует векторное пространство с определённом
    на нём сложениемфункций и умножением функции на число. На пространстве сеточных функций можно определитьразностные или сеточные операторы. 0ператор A преобразующий сеточную
    функцию U в сеточную функцию f=AU называется разностным или сеточным оператором. Множество узлов сетки используемое при написании разностного оператора в узле сетки называется шаблоном
    этого оператора.
    Простейшим разностным оператором является оператор дифференцирования сеточной функции, который порождает разностные производные. Пусть W - сетка с шагом h введённая на R
    т.е.
    W={Xi=a+ih, i=0, + 1, + 2...}
    Тогда разностные производные первого порядка для сеточной функции Yi=Y(Xi) , Xi из W, определяется по формулам :
    L1Yi , L2Yi=L1Yi+1
    и называются соответственно левой и правой производной. Используется так же центральная производная :
    = (L1+L2)Yi
    2h 2
    Разностные операторы n-ого порядка
    определяются как сеточные функции получаемые путём вычисления первой разностной производной от функции, являющейся разностной производной n-1 порядка, например :
    Yxxi=Yxi+1 - Yxi = Yi-1-2Yi+Yi+1
    Yxxi= Yxi+1-Yxi-1 = Yi-2 - 2Yi+Yi+ 2
    которые используются при апроксимации второй производной. Соответствующие разностные операторы имеют 3х точечный шаблон.
    Анологично не представляет труда определить разностные производные от сеточных функций нескольких переменных.
    Аппроксомируем нашу задачу с помощью разностных производных. И применим к получившейся сеточной задаче метод Зейделя.
    МЕТОД ЗЕЙДЕЛЯ
    Одним из способов решения сеточных уравнений является итерационный метод Зейделя.
    Пусть нам дана система линейных уравнений :
    AU = f
    или в развёрнутом виде :
    , i=1,2...M
    Итерационный метод Зейделя в предположении что диагональные элементы матрицы А=(aij) отличны от нуля (aii0) записывается в следующем виде :
    (k+1) (k)
    aijYj i=1,2...M
    j=i+1
    где Yj - jая компонента итерационного приближения номера k. В качестве начального приближения выбирается произвольный вектор.
    Определение (k+1)-ой итерации начинается с i=1
    (k+1) (k)
    a11Y1 = - a1jYj +f1
    (k+1)
    Так как a110 то отсюда найдём Y1. И для i=2 получим :
    (k+1)
    (k+1) (k)
    a22Y2 = - a21Y1 - + f2
    (k+1)
    (k+1)
    (k+1)(k+1)
    Пусть уже найдены Тогда Yi находится из уравнения :
    (k+1)
    M (k)
    aiiYi
    fi (*)
    j=i+1
    Из формулы (*) видно , что алгоритм метода Зейделя черезвычайно прост. Найденное по формуле (*) значение Yi размещается на месте Yi.
    Оценим число арифметических действий, которое требуется для реализации одного итерационного шага. Если все aij не равны нулю, то вычисления по формуле (*)требуют
    Поэтому реализация
    одного шага осуществляется за 2M - M арифметических действий.
    Если отлично от нуля лишь m элементов, а именно эта ситуация имеет место для сеточных эллиптических уравнений, то на реализацию итерационного шага потребуется 2Mm-M действий т.е.
    число действий пропорционально числу неизвестных M.
    Запишем теперь метод Зейделя в матричной форме. Для этого представим матрицу A в виде суммы диагональной, нижней треугольной и верхней треугольной матриц :
    A = D + L + U
    где
    0 . a1M
    0 . a2M
    aM-1M
    И матрица D - диагональная.
    Обозначим через Yk = ( Y1 ,Y2 YM ) вектор k-ого итерационного шага. Пользуясь этими обозначениями запишем метод Зейделя иначе :
    ( D + L )Yk+1 + k=0,1...
    Приведём эту итерационную схему к каноническому виду двухслойных схем :
    ( D + L )(Yk+1 - Yk) +AYk = f , k=0,1...
    Мы рассмотрели так называемый точечный или скалярный метод Зейделя, анологично строится блочный или векторный метод Зейделя для случая когда aii - есть квадратные матрицы, вообще
    говоря, различной размерности, а aij для ij - прямоугольные матрицы. В этом случае Yi и fi есть векторы, размерность которых соответствует размерности матрицы aii.
    ПОСТРОЕНИЕ СХЕМ
    Пусть Yi=Y(i) сеточная функция дискретного аргумента i. Значения сеточной функции Y(i) в свою очередь образуют дискретное множество. На этом множестве можно определять сеточную
    функцию, приравнивая которую к нулю получаем уравнение относительно сеточной функции Y(i) - сеточное уравнение. Специальным случаем сеточного уравнения является разностное
    уравнение.
    Сеточное уравнение получается при аппроксимации на сетке интегральных и дифференциальных уравнений.
    Так дифференциальное уравнение первого порядка :
    можно заменить разностным уравнением первого порядка :
    Yi+1 - Yi = f(xi) , i=0,1...
    или Yi+1=Yi+hf(x), где h - шаг сетки v={xi=ih, i=0,1,2...}. Искомой функцией является сеточная функция Yi=Y(i).
    При разностной аппроксимации уравнения второго поряда
    d U= f(x)
    получим разностное уравнение второго порядка :
    Yi+1 - 2Yi + Yi+1 = yi ,yi=h f i
    = f(xi)
    = ih
    Для разностной aппроксимации производных U’, U’’, U’’’ можно пользоваться шаблонами с большим числом узлов. Это приводит к разностным уравнениям более высокого порядка.
    Анологично определяется разностное уравнение относительно сеточной функции Uij = U(i,j) аргументов . Например пятиточечная разностная схема
    “крест” для уравнения Пуассона
    Uxx + Uyy = f(x,y)
    на сетке W выглядит следующим образом :
    Ui-1j - 2Uij+Ui+1j Uij-1 - 2Uij+Uij+1 = fij
    hx hy
    где hx - шаг сетки по X
    шаг сетки по Y
    Сеточное уравнение общего вида можно записать так:
    CijUj =
    fi i=0,1...N
    Оно содержит все значения U0, U1 ... UN сеточной функции. Его можно трактовать как рзностное уравнение порядка N равного числу узлов сетки минус единица.
    В общем случае под i - можно понимать не только индекс , но и мультииндекс т.е. вектор i = (i1 ... ip) с целочисленными компонентами и тогда :
    СijUj =fi i ^I W
    j^IW
    где сумирование происходит по всем узлам сетки W. Если коэффициенты Сij не зависят от i, тоуравнение называют уравнением с постоянными коэффициентами.
    Аппроксимируем нашу задачу т.е. заменим уравнение и краевые условия на соответствующие им сеточные уравнения.
    U=U(x,y)
    Построим на области G сетку W . И зададим на W сеточную функцию Uij=U(xi,yj) ,
    где
    xi=x0+ihx
    yi=y0+jhy
    hx = a/N ,
    hy = b/M и т.к.
    x0=y0
    то
    xi=ihx, i=0...N
    j=0...M
    Найдём разностные производные входящие в уравнение
    DU = f
    (т.е построим разностный аналог бигармонического уравнения).
    Uxij Uxi-1j = Uij - Ui-1j
    Uxxij Ui-1j - 2Uij + Ui+1j
    Рассмотрим Uxxxxij как разность третьих производных
    Uxxi-1j - Uxxij - Uxxij - Uxxi+1j
    Uxxxxij =
    hx Ui-2j - 4Ui-1j + 6Uij - 4Ui+1j + Ui+2j
    Анологично вычислим производную по y :
    Uyyyyij = Uij-2 - 4Uij-1 + 6Uij - 4Uij+1 +Uij+2
    Вычислим смешанную разностную производную Uxxyy :
    Uxxij - Uxxij+1
    (Uxx)yyij =
    hy =
    = Ui-1j-1 - 2Uij+1 + Ui+1j+1
    hxhy
    hxhy
    hxhy
    В силу того что DU = f
    имеем:
    Ui-2j - 4Ui-1j + 6Uij - 4Ui+1j +Ui+2j +
    + 2 Ui-1j-1 - 2Uij-1 + Ui+1j-1 +
    hxhy
    hxhy
    hxhy
    Это уравнение имеет место для
    i=1,2, ... N-1
    j=1,2, ... M-1
    Рассмотрим краевые условия задачи. Очевидно следующее :
    x=a xN=a
    y=0 Yo=0
    y=b YM=b
    1)(левая граница области G)
    Заменим условия
    U = 0
    Uxxx = 0
    на соответствующие им разностные условия
    Uoj=0
    U-1j=U2j -
    3U1j
    (1`)
    2) (правая граница области G)
    x=a = 0
    UN+1j = UN-1j
    UNj = 4 UN-1j -
    UN-2j
    (2`)
    3) у=0 (нижняя граница области G)
    Ui ,-1 = Ui1
    Ui0 =
    (3`)
    это есть разностный аналог Uy = 0
    U =0
    4) у=b
    т.е.
    UiM=0
    (**)
    Распишем через разностные производные Uxx + Uyy =0 и учитывая что j=M и (**) получим
    UiM-1 = UiM+1
    Итак краевые условия на у=b имеют вид
    UiM+1 = UiM-1
    UiM =
    (4`)
    Итого наша задача в разностных производных состоит из уравнения (*) заданного на сетке W и краевых условий (1`)-(4`) заданных на границе области G (или на границе сетки W)
    ПРИМЕНЕНИЕ МЕТОДА ЗЕЙДЕЛЯ
    Рассмотрим применение метода Зейделя для нахождения приближенного решения нашей разностной задачи (*),(1`) - (4`).
    В данном случае неизвестными являются
    Uij = U(xi,yj)
    где xi = ihx
    yj = jhy
    при чём...

    Забрать файл

    Похожие материалы:


ПИШЕМ УНИКАЛЬНЫЕ РАБОТЫ
Заказывайте напрямую у исполнителя!


© 2006-2016 Все права защищены