Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
87
Добавлен:
17.04.2013
Размер:
308.74 Кб
Скачать

Московский Государственный Институт Электронной Техники

( Технический Университет )

Курсовая работа по теме :

Численные методы решения разностных уравнений математической физики

Вариант №11.

Выполнил: Ивченко В.Н.

Группа: МП-34

Руководитель: Соколова Т.В.

МОСКВА 2000 г.

Постановка задачи.

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

физики методом сеток.

Данное уравнение является уравнением гиперболического типа и физически отражает процесс колебания струны. Искомое решение U(x,y) - вертикальное отклонение струны в точке x в момент времени t.

Данная краевая задача состоит в нахождении функции U(x,y), удовлетворяющей уравнению, а также заданным начальным и граничным условиям.

Граничное условие рода определяет закон движения правого конца струны так называемое условие «упругого закрепления».Для левого конца в качестве граничного условия задано условие

Начальные условия и задают начальную форму струны и распределение скоростей в начальный момент времени.

РЕШЕНИЕ ЗАДАЧИ С ПОМОЩЬЮ ЯВНОЙ РАЗНОСТНОЙ СХЕМЫ

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

2.1 Аппроксимация дифференциального уравнения

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

Получаем конечно-разностную систему :

Обозначим и выразим через остальные значения сеточной функции,

входящие в уравнение:

i = 1,.....,m-1;

j = 1,.....,n-1.

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

2.2 Аппроксимация 1-го начального условия.

(2)

2.3 Аппроксимация 1-го граничного условия.

Аппроксимация краевого условия второго рода используется только для нахождения решения на границе i=0 в явном виде:

(3)

2.4 Аппроксимация 2-го начального условия.

Для более точного аппроксимирования 2-го начального условия разложим в окрестности точки по формуле Тейлора и используя начальные условия перейдем к конечным разностям:

(4)

Формула (4) используется на начальном этапе для вычисления значения функции U на первом слое, по известным значениям функции на нулевом слое и на границе .

  1. Аппроксимация 2-го граничного условия.

Для более точного аппроксимирования 2-го граничного условия разложим в окрестности точки (1,y ) по формуле Тейлора:

Используя уравнение краевой задачи и второе граничное условие получаем:

Перейдя к конечным разностям, записываемыми в узле , получаем:

(5)

Выражая из него получаем:

(6)

Найдем необходимую точку. Из (4) , при

Откуда -

(7)

Из (5) , при :

Откуда -

(8)

Из (1) , при

(9)

Итак при и определены. Включается рекуррентная процедура.

Порядок аппроксимации данной разностной схемы .

Устойчивость решения.

Для уравнений гиперболического типа метод спектральных гармоник

приводит к следующему условию устойчивости:

(7),

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

Отсюда, в частности, получаем для явной схемы () условие устойчивости Куранта-Леви: .

РЕШЕНИЕ ЗАДАЧИ С ПОМОЩЬЮ НЕЯВНОЙ РАЗНОСТНОЙ СХЕМЫ.

Рассмотрим снова краевую задачу . Для аппроксимации уравнения используем Т-образный пятиточечный шаблон . Уравнение аппроксимируется следующими уравнениями :

3.1 Аппроксимация дифференциального уравнения

Обозначим и запишем (1) к виду удобному для применения метода прогонки:

3.2 Аппроксимация 1-го начального условия

(3)

3.3 Аппроксимация 1-го граничного условия

(4)

3.4 Аппроксимация 2-го начального условия

Для более точного аппроксимирования 2-го начального условия разложим в окрестности точки по формуле Тейлора и используя 1-ое и 2-ое начальное условия перейдем к конечным разностям:

(5)

Эта формула отличается от аналогичной для явной схемы тем, что аппроксимация разностной производной второго порядка по производится на первом слое, а не на нулевом. Запишем (5) к виду удобному для применения метода прогонки:

(6)

  1. Аппроксимация 2-го граничного условия.

При

(7)

При

3.6 Вычисления прогоночных коэффициентов

Сначала найдем на слое . Определим прогоночные коэффициенты.

Учитывая 1-ое граничное условие и уравнение (6) получаем:

ai = bi =

Ci = 1 +

fi =

b0 = 0, C0 = 1, f0 =

Теперь вычислим граничные прогоночные коэффициенты

aM =0, CM = 1, fM = .

Методом прогонки находим где ;

Теперь зная значения находим где

Используя уравнение (2) находим прогоночные коэффициенты:

ai = bi =

Ci = 1 +

fi = 2Ui,j - Ui,j-1

b0 = 0, C0 = 1, f0 = .

Теперь вычислим граничные прогоночные коэффициенты

aM =0, CM = 1,

fM =.

Методом прогонки находим где;

Тексты программ.

Явная схема.

clear

%----------------Число разбиений по осям-------------

M=50; N=55;

%------------------Вычисление шага сетки-------------

h=1/M; t=1/N;

%--------------------Константы-----------------------

u=zeros(M+1,N+1);

g=t/h;

g2=g^2;

t2=t^2;

h2=h^2;

%------------первое граничное условие

for j=0:N,

