- •Московский Государственный Институт Электронной Техники
- •Теоретические сведения.
- •§1 Классификация задач.
- •Первая краевая задача для уравнения колебаний струны.
- •§2 Метод сеток
- •§3 Разностная аппроксимация простейших дифференциальных операторов.
- •Решение задачи.
- •Решение задачи с помощью явной разностной схемы
- •2.1 Аппроксимация дифференциального уравнения
- •2.2 Аппроксимация 1-го начального условия.
- •2.3 Аппроксимация 2-го начального условия.
- •2.5 Аппроксимация 2-го граничного условия.
- •Решение задачи с помощью неявной разностной схемы
- •3.1 Аппроксимация дифференциального уравнения
- •3.2 Аппроксимация 1-го начального условия
- •3.3 Аппроксимация 2-го начального условия
- •3.4 Аппроксимация 1-ого граничного условия
- •3.5 Аппроксимация 2-го граничного условия
- •3.6 Вычисления прогоночных коэффициентов
- •Используемая литература
Решение задачи.
Задание: получить приблизительное решение данной краевой задачи уравнения в частных производных математической физики методом сеток.
(1)
(2)
Классификация задачи.
Данное
уравнение является уравнением
гиперболического типа и физически
отражает процесс колебания струны.
Искомое решение
-
вертикальное
отклонение струны в точке x
в момент времени
y.
Данная краевая задача состоит в нахождении функции, удовлетворяющей уравнению (1), а также заданным начальным и граничным условиям (2).
Граничное
условие первого рода
определяет
закон движения правого конца струны.
Для левого конца в качестве граничного
условия задано так называемое условие
«свободного конца» (граничное условие
второго
рода):
![]()
Начальные
условия
и
задают
начальную форму струны и распределение
скоростей в начальный момент времени.
Функция
имеет смысл плотности внешней силы,
рассчитанной на единицу длины.
Решение задачи с помощью явной разностной схемы
В явной разностной схеме значение сеточной функции на последующем слое полностью определяется значением её на предыдущем слое по рекуррентным формулам. В данной задаче аппроксимацию дифференциальных операторов проведём по следующим шаблонам:
2.1 Аппроксимация дифференциального уравнения
Для сведения задачи к явной разностной схеме используем шаблон " крест". Описание аппроксимации дифференциальных операторов с помощью этого шаблона приведено в разделе“Теоретические сведения”.
Получаем конечно-разностную систему:
(3*)
Обозначим = /h и выразим u i,j+1 через остальные значения сеточной функции, входящие в уравнение:
(3)
Уравнение (3) должно выполняться для всех внутренних узлов сетки. Для того чтобы система стала полностью определенной, необходимо дополнить ее уравнениями получаемыми из аппроксимации краевых и начальных условий.
2.2 Аппроксимация 1-го начального условия.
(4)
2.3 Аппроксимация 2-го начального условия.
Второе
начальное условие в общем виде выглядит
следующим образом:
(конкретно
в нашей задаче
).Для более
точного его аппроксимирования разложим
U(x,y)
в окрестности
точки (x,0)
по формуле Тейлора:
![]()
Используя исходное уравнение и начальное условие получим:
![]()
Перейдем к конечным разностям, записываемым в узле (i,1), т.е. на первом слое:
(5*)
Подставляя в эту формулу данные нашей конкретной задачи получаем:
(5)
Принимая во внимание уравнение (4) получаем:
(6)
Формула (6) используется на начальном этапе для вычисления значения функции U на первом слое по известным значениям функции U на нулевом слое и на границе. После того как значения Ui,j для j = 0 и j =1 определены, включается рекуррентная процедура, описываемая уравнением (3), и вычисляется Ui,j+1 для всех i=1,2,..,M-1 для каждого фиксированного j = 1,2,..,N-1.
Аппроксимация 1-го граничного условия.
![]()
(7)
2.5 Аппроксимация 2-го граничного условия.
Разложим U(x,y) в окрестности точки (0,y) по формуле Тейлора:
![]()
Выразим
из этого уравнения
и подставим
в него значение
:
(8)
где
![]()
Теперь возьмем j = 0 и с учетом получим (4):
(8*)
Чтобы
найти
подставим в конечно-разностную систему(3*)
значения i
=
0 и j
=
0.Опять же
учтем равенство (4):
(8**)
ищется
из аппроксимации 2-ого начального условия
(5*),
путем подстановки в него i
=0:
![]()
Воспользуемся
условием (4) и
учтем, что
.
Тогда в итоге получим:
![]()
Подставим этот результат в выражение (8**):
![]()
Подставляя
в выражение (8*)
получаем:
![]()
или
![]()
Таким образом, теперь у нас есть все необходимые данные, чтобы воспользоваться выражением (8) при
j = 1,..,N
Порядок
аппроксимации данной разностной схемы
![]()
Устойчивость решения.
Для уравнений гиперболического типа метод спектральных гармоник приводит к следующему условию устойчивости:
(9)
т.е. если это условие устойчивости не будет выполнено, то в процессе рекуррентного решения возможно накапливание ошибок от слоя к слою.
Отсюда,
в частности, получаем для явной схемы
(
)
условие устойчивости Куранта-Леви:
.
Итак,
у нас
при
j
=0 и j
=1
определены. Теперь включается рекуррентная
процедура описываемая уравнением (3)
и вычисляется
для всехi=1,2,...,M-1,
для каждого фиксированного j=2,...,N-1.
Текст
программы
в среде Matlab приведен в “Приложении”.
Графики функции,
являющейся решением нашего дифференциального
уравнения изображены в “Приложении”.
