Метод Мюллера для решения трансцендентных уравнений с

advertisement
МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РФ
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ
УНИВЕРСИТЕТ имени академика С.П. Королева
Метод прямых в одной задачи
“реакция-диффузия”
Студентка: Фролова Ксения Владимировна
Группа 1205
Руководитель: Горелов Георгий Николаевич
САМАРА 2008
Цель данной работы
разработка алгоритма для нахождения методом прямых
решения дифференциальных уравнений в частных
производных;
написание вычислительной программы на языке Fortran,
реализующий данный метод;
проведение тестовых расчетов, показывающих
эффективность и точность разработанного алгоритма.
Метод прямых с конечноразностной аппроксимацией
Для дискретизации по пространственной переменной
можно использовать конечно-разностные аппроксимации.
Рассмотрим смешанную задачу для уравнения
теплопроводности
2

 u  a 2  u , 0  x  1, 0  t  1,
2
 t
x

u( x,0)  0 ( x ), u(0, t )  u(1, t )  0.
(1)
Разобьем интервал 0  x  1 узлами xi с шагом h. Вдоль
прямых x  xi точное решение задачи – это функция
только от t:
u( xi , t )  vi (t ),
dv (t )
u
( xi , t )  i , 0  i  n.
t
dt
(2)
По формуле численного дифференцирования для
внутренних линий, 1  i  n  1 , получаем
 h 2  dvi
 vi 1  2vi  vi 1 , 1  i  n  1,
 2
 a  dt
v0 (t )  0, vn (t )  0
(3)
с начальным условием
vi (0)   0 ( xi ), 1  i  n  1.
(4)
Система линейных дифференциальных уравнений (3) имеет
трехдиагональную матрицу А правых частей
1
 2
 1 2
A


1
 0
Найдем собственные значения
0 

1
;


2 
i матрицы А;
i


i    2cos  2  ,1  i  n  1.
n


Отсюда следует, что :
4  i  0
(5)
Аналитическое решение задачи (3), (4) имеет вид
 1a2 t
e h
v (t )  T 1 

 0

2

0 
 Tv (0),

2
n 1a t 
2
e h 
(6)
где матрица Т имеет своими столбцами собственные
векторы матрицы А, соответствующие собственным
значениям i . Элементы матрицы Т равны
Tk ,i  sin( ki / n), 1  i, k  n  1.
Прямой подстановкой можно убедиться в справедливости
формул для i и Tk ,i .
Пример 1
Решается линейное нормализованное уравнение диффузии
u  2u
 2 , 0  x  1, t  t0
t x
с начальными значениями t0  0, u ( x, t0 )  u0  1.
(7)
Граничное условие нулевого потока
u
(1, t )  0(t  t0 )ф
x
при x=1
Граничное значение u(0, t ) ступенчато изменяется от u0
до u1  0,1. Время интегрирования t  t  0,09.
u
Результаты
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
0,00
2,00
4,00
6,00
8,00
t=0,01
t=0,04
t=0,09
t=0,016
t=0,25
t=0,36
t=0,49
t=0,64
t=0,81
t=1,00
x
Рис.1 График зависимости скорости диффузии u от
времени и координаты
Пример 2
Решается уравнение нелинейной диффузии с конвекцией и
изменяющимися коэффициентами.
u
u  ( D( x )u / x )
 v ( x ) , x  0,1 , t  0;

u1 
x
x
t
D( x )  5, 0  x  0,5;
1, 0,5  x  1,0;
(8)
v ( x )  1000,0, 0  x  0,5;
0,5  x  1,0;
1,
u( x,0)  1, x  0;
0, x  0,0;
u(0, t )  1, u(1, t )  0.



Результаты
t=1,00
1,2
1
u
0,8
0,6
t=1,00
0,4
0,2
0
0,00
0,20
0,40
0,60
0,80
1,00
x
Рис.2 Зависимость u(x) при t=1
Пример 3
Решается линейное нормализованное уравнение диффузии
u  2u
 2
t x
начальные данные равны
(9)
u( x,0)  1  cos[2n  1], n  1.
На границах поток равен нулю
u
u
(0, t )  (1, t )  0
x
x
для t  0
Начальные данные совместимы с этими граничными
условиями, поскольку функция производной
u
du( x,0)
( x,0) 
 (2n  1) sin((2n  1) x )
x
dx
равна нулю при x=0 и x=1.
Результат
1,7
t=0,001
t=0,002
t=0,003
t=0,004
t=0,005
t=0,006
t=0,007
t=0,008
t=0,009
t=0,010
1,5
1,3
u
1,1
0,9
0,7
0,5
0,3
0,1
-0,1
0
2
4
6
8
10
n
Рис.3 Зависимость функции u от номера узла по x
Заключение
 показано эффективность метода прямых в решении
уравнений в частных производных типа конвекции и
диффузии
разработанная программа позволяет решать задачи
подобного рода
Download