2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение07.05.2014, 12:06 


04/05/14
4
Дана система ДУ в частных производных, которую предлагается решить гибридным методом конечных разностей и Рунге-Кутты 4 порядка.

$   \[\left\{\begin{array}{l}{\frac{\partial ^{2} u}{\partial t^{2} } =\frac{\partial ^{2} u}{\partial x^{2} } +\frac{\partial w}{\partial x} \frac{\partial ^{2} w}{\partial x^{2} } ;} \\ {\frac{\partial ^{2} w}{\partial t^{2} } +\varepsilon \frac{\partial w}{\partial t} =} \\ {=\frac{1}{\lambda ^{2} } \left\{-\frac{1}{12} \frac{\partial ^{4} w}{\partial x^{4} } +\frac{\partial ^{2} u}{\partial x^{2} } \frac{\partial w}{\partial x} +\frac{\partial u}{\partial x} \frac{\partial ^{2} w}{\partial x^{2} } +\frac{3}{2} (\frac{\partial w}{\partial x} )^{2} \frac{\partial ^{2} w}{\partial x^{2} } \right\}+q;} \end{array}\right. \, \, \, \, \, \,\]  $

Граничные условия системы ($x=0$, $x=a$) :
$w(0,t)=w(a,t)=u(0,t)=u(a,t)=w'_{x} (0,t)=w'_{x} (a,t)=0$;
Начальные условия:
$w(x,0)=\dot{w}(x,0)=u(x,0)=\dot{u}(x,0)=0.$

Частные производные по пространственной переменной $x$ заменим конечноразностными апппроксимациями:

$\\{u_{x} =\frac{u_{i+1} -u_{i-1} }{2c} ;} \\{w_{x} =\frac{w_{i+1} -w_{i-1} }{2c} ;} $
$\\{u_{xx} =\frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } ;} \\ {w_{xx} =\frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } ;} $
$\\{w_{xxxx} =\frac{w_{i+2} -4w_{i+1} +6w_{i} -4w_{i-1} +w_{i-2} }{c^{4} } ;} $

В результате получим систему:

$\left\{\begin{array}{l} {\ddot{u}_{t} =\frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } +\frac{w_{i+1} +w_{i-1} }{2c} \frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } ;} \\ {\ddot{w}_{t} +\varepsilon \dot{w}_{t} =\frac{1}{\lambda ^{2} } \left\{-\frac{1}{12} \frac{w_{i+2} -4w_{i+1} +6w_{i} -4w_{i-1} +w_{i-2} }{c^{4} } +\right. \frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } \frac{w_{i+1} -w_{i-1} }{2c} +} \\ {\frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } \frac{u_{i+1} -u_{i-1} }{2c} +\frac{3}{2} (\frac{w_{i+1} -w_{i-1} }{2c} )^{2} \left. \frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } \right\}+q;} \end{array}\right. $

Чтобы свести эту систему к системе ОДУ первого порядка сделаем замену переменных:

$\left\{\begin{array}{l}{\dot{u}_{t} ={u}_{1t};} \\ {\dot{u}_{1t} =\frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } +\frac{w_{i+1} +w_{i-1} }{2c} \frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } ;} \\ {\dot{w}_{t} ={w}_{1t};} \\ {\dot{w}_{1t}  =\frac{1}{\lambda ^{2} } \left\{-\frac{1}{12} \frac{w_{i+2} -4w_{i+1} +6w_{i} -4w_{i-1} +w_{i-2} }{c^{4} } +\right. \frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } \frac{w_{i+1} -w_{i-1} }{2c} +} \\ {\frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } \frac{u_{i+1} -u_{i-1} }{2c} +\frac{3}{2} (\frac{w_{i+1} -w_{i-1} }{2c} )^{2} \left. \frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2} } \right\}+q-\varepsilon {w}_{1t};} \end{array}\right. $

Теперь разобьем область дифференцирования сеткой $x_i = ci$,$ i \in \left[0..N_1 \right]$ $ t_j = hj$,$ j \in \left[0..2N_2 \right]$
Двойное количество шагов по $t$ нам необходим,потому что Метод Рунге-Кутты требует расчетов в точке $\frac{H}2$.
Из начальных условий известно, что при $t_{j=0}=0$, $u_i=w_i=u_{1i}=w_{1i}=0$.
Для $t_{j=1}=h$ приблизительное значение функций можно найти через разложение в ряд Тейлора:$ w(x,h)\approx w(x,0)+\dot{w}(x,0)=0$.

Казалось бы все замечательно, и теперь можно подниматься по сетке вверх, начиная с $t=2$ считать значения $u_i$,$w_i$, но метод Рунге-Кутты требует вычисления значений конечных разностей на слое $t+2h$, где мы еще не знаем значений функций. Получается эдакое зацикливание: чтобы узнать значение функций на шаге $t+2h$ мы должны воспользоваться методом Рунге-Кутты, а для того чтобы найти значение методом Рунге-Кутты, мы должны воспользоваться аппроксимацией через функци, которые еще не найдены.

Может быть у меня ошибка в понимании метода конечных разностей? Или необходимо использовать предварительную аппроксимацию слоя $t+2h$?

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение07.05.2014, 16:55 


