Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oxorona_atmosfernogo_povitria / Замай.Модели оценки и прогноза загрязнений атмосферы промышленными выбросами.pdf
Скачиваний:
94
Добавлен:
22.02.2016
Размер:
2.28 Mб
Скачать

τ h 4kπσ , в обратном случае, когда σ = 0 – τ0 4πh2xk0 .

На практике установлено, что выгоднее (численное решение быстрее сходится к точному) чередовать τ через шаг по времени. В большинстве моделируемых случаев поглощение малозначительно, поэтому для опреде-

ления τ используется приближение σ = 0 . Значения τ для нечетного и четного шагов по времени шагов

τ1

=τ0

N ,

(10)

τ2

=τ0

N ,

 

где N – число делений разностной сетки.

3.3.6.Дискретная модель для диффузии и поглощения

Горизонтальные и вертикальные линии сетки нумеруем целыми индексами n и m соответственно. Соответственно узлы сетки нумеруем парой чисел (n,m), горизонтальные отрезки – (n+1/2,m), вертикальные отрезки –

(n,m+1/2).

Определим также два типа ячеек сетки. Ячейка (n+1/2,m+1/2) ограничена ребрами сетки, а ячейка с целыми индексами (n,m), заштрихованная на рис. 9, имеет в качестве узлов центры полуцелых ячеек.

Построим оператор An, аппроксимирующий оператор A в уравнении (4), в проинтегрированном по ячейке (n,m) виде. Считаем функцию ϕ оп-

ределенной в узлах сетки. Соответствующие значения обозначаем ϕnm . По-

скольку сетка прямоугольная, расстояние между узлами (n+1,m) и (n,m), то есть шаг сетки по x, не зависит от y, и шаг сетки по y не зависит от x. По-

этому шаги можно пронумеровать одним полуцелым индексом hn+1/ 2 и

hm+1/ 2 .

77

Рис.7. Элементы конечно-разностной сетки

Производные ϕ определим на ребрах сетки:

 

ϕ m

=

ϕm

ϕm

 

 

 

 

n+1

n

 

 

 

hn+1/ 2

 

 

x n+1/ 2

 

 

(11)

 

ϕ m+1/ 2

=

 

ϕm+1 ϕm

 

 

 

n

n

 

 

x n

 

 

hm+1/ 2

 

Коэффициент диффузии k изначально определен постоянным в каждой полуцелой ячейке (n+1/2,m+1/2). Сопоставим каждому ребру сетки среднее по прилегающим ячейкам значение:

 

 

h

m+1/ 2

 

m+1/ 2

+ h

m1/ 2

m1/ 2

 

m

=

 

kn+1/ 2

 

kn+1/ 2

(12)

kn+1/ 2

 

 

h

m+1/ 2

+ h

m1/ 2

 

 

 

 

 

 

 

 

 

78

Тогда поток через правую границу ячейки (n,m), который мы сопоставляем ребру (n+1/2,m), можно вычислить как

Jnm+1/ 2

= −knm +

1

ϕm

ϕm

hm+1/ 2 +hm1/ 2

 

 

n+1

n

 

 

 

 

2

 

 

 

2

 

 

 

 

 

hn+1/ 2

 

 

 

 

Площадь ячейки (n+1/2,m)

 

S m

= 1 (hm+1/ 2 + hm1/ 2 )(h

 

+ h

)

n

 

4

 

 

 

n+1/ 2

n1/ 2

 

 

 

 

 

 

 

 

 

 

 

Для оператора поглощения простейшей аппроксимацией будет

Snmσnmϕnm .

Объединяя формулы (13,15), получаем

A ϕ

n

= −

1

 

(hm+1/ 2k m+1/ 2

+hm1/ 2k m1/ 2 )

ϕnm+1 ϕnm

 

 

 

n

 

2

 

 

n+1/ 2

 

n+1/ 2

 

hn+1/ 2

 

 

 

 

 

 

 

 

 

 

 

1

 

(hm+1/ 2knm+1/1/22

+hm1/ 2knm1/1/22 )

ϕnm1 ϕnm

 

 

2

hn1/ 2

 

 

 

 

 

 

 

 

 

 

1

 

(h

k m+1/ 2

+h

k m+1/ 2 )ϕnm+1 ϕnm

 

 

2

 

 

 

n+1/ 2

n+1/ 2

n1/ 2

n1/ 2

 

hm+1/ 2

 

 

1

 

(h

k m1/ 2

+h

k m1/ 2 )ϕnm1 ϕnm

 

 

2

 

 

 

n+1/ 2

n+1/ 2

n1/ 2

n1/ 2

 

hm1/ 2

+ Snmσnmϕnm

(13)

(14)

(15)

(16)

Индексом h подчеркиваем, что ϕn – это набор чисел ϕnm , используе-

мый для аппроксимации значений ϕ(x, y) в узлах сетки.

При постоянных коэффициентах и шагах сетки получается классическая пятиточечная разностная аппроксимация оператора Лапласа, дополненная младшим членом при σ 0.

3.3.7.Способ решения дискретных уравнений диффузии

Основные вычислительные трудности при решении уравнения (6) связаны с обращением оператора диффузии с поглощением А (16). Поэтому

79

решать уравнение (6) будем наиболее эффективным из известных для эллиптических уравнений многосеточным методом Федоренко [2].

Будем использовать последовательность сеток, шаг которых увеличивается в 2,4,8... раз. На каждой конкретной сетке уравнение решаем методом Зейделя с параметром релаксации τan . Оптимальное значение τan для уравнения Лапласа:

τan =1.25

Новое

значение

решения на k +1 итерации в i-ом узле ϕik+1

выражается через ϕik следующим образом:

ϕk +1 =ϕk τ

an

H k

L1 ,

i

i

i

i

где H k

= Lϕk

Q (L – оператор уравнения (8), Q – его правая часть);

i

 

 

 

i

Li – относящаяся к i-ому узлу часть дискретного оператора L.

Метод Зейделя позволяет эффективно учитывать ближайшие (соседние) узлы сетки. Но при использовании этого метода решение медленно устанавливается к точному при необходимости учета дальних соседей и границ на сетках с большим числом узлов. Про этот метод принято говорить, что с его помощью легко получить решения, гармоники которых близки собственным числам расчетной сетки.

Смысл метода Федоренко состоит в том, что на каждой из последовательности сеток решается задача соответствующего ей масштаба. На самой грубой сетке ищут самые крупномасштабные составляющие (или низкочастотные гармоники) решения. На самой подробной сетке учитывают мелкомасштабные детали и находятся высокочастотные составляющие решения.

Специальные процедуры и организация метода Федоренко позволяют эффективно искать решения на самой подробной сетке и автоматически учитывать поправки к нему (эффективно содержащие в себе разные масштабы искомого решения), полученные на последовательности укруп-

80