RSS    

   Метод конечных разностей или метод сеток - (курсовая)

Метод конечных разностей или метод сеток - (курсовая)

Дата добавления: март 2006г.

    ВВЕДЕНИЕ

Значительнаое число задач физики и техники приводят к дифференциальным уравнениям в частных прозводных (уравнения математической физики). Установившиеся процессы различной физической природы описываются уравнениями эллиптического типа.

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

Суть метода состоит в следующем. Область непрерывного изменения аргументов, заменяется дискретным множеством точек (узлов), которое называется сеткой или решёткой. Вместо функции непрерывного аргумента рассматриваются функции дискретного аргумента, определённые в узлах сетки и называемые сеточными функциями. Производные, входящие в дифференциальное уравнение и граничные условия, заменяются разностными производными, при этом краевая задача для дифференциального уравнения заменяется системой линейных или нелинейных алгебраических уравнений (сеточных или разностных уравнений). Такие системы часто называют разностными схемами. И эти схемы решаются относительно неизвестной сеточной функции.

Далее мы будем рассматривать применение итерационного метода Зейделя для вычисления неизвестной сеточной функции в краевой задаче с неоднородным бигармоническим уравнением.

    ПОСТАНОВКА ЗАДАЧИ
    Пусть у нас есть бигармоническое уравнение :
    2
    U = f

Заданное на области G={ (x, y) : 0
    U = 0 Y
    x=0 b
    Uxxx = 0
    x=0
    G
    Ux = 0
    x=a
    Uxxx = 0 0 a X
    x=a
    U = 0 U = 0
    y=0 y=b
    Uy = 0 Uxx + Uyy = 0
    y=0 y=b y=b
    Надо решить эту задачу численно.

Для решения будем использовать итерационный метод Зейделя для решения сеточных задач.

По нашей области G построим равномерные сетки Wx и Wy с шагами hx и hy соответственно . Wx={ x(i)=ihx, i=0, 1.... N, hxN=a }

    Wy={ y(j)=jhy, j=0, 1.... M, hyM=b }

Множество узлов Uij=(x(i), y(j)) имеющих координаты на плоскости х(i), y(j) называется сеткой в прямоугольнике G и обозначается :

W={ Uij=(ihx, jhy), i=0, 1.... N, j=0, 1.... M, hxN=a, 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 = Yi - Yi-1 , L2Yi=L1Yi+1
    h

и называются соответственно левой и правой производной. Используется так же центральная производная :

    L3Yi=Yi+1 - Yi-1 = (L1+L2)Yi
    2h 2

Разностные операторы A1, A2, A3имеют шаблоны состоящие 2х точек и используются при апроксимации первой производнойLu=u’ . Разностные производные n-ого порядка определяются как сеточные функции получаемые путём вычисления первой разностной производной от функции, являющейся разностной производнойn-1 порядка, например :

    Yxxi=Yxi+1 - Yxi = Yi-1-2Yi+Yi+1
    2
    h h
    Yxxi= Yxi+1-Yxi-1 = Yi-2 - 2Yi+Yi+ 2
    2
    2h 4h

которые используются при апроксимации второй производной. Соответствующие разностные операторы имеют 3х точечный шаблон.

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

Аппроксомируем нашу задачу с помощью разностных производных. И применим к получившейся сеточной задаче метод Зейделя.

    МЕТОД ЗЕЙДЕЛЯ

Одним из способов решения сеточных уравнений является итерационный метод Зейделя.

    Пусть нам дана система линейных уравнений :
    AU = f
    или в развёрнутом виде :
    M
    aijUj = fi , i=1, 2.... M
    i=1

Итерационный метод Зейделя в предположении что диагональные элементы матрицы А=(aij) отличны от нуля (aii<>0) записывается в следующем виде :

    i (k+1) M (k)
    aijYj + aijYj = fi , i=1, 2.... M
    j=1 j=i+1
    (k)

где Yj - jая компонента итерационного приближения номера k. В качестве начального приближения выбирается произвольный вектор. Определение (k+1)-ой итерации начинается с i=1

    (k+1) M (k)
    a11Y1 = - a1jYj +f1
    j=2
    (k+1)
    Так как a11<>0 то отсюда найдём Y1. И для i=2 получим :
    (k+1) (k+1) M (k)
    a22Y2 = - a21Y1 - a2jYj + f2
    j=3

(k+1) (k+1) (k+1) (k+1) Пусть уже найдены Y1 , Y2 .... Yi-1 . Тогда Yi находится из уравнения :

    (k+1) i-1 (k+1) M (k)
    aiiYi = - aijYj - aijYj + fi (*) j=1 j=i+1

Из формулы (*) видно , что алгоритм метода Зейделя черезвычайно прост. Найденное по формуле (*) значение Yi размещается на месте Yi. Оценим число арифметических действий, которое требуется для реализации одного итерационного шага. Если всеaij не равны нулю, то вычисления по формуле (*) требуют M-1 операций умножения и одного деления. Поэтому реализация

    2

одного шага осуществляется за 2M - M арифметических действий. Если отлично от нуля лишь m элементов, а именно эта ситуация имеет место для сеточных эллиптических уравнений, то на реализацию итерационного шага потребуется2Mm-M действий т. е. число действий пропорционально числу неизвестных M. Запишем теперь метод Зейделя в матричной форме. Для этого представим матрицу A в виде суммы диагональной, нижней треугольной и верхней треугольной матриц :

    A = D + L + U
    где
    0 0 ... . 0 0a12 a13 ... . a1M
    a210 0 0a23 ... . a2M
    a31 a320 0 .
    L = . U= .
    ...
    . aM-1M
    aM1 aM2 ... . aMM-10 0 0
    И матрица D - диагональная.
    (k) (k) (k)

Обозначим через Yk = ( Y1 , Y2 .... YM ) вектор k-ого итерационного шага. Пользуясь этими обозначениями запишем метод Зейделя иначе :

    ( D + L )Yk+1 + UYk = f , k=0, 1....

Приведём эту итерационную схему к каноническому виду двухслойных схем :

    ( D + L )(Yk+1 - Yk) +AYk = f , k=0, 1....

Мы рассмотрели так называемый точечный или скалярный метод Зейделя, анологично строится блочный или векторный метод Зейделя для случая когдаaii - есть квадратные матрицы, вообще говоря, различной размерности, а aij для i<>j - прямоугольные матрицы. В этом случае Yi и fi есть векторы, размерность которых соответствует размерности матрицы aii.

    ПОСТРОЕНИЕ РАЗНОСТНЫХ СХЕМ

Пусть Yi=Y(i) сеточная функция дискретного аргумента i. Значения сеточной функции Y(i)в свою очередь образуют дискретное множество. На этом множестве можно определять сеточную функцию, приравнивая которую к нулю получаем уравнение относительно сеточной функцииY(i)- сеточное уравнение. Специальным случаем сеточного уравнения является разностное уравнение.

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

    Так дифференциальное уравнение первого порядка :
    dU = f(x) , x > 0
    dx
    можно заменить разностным уравнением первого порядка :
    Yi+1 - Yi = f(xi) , xi = ih, i=0, 1....
    h

или Yi+1=Yi+hf(x), где h - шаг сетки v={xi=ih, i=0, 1, 2.... }. Искомой функцией является сеточная функция Yi=Y(i). При разностной аппроксимации уравнения второго поряда

    2
    d U = f(x)
    2
    dx
    получим разностное уравнение второго порядка :
    2
    Yi+1 - 2Yi + Yi+1 = yi , где yi=h f i
    fi = f(xi)
    xi = ih

Страницы: 1, 2


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.