2014 dxdy logo

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

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




 
 Численное решение уравнения в частных производных
Сообщение25.05.2007, 17:50 
Приветствую, All!

Не получается найти материал описывающий как численно решить следующую задачу:

\[
\begin{gathered}
  \frac{{\partial u}}
{{\partial t}} = \frac{{\partial ^2 u}}
{{\partial x^2 }} + u^2 (1 - u)\,, \hfill \\
  u(0,t) = \varphi _1 (t),\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,(1) \hfill \\
  u(1,t) = \varphi _2 (t), \hfill \\
  u(x,0) = \psi (x); \hfill \\ 
\end{gathered} 
\]


Во всех книгах, которые мне встречались, рассматривается уравнение вида:

\[
\frac{{\partial u}}
{{\partial t}} = \frac{{\partial ^2 u}}
{{\partial x^2 }} + f(x,t)\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,(2)
\]

Не подскажите, где можно прочитать, как численно решить уравнение (1)?

 
 
 
 
Сообщение27.05.2007, 22:46 
Проблема решена.

Решение:
Применялась явная конечно-разностная схема.
Пусть \[
\tau 
\] приражение по времени, а \[
h
\] по координате \[
x
\].
Заменяем производные их приращениями:
\[
\begin{gathered}
  \frac{{\partial u}}
{{\partial t}} = \frac{{u_i^{j + 1}  - u_i^j }}
{\tau } \hfill \\
  \frac{{\partial ^2 u}}
{{\partial x^2 }} = \frac{{u_{i - 1}^j  - 2 \cdot u_i^j  + u_{i + 1}^j }}
{{h^2 }} \hfill \\ 
\end{gathered} 
\]

Тогда исходная задача (1) перепишется в виде:
\[
\begin{gathered}
  \frac{{u_i^{j + 1}  - u_i^j }}
{\tau } = \frac{{u_{i - 1}^j  - 2 \cdot u_i^j  + u_{i + 1}^j }}
{{h^2 }}\, + \left( {u_i^{j + 1} } \right)^2 (1 - u_i^{j + 1} ) \hfill \\
  u_0^j  = \varphi _1 (j \cdot \tau ) \hfill \\
  u_N^j  = \varphi _2 (j \cdot \tau ) \hfill \\
  u_i^0  = \psi (i \cdot h) \hfill \\
  i = \overline {1,N - 1}  \hfill \\
  j = \overline {0,M - 1}  \hfill \\ 
\end{gathered} 
\]

Или:
\[
\begin{gathered}
  \left( {u_i^{j + 1} } \right)^3  - \left( {u_i^{j + 1} } \right)^2  + \frac{1}
{\tau }u_i^{j + 1}  = \left( {\frac{1}
{\tau } - \frac{2}
{{h^2 }}} \right) \cdot u_i^j  + \frac{{u_{i - 1}^j  + u_{i + 1}^j }}
{{h^2 }} \hfill \\
  u_0^j  = \varphi _1 (j \cdot \tau ) \hfill \\
  u_N^j  = \varphi _2 (j \cdot \tau ) \hfill \\
  u_i^0  = \psi (i \cdot h) \hfill \\
  i = \overline {1,N - 1}  \hfill \\
  j = \overline {0,M - 1}  \hfill \\ 
\end{gathered} 
\]

Таким образом на каждой итерации необходимо численно решить уравнение 3-ей степени, например, методом Ньютона.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group