2014 dxdy logo

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

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




 
 Численное решение ДУ в ч.п. попеременно-треугольным методом
Сообщение05.05.2010, 07:28 
Здравствуйте!
Пишу программу, используюшую попеременно-треугольный метод и решающую след. задачу:
$u_{xx}+u_{yy}=f(x,y)$
$u(x=a)=\psi_1(y)$
$u(x=b)=\psi_2(y)$
$u(y=c)=\psi_3(x)$
$u(y=d)=\psi_4(x)$
$a\leq b$
$c\leq d$
Алгоритм:
1. решается система уравнений (находим $u_{ij}^{(k+1/2)}$)
$u_{ij}^{(k+1/2)}=\frac{\omega(u_{i-1j}^{(k+1/2)}+u_{ij-1}^{(k+1/2)})+h^2\varphi_{ij}^{(k)}}{h^2+2\omega}$
2. находим
$u_{ij}^{(k+1)}=\frac{\omega(u_{i+1j}^{(k+1)}+u_{ij+1}^{(k+1)})+h^2u_{ij}^{(k+1/2)}}{h^2+2\omega}$

где $\varphi_{ij}^{(k)}=(Bu)_{ij}^{(k)}-\tau(Au)_{ij}^{(k)}+\tau f_{ij}$

Рассуждал:
$B=(E+\omega R^*)(E+\omega R)$
=>$\varphi_{ij}^{(k)}=((E+\omega A+\omega^2 R^*R)u)_{ij}^{(k)}-\tau(Au)_{ij}^{(k)}+\tau f_{ij}=(Au)_{ij}^{(k)}+(\omega +\frac{\omega^2}{4}-\tau)(Au)_{ij}^{(k)}+\tau f_{ij}=(1+\omega +\frac{\omega^2}{4}-\tau)(Au)_{ij}^{(k)}+\tau f_{ij}$
поскольку $A=E$
наверное ошибаюсь здесь, т.к. решение расходится.
помогите пожалуйста в вычислении $\varphi_{ij}^{(k)}$

 
 
 
 Re: Численное решение ДУ в ч.п. попеременно-треугольным методом
Сообщение05.05.2010, 08:44 
Поясните ваши обозначения. Какую систему вы решаете?
Если я правильно понимаю, то обычно в качестве матрицы $B$ берется матрица вида $B=(E+\omega R_1)(E+\omega R_2)$, где $R_1+R_2=A$ и $R_1$, $R_2$ обычно верхне(нижне) треугольные. Если $A=E$, то в вашем случае $R$ -- диагональна?
Кроме того, проверьте условия сходимости. Есть достаточное -- $A=A^*>0$, $\omega > \dfrac{\tau}{4}.$
Кстати, почему $A=E$?

 
 
 
 Re: Численное решение ДУ в ч.п. попеременно-треугольным методом
Сообщение05.05.2010, 10:02 
На $k$-й итерации решаю систему из $n-1$ уравнений с $n-1$ неизвестными $(i,j=\overline{1,n-1})$.
Да, все верно, матрица $B$ раскладывается именно так, как вы написали.
Значения параметров следующие: $\omega = \frac{h}{2\pi},\;\tau=\frac{2h}{\pi}$. Т.е. дост. условие сходимости выполняется.

Т.к. $Au=f$ - искомое д.у. в "операторном" виде и $u_{xx}+u_{yy}=Au$, то предположил, что $$A=\left(\begin{array}{cc} 1 & 0 \\ 
0 & 1 \end{array}\right)\;\;=>\;\;A=E$$
Тогда $$R_1=R_2=\left(\begin{array}{cc} 1/2 & 0 \\ 
0 & 1/2 \end{array}\right)$$
Скорее всего ошибаюсь, но тогда как правильно?

 
 
 
 Re: Численное решение ДУ в ч.п. попеременно-треугольным методом
Сообщение05.05.2010, 12:27 
Аватара пользователя
Начните с этого
$$\left(E-\tau\omega\left( \Lambda_{xx}+\Lambda_{yy}\right) \right)(u^{k+1}_{i,j}-u^{k}_{i,j})=
\tau\left(\left( \Lambda_{xx}+\Lambda_{yy}\right)u^{k}_{i,j}-f_{i,j} \right)$$

Затем (приближенно) факторизуйте стабилизирующий оператор:
$$\left(E-\tau\omega\left( \Lambda_{xx}+\Lambda_{yy}\right) \right)\approx
M\left( E-\frac{\tau\omega}{Mh^2}\left( T_x^{+}+T_y^{+}\right)\right)
\left( E-\frac{\tau\omega}{Mh^2}\left( T_x^{-}+T_y^{-}\right)\right)$$

Где $M=1+\frac{4\tau\omega}{h^2}, \;\; \omega>0.5$

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


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