u(1,j+1)=20*(j*j*t*t+cos(3*pi*j*t/2));

end

%------------первое начальное условие

for i=1:M-1,

u(i+1,1)=20*((i^2)*h2)+20*(sin(3*pi*i*h/2)+cos(3*pi*i*h/2));

end

%%------------заполнение матрицы

for i=1:M-1,

u(i+1,2)=(1-g2)*u(i+1,1)+g2/2*(u(i,1)+u(i+2,1));

end

u(M+1,2)=u(M+1,1)+g2*(u(M,1)-u(M+1,1)+h*(40+30*pi));

for j=1:N-1,

for i=1:M-1,

u(i+1,j+2)=2*(1-g2)*u(i+1,j+1)+g2*(u(i,j+1)+u(i+2,j+1))-u(i+1,j);

end

u(M+1,j+2) =2*(1-g2)*u(M+1,j+1)-u(M+1,j)+2*g2*u(M,j+1)+2*g2*h*(40+30*pi*cos(3*pi*t*j/2));

end;

%-------------------построение графиков-----------

contour(u,40);pause;

mesh(u);pause;

for t=1:60:360

mesh(u,[t,50]);

pause;

end

Неявная схема.

%------ определение числа разбиений по осям x, t -----

M=50; N=60;

%--- определение шагов сетки по оси x или t

h=1/M; t=1/N;

%----------- определение рабочих констант ----------

u=zeros(M+1,N+1);

h2=h^2; t2=t^2; g2=t2/h2;

%-----заполнение матрицы U(x,t) 1-ым начальным условием -

for i=0:M,

u(i+1,1)=20*h2*i^2+20*(sin(3*pi*i*h/2)+cos(3*pi*i*h/2));

end

A=zeros(M,1); C=zeros(M+1,1); B=A; A1=A; F=C; B1=C;

%--- этап заполнения матрицы U(x,t) 2-ым начальным условием

%----------1) Определение прогоночных коэффициентов---------

for i=1:M-1,

A(i)=g2/2;

B(i+1)=g2/2;

C(i+1)=1+g2;

F(i+1)=u(1+i,1);

end;

%-----2) Определение граничных прогоночных коэффициентов----

A(M)=0; B(1)=0; C(1)=1; C(M+1)=1;

F(1)=20*(t^2+cos(3*pi*t/2));

F(M+1)=u(M+1,1)+g2*(u(M,1)-u(M+1,1)+h*(40+30*pi));

%------------ определение U(i,1) методом прогонки ---------

A1(1)=B(1)/C(1); B1(1)=F(1)/C(1);

for i=2:M

A1(i)=B(i)/(C(i)-A(i-1)*A1(i-1));

B1(i)=(F(i)+A(i-1)*B1(i-1))/(C(i)-A(i-1)*A1(i-1));

end;

B1(M+1)=(F(M+1)+A(M)*B1(M))/(C(M+1)-A(M)*A1(M));

u(M+1,2)=B1(M+1);

for i=M:-1:1,

u(i,2)=A1(i)*u(i+1,2)+B1(i);

end;

%------------ этап заполнения матрицы U(x,t) --------------

%-----------1) Определение прогоночных коэффициентов-------

for i=1:M-1, A(i)=g2; B(i+1)=g2; C(i+1)=1+2*g2; end

%-------2) Определение граничных прогоночных коэффициентов--

A(M)=0; B(1)=0; C(1)=1; C(M+1)=1;

%------- определение U(i,j) методом прогонки -------

A1(1)=B(1)/C(1);

for i=2:M,

A1(i)=B(i)/(C(i)-A(i-1)*A1(i-1));

end

for j=2:N,

F(1)=20*((j*j*t*t)+cos(3*pi*j*t/2));

for i=1:M-1,

F(i+1)=2*u(i+1,j)-u(i+1,j-1); end;

F(M+1)=2*g2*(u(M,j)-u(M+1,j)+40*h+30*pi*h*cos(3*pi/2*t*(j-1)))-u(M+1,j-1)+2*u(M+1,j);

B1(1)=F(1)/C(1);

for i=2:M,

B1(i)=(F(i)+A(i-1)*B1(i-1))/(C(i)-A(i-1)*A1(i-1));

end;

B1(M+1)=(F(M+1)+A(M)*B1(M))/(C(M+1)-A(M)*A1(M));

u(M+1,j+1)=B1(M+1);

for i=M:-1:1,

u(i,j+1)=A1(i)*u(i+1,j+1)+B1(i);

end;

end;

%---------построение графиков--------------

contour(u,40);

pause;

mesh(u);

pause;

for t=1:60:360

mesh(u,[t,0]);

pause;

end;

Результаты работы.

Явная схема.

Неявная схема

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ :

1. В.Г. Долголаптев, В.Н. Земсков. Численные методы решения разностных

уравнений математической физики. Методические указания к курсовой работе

по высшей математике., МИЭТ 1987.

2. В.Н. Земсков, С.Я. Хахалин. Метод сеток. Методические указания к выоплнению курсовой работы на персональном компьютере., МИЕТ 1998.

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