2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 схема стабилизирующей поправки
Сообщение15.05.2011, 15:29 


17/09/08
18
Вот так вот выглядит схема ( опыта в набирании формул нет, так что извините, если что не так )

$\frac {u_{i, j}^{n+1} - u_{i, j}^n} {\tau} = \frac {u_{i-1, j}^{n+1} - 2u_{i, j}^{n+1} + u_{i+1, j}^{n+1}} {h_1^2} + \frac {u_{i, j-1}^{n} - 2u_{i, j}^{n} + u_{i, j+1}^{n}} {h_2^2} - f_{i, j} $

$\frac {u_{i, j}^{n+2} - u_{i, j}^{n+1}} {\tau} = \frac {u_{i-1, j}^{n+2} - 2u_{i, j}^{n+2} + u_{i+1, j}^{n+2}} {h_2^2} - \frac {u_{i, j-1}^{n} - 2u_{i, j}^{n} + u_{i, j+1}^{n}} {h_2^2}$

n = 0, 1, 2, ...

ищется решение задачи

$u_{xx} + u_{yy} = f(x, y)$

$x \in \left [ 0, 1 \right ] $

$y \in \left [ 0, 1 \right ] $

Точное решение будем обозначать u(x, y).

Граничные условия:
u(0, y) = $ \phi_1(y) $
u(1, y) = $ \phi_2(y) $
u(x, 0) = $ \phi_3(x) $
u(x, 1) = $ \phi_4(x) $

В задание еще написано, что положить при n = 0 $u(x_i,y_j)$ = const


Так вот. Начал я решать задачу. Как видим, для того, чтобы посчитать n + 2 слой нужно посчитать полностью n + 1.

Итак, считаем.
Будем считать что количество узлов
    по x равно $Nx + 1$
    по y равно $Ny + 1$

Шаг 1. Найдем полностью n + 1 слой методом прогонки ( i = 1 .. ($Nx - 1$) , j = 1 .. ($Ny - 1$) )
Шаг 2. Найдем полностью n + 2 слой методом прогонки ( i = 0 .. $Nx$, j = 1 .. ($Ny - 1$ ) )
Шаг 3. Сохраняем посчитанный n + 2 слой в n слой и переходим к шагу 1, если не достигнута требуемая погрешность.

Шаг 1.

для каждого i = 1 .. ($Nx - 1$) рассчитываем "слой" по y:

$u_{i-1, j-1}^{n+1} ( \frac{1} {h_1^2} ) + u_{i, j}^{n+1} ( \frac {2} {h_1^2} - \frac {1} {\tau} ) + u_{i,j+1} ^{n+1}( \frac {1} {h_1^2} ) = - \frac {u_{i, j-1}^{n} - 2u_{i, j}^{n} + u_{i, j+1}^{n}} {h_2^2} + f_{i, j} - u_{i,j}^n$

считаем методом прогонки. Пусть
a = вектор содержащий поддиагональные элементы,
b = вектор содержащий элементы главной диагонали,
c = вектор содержащий наддиагональные элементы,
d = вектор содержащий правую часть,
s = вектор решения полученного методом прогонки. Как видим из уравнения


$a_i = \frac{1} {h_1^2}$
$b_i = \frac {2} {h_1^2 - 1 / \tau}$
$c_i = \frac {1} {h_1^2}$

$d_i = - \frac {u_{i-1, j}^{n} - 2u_{i, j}^{n} + u_{i+1, j}^{n}} {h_2^2} + f_{i, j} - u_{i,j}^n$

Размерность ||а|| = $Ny - 2$
Размерность ||b|| = $Ny - 1$
Размерность ||c|| = $Ny - 2$

Размерность ||d|| = $Ny - 1$

решаем, получаем решение, и присваиваем это решение n + 1 слою ( я обозначу этот слой буквой $w$ ):

для каждого i = 1 .. ($Nx - 1$)

$w_{i, j} = s_j$ где j = 1 .. $(Ny - 1)$

Итак, супер, весь n + 1 слой найден. Переходим к шагу 2.

Как видим нам таки опять нужна прогонка.

Выражаем подобным же образом коэффициенты при "степенях" n + 2 и находим n + 2 слой.

Скажите пожалуйста, в чем я ошибся..?

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

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



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

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


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

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