Хостинг от HOST PROM - это надежное место для Ваших проектов !

 


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

 

Рассмотрим смешанную задачу для волнового  уравнения            (    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 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 ).

Пример:

    

 

 

 

 

 

                             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. Программа, и результаты вычисления приведены далее.

 

Приложение 1 

(пример выполнениялабораторной работы)

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

Program Laboratornaya_rabota_43;

Const

hx = 0.1 ;     { Шаг по x - hx }

  ht = 0.05 ;    { Шаг по t - ht }

  n  = 11 ;      { Количество узлов }

Function f(x : Real) : Real; { Данная функция              }

                             { вычисляющая решение при t=0 }

Begin

 

  If x <= 0.5 then

                f := 2 * x

              else

                f := 2 - 2 * x;

End;

Function g(x : Real) : Real; { Данная функция                          }

                             { вычисляющая

Страниц (6):  [1] 2 3 4 5 6


 


Быстрый хостинг
Быстрый хостинг - Скорость современного online бизнеса

 

Яндекс.Метрика

Load MainLink_Second mode.Simple v3.0:
Select now URL.REQUEST_URI: webknow.ru%2Fmatematika_00002.html
Char set: data_second: Try get by Socet: webknow.ru%2Fmatematika_00002.html&d=1
					  

Google

На главную Авиация и космонавтика Административное право
Арбитражный процесс Архитектура Астрология
Астрономия Банковское дело Безопасность жизнедеятельности
Биографии Биология Биология и химия
Ботаника и сельское хозяйство Бухгалтерский учет и аудит Валютные отношения
Ветеринария Военная кафедра География
Геодезия Геология Геополитика
Государство и право Гражданское право и процесс Делопроизводство
Деньги и кредит Естествознание Журналистика
Зоология Издательское дело и полиграфия Инвестиции
Иностранный язык Информатика, программирование Исторические личности
История История техники Кибернетика
Коммуникации и связь Косметология Краткое содержание произведений
Криминалистика Криптология Кулинария
Культура и искусство Культурология Литература и русский язык
Литература зарубежная Логика Логистика
Маркетинг Математика Медицина, здоровье
Международное публичное право Частное право Отношения
Менеджмент Металлургия Москвоведение
Музыка Муниципальное право Налоги
Наука и техника Новейшая история Разное
Педагогика Политология Право
Предпринимательство Промышленность Психология
Психология, педагогика Радиоэлектроника Реклама
Религия и мифология Риторика Сексология
Социология Статистика Страхование
Строительство Схемотехника Таможенная система
Теория государства и права Теория организации Теплотехника
Технология Транспорт Трудовое право
Туризм Уголовное право и процесс Управление
Физика Физкультура и спорт Философия
Финансы Химия Хозяйственное право
Цифровые устройства Экологическое право Экология
Экономика Экономико-математическое моделирование Экономическая география
Экономическая теория Этика Юриспруденция
Языковедение Языкознание, филология

design by BINAR Design