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

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 17.09.2013
Размер файла 27,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

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

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

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

Курган 1998

Рассмотрим смешанную задачу для волнового уравнения ( 2 u/ t2) = c 2 * ( 2u/ x2). Задача состоит в отыскании функции 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* , j = 0,1..., m, m = T и аппроксимируем уравнение в каждом внутреннем узле сетки на шаблоне типа “крест”.

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

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

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

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

Для простоты в данной лабораторной работе заданы нулевые граничные условия, т.е. 1(t) 0, 2(t) 0. Значит, в схеме u0,j= 0, unj=0 для всех j. Схема называется трехслойной на трех временных слоях с номерами j-1, j, j+1. Схема явная, т.е. позволяет в явном виде выразить 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) по формуле. На нулевом временном слое (j=0) решение известно из начального условия ui0 = f(xi).

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

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

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

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

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

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

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

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

ht - шаг сетки по переменной 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 GIP3 Begin... End происходит циклическое обращение, перед первым обращением к программе элементам массива u2 присваиваются начальные значения, а элементам массива u1 - значения на решения на первом слое. При выходе из подпрограммы GIP3 в массиве u2 находится значение решения на новом временном слое, а в массиве u1 - значение решения на предыдущем слое.

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

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

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

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

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

Пример: задача уравнение сетка колебание

Решить задачу о колебании струны единичной длины с закрепленными концами, начальное положение которой изображено на рисунке. Начальные скорости равны нулю. Вычисления выполнить с шагом h по x, равным 0.1, с шагом по 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.

Размещено на Allbest.ru


Подобные документы

  • Решение конечно-разностной задачи Дирихле для уравнения Лапласа в прямоугольной области. Погрешность замены дифференциального уравнения разностным. Использование схемы узлов при получении сеточных уравнений. Сущность метода Зайделя. Листинг программы.

    курсовая работа [348,5 K], добавлен 26.04.2011

  • Разработка программы на языке С++ для решения дифференциального уравнения Лапласа в прямоугольной области методом сеток. Численное решение задачи Дирихле для уравнения Лапласа, построение сетки и итерационного процесса. Листинг и результат программы.

    курсовая работа [307,5 K], добавлен 30.04.2012

  • Математическое описание алгоритмов схемы и операций для уравнения Лапласа. Изучение разностной схемы "крест" для нахождения численного решения эллиптического уравнения, задача Дирихле. Использование указателей в среде Matlab для решений методом Гаусса.

    дипломная работа [859,3 K], добавлен 23.10.2014

  • Рассмотрение двух методов нахождения приближенного корня дифференциального уравнения, применение их на практике. Графическая интерпретация метода Эйлера. Решение задачи усовершенствованным методом Эйлера. Программная реализация, блок-схемы и алгоритм.

    курсовая работа [246,8 K], добавлен 17.06.2013

  • Сетка, аппроксимация частных производных разностными отношениями. Операторная форма записи дифференциальных краевых задач. Нормы, погрешность приближённого решения. Сходимость и её порядок. Cмешанная краевая задача с граничными условиями третьего рода.

    контрольная работа [501,6 K], добавлен 08.10.2011

  • Анализ метода касательных (метода секущих Ньютона), аналитическое решение нелинейного уравнения. Описание алгоритма решения задачи, пользовательских идентификаторов, блок-схем, программного обеспечения. Тестирование программы на контрольном примере.

    курсовая работа [97,1 K], добавлен 10.01.2014

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

    курсовая работа [138,5 K], добавлен 01.10.2009

  • Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.

    курсовая работа [163,5 K], добавлен 27.05.2013

  • Дифференциальные уравнения как уравнения, в которых неизвестными являются функции одного или нескольких переменных, причем в уравнения входят не только сами функции, но и их производные. Решение операторным методом, с помощью рядов, методом Эйлера.

    курсовая работа [301,4 K], добавлен 27.03.2011

  • Постановка задачи о коммивояжере. Нахождение оптимального решения с применением метода ветвей и границ. Основной принцип этого метода, порядок его применения. Использование метода верхних оценок в процедуре построения дерева возможных вариантов.

    курсовая работа [167,8 K], добавлен 01.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.