Реферат: Решение смешанной задачи для уравнения

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯР.Ф.

КУРГАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


Кафедра прикладной и высшей математики

Лабораторная  работа № 43

на тему:

Решение смешанной задачи для уравнения

гиперболического типа методом сеток

Группа М-2136

Курган 1998

Рассмотрим смешанную задачу для волнового уравнения            (    2 u/  t2) =  c 2 * (    2u/   x2) (1). Задача состоит в отыскании функции u(x,t)удовлетворяющей данному уравнению при0 < x < a, 0 < t £T, начальнымусловиям u(x,0) = f(x),  u(x,0)/ t = g(x), 0 £ x £  a инулевыми краевыми условиями u(0,t) = u(1,t)=0.

Так как замена переменных t ®   ct приводит уравнение (1)к виду (    2 u/  t2)(   2u/   x2),то в дальнейшем будем считать с = 1.

Для построения разностной схемы решения задачи строимв области D = {(x,t) | 0 £  x £  a, 0 £  t £  T } сеткуxi = ih, i=0,1… n, a = h * n, tj = j* ttt , j = 0,1…, m, t m = T и аппроксимируемуравнение (1) в каждом внутреннем узле сетки на шаблоне типа “крест”.

/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/> 

    t

  T

j+1

   j

j-1                   

  0           i-1   i    i+1

  

Используя для аппроксимации частных производныхцентральные разностные производные, получаем следующую разностную аппроксимациюуравнения (1) .

  ui,j+1 — 2uij + ui,j-1           ui+1,,j — 2uij + ui-1, j

 


                               t  2                                        h2             

(4)

Здесь uij — приближенное значение функцииu(x,t) в узле (xi,tj).

Полагая, что  l  =  t / h, получаем трехслойную разностную схему

ui,j+1 = 2(1-  l   2 )ui,j + l   2 (ui+1,j — ui-1,j)- ui,j-1, i = 1,2 ...  n.             (5)

Для простоты в данной лабораторной работе заданынулевые граничные условия, т.е. m  1(t) º  0, m  2(t) º  0. Значит, в схеме (5) u0,j= 0, unj=0для всех j. Схема (5) называется трехслойной на трех временных слоях с номерамиj-1, j, j+1. Схема (5) явная, т.е. позволяет в явном виде выразить ui,jчерез значения u с предыдущих двух слоев.

Численное решение задачи состоит в вычисленииприближенных значений ui,j решения u(x,t) в узлах (xi,tj)при i =1,… n, j=1,2,… ,m. Алгоритм решения основан на том, что решениена каждом следующем слое ( j = 2,3,4,… n) можно получить пересчетом решенийс двух предыдущих слоев ( j=0,1,2,…, n-1) по формуле (5). На нулевомвременном слое (j=0) решение известно из начального условия ui0 =f(xi).

Для вычисления решения на первом слое (j=1) в даннойлабораторной работе принят простейший способ, состоящий в том, что еслиположить    u(x,0)/  t  »  ( u( x, t  ) — u(x,0) )/ t   (6), то ui1=ui0+       + t  (xi), i=1,2,… n. Теперь для вычисления решений наследующих слоях можно применять формулу (5). Решение на каждом следующем слоеполучается пересчетом решений с двух предыдущих слоев по формуле (5).

Описанная выше схема аппроксимирует задачу с точностьюдо О( t +h2). Невысокий порядок аппроксимации по t объясняется использованием слишком грубой аппроксимации дляпроизводной по е в формуле (6).

Схема устойчива, если выполнено условие Куранта  t   < h. Это означает, что малые погрешности, возникающие, например,при вычислении решения на первом слое, не будут неограниченно возрастать припереходе к каждому новому временному слою. При выполнении условий Куранта схемаобладает равномерной сходимостью, т.е. при h  ®     0решение разностной задачи равномерно стремится к регшению исходной смешаннойзадачи.

Недостаток схемы в том, что как только выбранаявеличина шага сетки h в направлении x, появляется ограничение на величинушага  t    по переменной t. Если необходимо произвестивычисление для большого значения величины T, то может потребоваться большоеколичество шагов по переменной t. Указанный гнедостаток характерен для всехявных разностных схем.

Для оценки погрешности решения обычно прибегают кметодам сгущения сетки.

Для решения смешанной задачи для волнового уравненияпо явной разностной схеме (5) предназначена часть программы, обозначеннаяSubroutine GIP3 Begn… End. Данная подпрограмма вычисляет решение на каждомслое по значениям решения с двух предыдущих слоев.

Входные параметры :

hx — шаг сетки h по переменной х;

ht — шаг сетки   t    по переменной t;

k — количество узлов сетки по x, a = hn;

u1 — массив из k действительных чисел, содержащийзначение решений на ( j — 1 ) временном слое, j = 1, 2,… ;

u2 — массив из n действительных чисел, содержащийзначение решений на j — м временном слое, j = 1, 2,… ;

u3 — рабочий массив из k действительных чисел.

Выходные параметры :

u1 — массив из n действительных чисел, содержащийзначение решения из j — м временном слое, j = 1, 2,… ;

u2 — массив из n действительных чисел, содержащийзначение решения из ( j +1) — м временном слое, j = 1, 2, ...  .

К части программы, обозначенной как Subroutine GIP3Begin… End происходит циклическое обращение, пеоред первым обращением кпрограмме элементам массива u2 присваиваются начальные значения, а элементам массиваu1 — значения на решения на первом слое, вычислинные по формулам (6). Привыходе из подпрограммы GIP3 в массиве u2 находится значение решения на новомвременном слое, а в массиве u1 — значение решения на предыдущем слое.

Порядок работы программы:

1) описание массивов u1, u2, u3;

2) присвоение фактических значений параметрам n, hx,ht, облюдая условие Куранта;

3) присвоение начального значения решения элементаммассива и вычисленное по формулам (6) значение решения на первом слое;

4) обращение к GIP3 в цикле k-1 раз, если требуетсянайти решение на k-м слое ( k  ³   2 ).

Пример:

/>/>/>/>    

                             1

       0.5                0.5

Решить задачу о колебании струны единичной длины сзакрепленными концами, начальное положение которой изображено на рисунке.Начальные скорости равны нулю. Вычисления выполнить с шагом h по x, равным 0.1,с шагом  t     по t, равным 0.05, провести вычисления для 16временных слоев с печатью результатов на каждом слое. Таким образом, задачаимеет вид

( ¶   2 u/ ¶  t2) =  ( ¶  2 u/ ¶  x 2), x  Π   [ 0, 1 ] ,  t   Π   [ 0, T ] ,

u ( x, 0 ) = f (x), x  Π   [ 0, a ],    ¶  u(x,0)/¶  t = g(x) ,  x   Π   [ 0, a ],

u ( 0, t ) = 0,  u ( 1, t ) = 0,   t  Π   [ 0, 0.8 ],

 

                æ  2x, x  Π  [ 0, 0.5 ] ,

f(x) =      í                                                                  g( x) = 0

                î  2 — 2x, x  Π   [ 0.5, 1] ,

Строим сетку из 11 узлов по x и выполняем вычислениядля 16 слоев по t. Программа, и результаты вычисления приведены далее.

еще рефераты
Еще работы по математике