28/05/12
214
Выложите формулы по которым вы считаете $u_i, w_i$, ну а вообще обычно если в формуле есть значения функций которые еще неизвестны, то нужно составить систему уравнений в которой роль неизвестных будут играть $u_i, w_i$.

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение07.05.2014, 22:19 


04/05/14
4
Slow

Классический метод Рунге-Кутты для систем ОДУ первого порядка:

$y_{p,i+1} = y_{p,i} + \frac{h}6\left[k_{p,1} + 2k_{p,2} + 2k_{p,3} + k_{p,4}\right]  $,

где $p$ - номер уравнения,

$k_{p,1} = y_{p,i}(t_{i},y_{1,i}, y_{2,i}, y_{3,i}, y_{4,i})$,

$k_{p,2} = y_{p,i}(t_{i}+\frac{h}{2},y_{1,i}+\frac{h}{2}k_{1,1}, y_{2,i}+\frac{h}{2}k_{2,1}, y_{3,i}+\frac{h}{2}k_{3,1}, y_{4,i}+\frac{h}{2}k_{4,1})$,

$k_{p,3} = y_{p,i}(t_{i}+\frac{h}{2},y_{1,i}+\frac{h}{2}k_{1,2}, y_{2,i}+\frac{h}{2}k_{2,2}, y_{3,i}+\frac{h}{2}k_{3,2}, y_{4,i}+\frac{h}{2}k_{4,2})$,

$k_{p,3} = y_{p,i}(t_{i}+h,y_{1,i}+hk_{1,2}, y_{2,i}+hk_{2,2}, y_{3,i}+hk_{3,2}, y_{4,i}+hk_{4,2})$,

$t_{i+1} = t_i + h$.

Обозначим для простоты записи значение функции в узлах сетки $\dot{y}_{1,i,j} = \dot{u}_{1t}$, $\dot{y}_{2,i,j} = \dot{w}_{1t}$, $\dot{y}_{3,i,j}=\dot{u}_{t}$, $\dot{y}_{4,i,j}=\dot{w}_{t}$. Тогда решение задачи я записываю так:

$y_{p,i,j+2} = y_{p,i,j} + \frac{h}3\left[k_{p,1} + 2k_{p,2} + 2k_{p,3} + k_{p,4}\right]  $,

где $p$ - номер уравнения,

$k_{p,1} = y_{p,i,j}(y_{1,i,j}, y_{2,i,j}, y_{3,i,j}, y_{4,i,j})$,

$k_{p,2} = y_{p,i,j+1}(y_{1,i,j}+hk_{1,1}, y_{2,i,j}+hk_{2,1}, y_{3,i,j}+hk_{3,1}, y_{4,i,j}+hk_{4,1})$,

$k_{p,3} = y_{p,i,j+1}(y_{1,i,j}+hk_{1,2}, y_{2,i,j}+hk_{2,2}, y_{3,i,j}+hk_{3,2}, y_{4,i,j}+hk_{4,2})$,

$k_{p,4} = y_{p,i,j+2}(y_{1,i,j}+2hk_{1,3}, y_{2,i,j}+2hk_{2,3}, y_{3,i,j}+2hk_{3,3}, y_{4,i,j}+2hk_{4,3})$.

Получается, что $w_i$ и $u_i$, использующиеся для записи системы ДУ - это значения табличных функций $w_{i,j}$ $u_{i,j}$ на слое $t = jh$

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение08.05.2014, 03:57 


28/05/12
214
$y_p_i_j$ это число или функция?

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение08.05.2014, 10:19 


04/05/14
4
Это функции.
Например,

$y_{1,i,2} = \dot{u}_{1t=2} =\frac{u_{i+1} -2u_{i} +u_{i-1} }{c^{2} } +\frac{w_{i+1} +w_{i-1} }{2c} \frac{w_{i+1} -2w_{i} +w_{i-1} }{c^{2}} $,

где $u_i$ и $w_i$ - это числовые значения функций $u$ и $w$ в точках сетки $i$,$2$.

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение08.05.2014, 16:26 


28/05/12
214
По обозначениям: обычно для обозначения производной по времени используют либо нижний индекс $u_t$, либо точку сверху, т.е не надо и то и то писать. В системе: почему у вас справа равенства есть индекс i, а слева нету? http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%A0%D1%83%D0%BD%D0%B3%D0%B5_%E2%80%94_%D0%9A%D1%83%D1%82%D1%82%D1%8B Посмотрите и сравните со своими формулами, а то кажется у вас метод Рунге-Кутты неправильно записан.

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение19.05.2014, 17:16 


04/05/14
4
Slow

Спасибо вам, что потратили время, и расспросили меня о задаче. Пока я писала ответ, поняла как должна выполняться работа.

Для каждого $t = 0..N_2$ необходимо одновременно находить коэффициенты для всех систем уравнений в точках $ i \in \left[0..N_1 \right]$.

 Профиль  
                  
 
 Re: Решение системы ДУ метод Конечных разностей и Рунге-Кутты
Сообщение19.05.2014, 18:54 


05/09/12
2587

(Оффтоп)

Недавно я вот в этой теме придумал что-то кустарное на коленке для решения систем диффуров, а оказывается что и не совсем кустарное и не совсем я :-)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group