Решение смешанной задачи для уравнения гиперболического типа методом сеток

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

    МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ Р.Ф.
    КУРГАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
    Кафедра прикладной и высшей математики
    Лабораторная
    работа № 43
    на тему:
    Решение смешанной задачи для уравнения
    гиперболического типа методом сеток
    Группа М-2136
    Выполнил студент
    _______________________
    Проверил преподаватель
    Воронова Лилия Ивановна
    Курган 1998
    Рассмотрим смешанную задачу для волнового
    уравнения
    2 u/
    2 * (
    2) (1).
    Задача состоит в отыскании функции u(x,t) удовлетворяющей данному уравнению при 0 t
    начальным условиям u(x,0) = f(x),
    u(x,0)/
    t = g(x) , 0
    и нулевыми краевыми условиями u(0,t) = u(1,t)=0.
    Так как замена переменных t
    приводит уравнение (1) к виду (
    то в дальнейшем будем считать с = 1.
    Для построения разностной схемы решения задачи строим в области D = {(x,t) | 0
    a, 0
    } сетку x
    i = ih, i=0,1 ... n , a = h * n, t
    j = j*
    , j = 0,1 ... , m,
    m = T и аппроксимируем уравнение (1) в каждом внутреннем узле сетки на шаблоне типа “крест”.
    Используя для аппроксимации частных производных центральные разностные производные, получаем следующую разностную аппроксимацию уравнения (1) .
    i,j+1 - 2u
    ij + u
    i,j-1
    i+1,,j - 2u
    ij + u
    i-1, j
    Здесь u
    ij - приближенное значение функции u(x,t) в узле (x
    Полагая, что
    / h , получаем трехслойную разностную схему
    i,j+1 = 2(1-
    2 )u
    i,j +
    2 (u
    i+1,j- u
    i-1,j) - u
    i,j-1 , i = 1,2 ...
    Для простоты в данной лабораторной работе заданы нулевые граничные условия, т.е.
    1(t)
    2(t)
    0. Значит, в схеме (5) u
    0,j= 0, u
    nj=0 для всех j. Схема (5) называется трехслойной на трех временных слоях с номерами j-1, j , j+1. Схема (5) явная, т.е. позволяет в явном виде выразить u
    i,j через значения u с предыдущих двух слоев.
    Численное решение задачи состоит в вычислении приближенных значений u
    i,j решения u(x,t) в узлах (x
    j) при i =1, ... n, j=1,2, ... ,m . Алгоритм решения основан на том, что решение на каждом следующем слое ( j = 2,3,4, ... n) можно получить пересчетом решений с двух
    предыдущих слоев ( j=0,1,2, ... , n-1) по формуле (5). На нулевом временном слое (j=0) решение известно из начального условия u
    i0 = f(x
    Для вычисления решения на первом слое (j=1) в данной лабораторной работе принят простейший способ, состоящий в том, что если положить
    u(x,0)/
    ( u( x,
    ) - u(x,0) )/
    (6) , то u
    i1=u
    i), i=1,2, ... n. Теперь для вычисления решений на следующих слоях можно применять формулу (5). Решение на каждом следующем слое получается пересчетом решений с двух
    предыдущих слоев по формуле (5).
    Описанная выше схема аппроксимирует задачу с точностью до О(
    2). Невысокий порядок аппроксимации по
    объясняется использованием слишком грубой аппроксимации для производной по е в формуле (6).
    Схема устойчива, если выполнено условие Куранта
    h. Это означает, что малые погрешности, возникающие, например, при вычислении решения на первом слое, не будут неограниченно возрастать при переходе к
    каждому новому временному слою. При выполнении условий Куранта схема обладает равномерной сходимостью, т.е. при h
    0 решение разностной задачи равномерно стремится к регшению исходной смешанной задачи.
    Недостаток схемы в том, что как только выбраная величина шага сетки h в направлении x , появляется ограничение на величину шага
    по переменной t . Если необходимо произвести вычисление для большого значения величины T , то может потребоваться большое количество шагов по переменной
    t. Указанный гнедостаток характерен для всех явных разностных схем.
    Для оценки погрешности решения обычно прибегают к методам сгущения сетки.
    Для решения смешанной задачи для волнового уравнения по явной разностной схеме (5) предназначена часть программы, обозначенная Subroutine GIP3 Begn ... End . Данная подпрограмма
    вычисляет решение на каждом слое по значениям решения с двух предыдущих слоев.
    Входные параметры :
    hx - шаг сетки h по переменной х;
    ht - шаг сетки
    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 GIP3 Begin ... End происходит циклическое обращение, пеоред первым обращением к программе элементам массива u2 присваиваются
    начальные значения, а элементам массива u1 - значения на решения на первом слое, вычислинные по формулам (6). При выходе из подпрограммы GIP3 в массиве u2 находится значение решения
    на новом временном слое, а в массиве u1 - значение решения на предыдущем слое.
    Порядок работы программы:
    1) описание массивов u1, u2, u3;
    2) присвоение фактических значений параметрам n, hx, ht, облюдая условие Куранта;
    3) присвоение начального значения решения элементам массива и вычисленное по формулам (6) значение решения на первом слое;
    4) обращение к GIP3 в цикле k-1 раз, если требуется найти решение на k-м слое ( k
    2 ).
    Пример:
    Решить задачу о колебании струны единичной длины с закрепленными концами, начальное положение которой изображено на рисунке. Начальные скорости равны нулю. Вычисления выполнить с
    шагом h по x, равным 0.1, с шагом
    по t, равным 0.05, провести вычисления для 16 временных слоев с печатью результатов на каждом слое. Таким образом, задача имеет вид
    2) , x
    [ 0 , 1 ] ,
    [ 0 , T ] ,
    u ( x , 0 ) = f (x) , x
    [ 0 , a ],
    u(x,0)/
    t = g(x) ,
    [ 0 , a ],
    u ( 0 , t ) = 0,
    u ( 1 , t ) = 0,
    [ 0 , 0.8 ],
    2x , x
    [ 0 , 0.5 ] ,
    f(x) =
    g( x ) = 0
    2 - 2x , x
    [ 0.5 , 1 ] ,
    Строим сетку из 11 узлов по x и выполняем вычисления для 16 слоев по t. Программа, и результаты вычисления приведены далее.
    Язык: Русский
    Скачиваний: 344
    Формат: Pascal, Microsoft Word
    Размер файла: 17 Кб
    Автор:
    Скачать работу...

    Забрать файл

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


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


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