Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теплофизика в металлургии..pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
10.8 Mб
Скачать

10.8. Решение уравнения Пуассона

Решение рассмотрим на примере уравнения Пуассона для функции тока при известной завихренности:

(10.93)

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

= -0),. ,.. (10.94)

Уравнение (10.94) решается относительно \|/ / у, при этом вводится параметр релаксации у, ускоряющий итерационный процесс:

где q - номер итерации. При у=1 выражение (10.95) описывает процесс последовательных смещений (процесс Зейделя). Введение параметра верхней релаксации 1<у<2 позволяет ускорить сходимость итерационно­ го процесса (10.95), причем наибольшая скорость сходимости достигает­ ся при оптимальном значении параметра релаксации у=у0пт Это опти­ мальное значение может быть найдено путем численных экспериментов. В частном случае для прямоугольной области и регулярной сетки извест­ на формула

2

Уопт

(10.96)

Итерационный процесс (10.96) заканчивается при достижении тре­ буемой точности:

у ? .

^

I

(10.97)

1 - т '.У

\ич+1

Y i j

где Еунаперед заданное малое число. Необходимое число итераций зави­ сит от числа узловых точек и уменьшается от нескольких десятков в на­ чальной стадии решения о - 1|/-/-системы, когда градиенты велики, до не­ скольких единиц по мере уменьшения градиентов.

Основное преимущество итерационного метода заключается в само­ корректирующемся решении, дающем минимальные ошибки округле­ ния. Привлекает в нем и простота вычислительного алгоритма.

Другой алгоритм состоит в переходе от уравнения (10.93) к уравнению

д у

д 2\у

, д \

,

(10.98)

— ;— — —Н---- —+ ю,

дх

дх2

ду2

 

 

где х - параметр установления.

В

предельном случае

при

т* —♦ оо д\у/дх —>0 уравнения (10.93) и (10.98) совпадают. К уравнению (10.98) можно применить расщепление по указанному параметру. При­

меняя обозначения (10.87

-

10.88) и рис. 10.9, запишем разрешающие со­

отношения:

 

 

 

 

^

- |

 

ii = A.(v) + A,(V)+»>,J ,

(10.99)

%

^ =

 

М й О + л , (» )+ « ,,„,

 

где А . - шаг параметра установления или итерационный параметр. Соотно­ шения (10.99) приводят к двум системам алгебраических уравнений, совпа­ дающих по структуре с уравнениями (10.92). Точность итерационного про­ цесса, как и в первом случае, контролируется условием (10.97). Второй ал­ горитм более трудоемок, но может оказаться предпочтительнее из-за высокой скорости сходимости при удачном выборе итерационного пара­

( 10.100)

метра h .. Особенно выгодно применять второй алгоритм при решении стационарной со-1|/-/-системы. В этом случае физическое время рассматри­ вается как итерационный параметр и уравнение для функции тока в форме (10.98) совпадает по внешнему виду с уравнениями переноса завихренно­ сти и температуры (за исключением конвективных членов). Все три уравне­ ния решаются по одному алгоритму вплоть до полного установления.

10.9. Разностное уравнение как матричное уравнение

Разностные уравнения, полученные из неявных и явно-неявных схем, являются, как было показано, линейными алгебраическими уравнениями. На фиксированном временном слое для всех внутренних узловых точек эти уравнения образуют систему

а$ 1-\ + bSt + cSi+i — / ,, i 2,3,... Я , которую можно записать в векторно-матричном виде

[ " № } = { / }

или

Ъ

с

 

*2

 

 

 

а

Ъ

с

 

 

а

b с

 

Л

 

 

а b

с

/*-,

 

 

а

b S* .

Л .

( 10.101)

( 10.102)

где [Я] - матрица коэффициентов; {5 } - вектор-столбец неизвестных зна­ чений искомого параметра S в узловых точках; { / } - известный Век-

тор-столбец, характеризующий краевые условия и распределение парамет­ ра S на предыдущем временном слое.

Матрица [Я] обладает рядом специальных свойств, которые необходи­ мо использовать при решении системы (10.100). Она имеет высокий поря­ док, зависящий от густоты сетки, которая может достигать для современ­ ных компьютеров нескольких десятков тысяч. Матрица является редко за­

полненной с размещением ненулевых элементов по диагонали в три ряда. Такие матрицы называются ленточными трехдиагональными. Важным свойством является симметрия матрицы относительно ее диагонали, выте­ кающая из равенства коэффициентов а и с в уравнении (10.100). Указанные свойства матрицы [Я] позволяют занимать незначительное место для ее хранения в запоминающем устройстве компьютера, поэтому матрицу [Я] называют порождающейся в отличие от хранящейся матрицы.

Перейдем к рассмотрению эффективных способов решения системы

( 10. 100).

10.10. Метод прогонки

Метод прогонки является модификацией метода исключения Гаус­ са, учитывающей свойства матрицы Я. Решение системы (10.100) в узло­ вой точке ищется в виде линейной функции. В частности, для (М)-й точ­ ки эта функция имеет вид

я (- , = Р Л + *„

(10.103)

где р у, z .- неизвестные пока вспомогательные коэффициенты. Подста­ вим (10.103) в (10.100):

а (Р А + zi) + bSi + cSM

- / , ,

(10.104)

откуда находим

 

 

 

 

 

о

____ с

о

02i ~~ //

(10.105)

1

яР + 6,

1+1

Ф , + Ь

 

Полученное соотношение имеет ту же форму, что и

функция (10.103),

только для i-й точки

 

 

 

 

 

 

Sj —Р1+1^,+1 +

 

(10.106)

 

 

 

1+1 >

 

откуда заключаем, что

 

 

 

 

 

Р,+ . :

С

■ z

-

M j - f i

(10.107)

afii + b

1+1

 

aPf +b

 

 

 

 

получаем начальные значения прогоночных коэффициентов

 

X

 

 

 

В -

л

г

-

Нг

»

z2

 

i

+

V

"

i + i .

 

ал

 

ah

Запишем условие теплообмена на правой границе

d t

 

 

~Х ^ ~

= а

(*■ “ О

o x

J

в конечных разностях

( 10. 112)

(10.113)

= а ( * # + | ~ ‘ с ) -

(10.114)

Отсюда находим

/

= аh___.

_Jc_

(10.115)

"

Х_ Nu

Х_'

 

 

ah

аh

 

Запишем соотношение (10.106) для правой границы:

* N

N + l * N +\ + Z N + \

(10.116)

 

Приравнивая правые части (10.115), (10.116), получим искомое значение температуры на правой границе

,

,

Z N +\ +

(10.117)

_ ал

__________

l N + l

л

 

Запишем алгоритм метода прогонки для произвольной переменной S:

 

X

 

 

 

 

R -. О h

. . _

S c .

 

К2

 

 

 

i + ±

 

1 + А

 

 

 

 

ah

 

 

ah

 

Р,+. ~

 

с

 

__ az, ~ f t

0 , 1 . '

Z‘+>~

ар,. + б ’

 

ар,. +

Ь

 

/ = 2,3,

...,

N;

 

 

(10.118)

S N+\ ~

 

л

 

>

 

 

1 + ^А^ -Рл,+1^

 

= Pi+l^i'+l

Z f+1 »

 

/= W ,

N - 1,

 

1,

 

который реализуется в фортран-программе:

SUBROUTINE PROG(A,B,C,F)

DIMENSION BETA(lOl), ZET(101), F(101)

COMMON S(101), N, TC, LAMBDA, H, ALFA

N1 =N-1

C = LAMBDA/ALFA/H

BETA(2) = C/(l+C)

ZET(2) = TC/(1+C)

DO 1 1 = 2,N

R=A*BETA(I)+B

BETA(U-l) = -C/R

1ZET(I+1) = (F(I) -A*ZET(I))/R

S(N) = (C*ZET(N+1)+TC)/( 1+C*( 1 -BETA(N+1))) DO 2 I = 2, N1

J = N+l-I

2 S(J) = BETA(J+1) *S(J+1)+ZET(J+1) RETURN

END

В качестве теста для проверки программы рассмотрим пример ста­ ционарной теплопроводности плоской стенки при граничных условиях

первого рода (а=°°). Решении задачи методом сеток дает систему урав­ нений с граничными условиями

s ,~1 ~ 2St + Si+1

 

/ = 2 ,3 ,..., N-

(10.119)

=; S n+, = s n

При числе разбиений N = 4, граничных условиях 5„=100,5П=200 система имеет следующее решение: 5^=125,5'3=150,54=175. Запишем эту систему в векторно-матричной форме:

 

 

 

- 2

1

0

* 2 '

- 1 0 0

 

 

 

 

 

1

- 2

1

* 3

= ' 0

 

 

 

 

 

0

1

- 2

^ 4

- 2 0 0

 

 

алгоритм прогонки

(10.118)

реализуется для

этой системы при

а = с = 1,6 =-2 следующим образом:

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

p2 = - ^ = 0 ; z2 = — V = i o o ,

 

 

 

 

1+ —

 

 

1 + 4

 

 

 

 

 

 

ah

 

 

 

 

 

 

 

 

 

 

 

ah

 

 

Рэ =

C

 

1

_ 1.

OZ2 ~ f i

_

l-100-0_

aP2 + b

1-0-2

2

, z.

flP, + 6

 

1-0-2

 

 

 

P4 =

c

 

1

2. _ _

az3 - / 3 _

1-50— 0_1<

aP3 + b

1-1/2— 2

3>Z4

aP3 + 6

 

-3/2

 

 

P

c

 

1

_3. . _

az4 - / 4 _

1-100/3 — 0

<*P4 + b

1-2/3 — 2

4*

aP4 + b

 

1-2/3-2

 

 

 

7 Z 5 +

S c

 

=200;

 

 

3

 

S 5 = - Щ : ------- =

S„

S A = P 5S5+ z5=--200 + 25 = 175;

, + з ( 1- " - )

S 3 = p4S4 + z4 = | - 175 + ^ = 150;

S2 = p3S3+ z3 =1-150 + 50= 125;

5,

=100.

Основным недостатком метода прогонки являются ошибки округле­ ния при вычислении прогоночных коэффициентов. Эти ошибки возрас­ тают с увеличением порядка системы. Для уменьшения этих ошибок ре­ комендуется считать эти коэффициенты с двойной точностью.

10.11. Метод редукции

Метод редукции является также модификацией метода исключения Гаусса и приводит к значительно меньшим ошибкам округления по срав­ нению с методом прогонки. Его можно рассматривать как вариант мето­ да прогонки, в котором исключение неизвестных происходит не после­ довательно, как в прогонке, а в специальном порядке.

Для симметричной матрицы (а = с) систему (10.100) можно записать в виде

( 10. 120)

Введем индекс j= i- 1, нумерация внутренних точек по которому начинается с 1 и заканчивается N - 1. Идея метода полной редукции со­ стоит в последовательном исключении из уравнений (10.120) неиз­ вестных Sj сначала с нечетными номерами у, затем из оставшихся уравнений с номерами у, кратными 2, затем 4, и т.д. Каждый шаг про­ цесса исключения уменьшает число неизвестных и, если N есть сте­ пень 2, т.е. N = 2п, то в результате остается одно уравнение, из которо­ го можно найти S Nj2. Обратный ход метода заключается в последова­ тельном нахождении неизвестных Sj сначала с номерами у, кратными N/4, затем N18, M l6 и т.д.

Обозначим £>(0) = Д Fу(°>=FjH рассмотрим первый шаг процесса

исключения. Для этого выпишем три идущие подряд уравнения (10.120):

- Л - 2

- V .

( 10.121)

 

~ S J +

Для исключения неизвестных с нечетными номерами j умножим

второе уравнение (10.121) на£>^ и сложим все три уравнения. В резуль­ тате получим

( 10. 122)

7 = 2 ,4 ,* ..., N — 2,

где

J

= F {0] + D F(0)

+ F ^

J

Т Г у'+1»

D

[ D ^ ] 2 - 2.

 

Система (10.122) содержит неизвестные только с четными номера­ ми, число неизвестных равно N/2-l. При ее решении неизвестные с не­ четными номерами могут быть найдены из уравнений (10.120):

D W S, = F (0)

+ 5 y-. + 5 y+i’

(10.123)

J

J

У=1.2,3,

 

1.

 

На втором шаге исключения проделываем то же самое с «укорочен­ ной» системой (10.122). Берутся три уравнения этой системы:

(10.124)

второе уравнение умножается на D(' \ и все три уравнения складываются. В результате получаем систему N/4-l уравнений, содержащую неизвест­ ные S j с номерами, кратными 4:

(10.125)

7 = 4,8,12,..., N - 4,

где

F 0 0 = F 0)

+£>(,)F y(l) + F

0)

 

 

У + 2 ’

D ^ = [ D

^ - 2 .

 

Неизвестные с номерами, кратными 2, но не кратными 4, определяются из уравнений

D l,)S l

= F ^ + S J. , + S J t l ,

 

(Ю.126)

7 = 2,6,10, . . . , N - 2 .

 

 

 

 

Продолжая такой процесс, получим в результате /-го шага редуциро­

ванную систему для неизвестных с номерами, кратными 21:

 

- S . ,, + D (l)S ,

- S .

,,

= F .(,),

 

 

j - 2

J

j

+ 2 1

 

J 9

 

 

j = 2 ', 2 -2', 3 -2 ',...,

N — 21,

 

(10.127)

Sy=0 =

 

 

 

 

 

 

 

и группы уравнении

 

 

 

 

 

 

 

D ^ " l)Sj = F j k~')

Jfc-l

 

+ 5 У+2-

 

(10.128)

 

1

'

 

a -l

 

 

j = 2k~' ,3 -2*_l,5 •2K~

—2

 

 

которые решаются последовательно для &=/, /-1,

1. Коэффициенты

£><*> и правые части Fj k^ находятся по формулам

 

 

 

D (*} = [ D (*

- 2 ,

 

 

 

 

 

 

р ( * ) __

_1_ Г ) ( * _ | ) р С * - 1 ) I

г С * - 1 )

 

(10.129)

Г ) ~ r j

-

r j

 

^

j + 2*-1’

 

 

j = 2k ,2-2*, 3 -2* ,

N

— 2k

 

 

 

где A=l, 2,....

Из уравнения (10.127) следует, что после (n-l)-ro шага исключения остается одно уравнение для S 2._, = S N/2 с известной правой частью:

D ^ ' S j = F . ("_l) + 5 0 + j = 2n-' (10.130)

Объединяя его с группой уравнений (10.128), получим последова­ тельность уравнений

которая в совокупности с уравнениями (10.129) описывает метод полной редукции. Сначала по формулам (10.129) преобразуются правые части, а из уравнений (10.131) находится решение исходной задачи (10.120).

Графическая иллюстрация описанного алгоритма для N=8 представле­ на на рис. 10.11. Сначала показана последовательность вычисления правых

частей F jk\ причем в заштрихованных квадратах информация запоминает­

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

F ® r -

F 0> -

F f -

j - 0 ,

1, 2, 3, 4, 5, 6, 7, 8

 

a

b

ь

m

i

i

i

i

I . [ .-L.l - 1

j - 0,

1,

2,

3,

4, 5, 6, 7, 8

 

 

 

 

6

Рис. 10.11. Геометрическая интерпретация прямого ( а)

и обратного ( б) ходов метода полной редукции

Поскольку в Фортране цикл начинается с 1, то перейдем от индексаj к первоначальному индексу / и запишем алгоритм полной редукции:

£)(*) = [£,(*-')]2 _ 2у

F

(k) = F {k~'} + D (k~')F {k~') + F

t ,,

I

 

I-2*"*

*

i+2k~l 9

j = 2k +1,2

(2* + l),3-(2* + 1 ),..., N - 2* +1,

* = 1,2,

...,

n - 1,

(10.132)

S, = (

} + S,._2, -. + S,+2, -.)/ D (k- l),

i = 2k~' +1, 3-(2*-' +1), 5-(2*_1

+ 1 ),..., W -2 * -' +1,

к — n, n

1,

..., 1,

 

который реализуется в программе: SUBROUTINE RED (D,F) DIMENSION F(101) COMMON NM, S(101)

N = 2**NM N1=N+1

NM1=NM-1

DO 1 K = 1,NM1 Ю=2**К

11= 10+1

I2=N 1 -10

D=D**2-2.

DO 1 1=11,12,10

1F(I)=F(I-I0+2)+D*F(I)+F(I+I0-2) DO 2 K=l, NM

KK=NM-K+1 I0=2**(KK-1) *2 11=1+10/2

I2=N 1-10/2

DO 2 1=11,12,10

2S(I)=(F(I)+S(I-I0/2)+ S(I+I0/2))/D RETURN

END

В качестве примера приведем решение методом редукции одномер­ ной тестовой задачи о температурном поле плоского слоя. Постановка конечноразностной краевой задачи имеет вид

 

~ 5'-'

+ 2S<~ S'+' = °’

(10.133)

 

S t =200; S N+l =100.

 

Возьмем п=2, тогда N=2"=4, кроме того, отметим, что D=2, Fj = 0.

Прямой ход редукции:

 

 

 

 

 

jfc =

l:

D m = 2 2 - 2 = 2,

 

 

F™ = 0 + 0 + 0 = 0.

 

Обратный ход редукции:

 

 

 

4 = г

= s i " + s , + s s = 0 + m + m

 

 

 

2

2

 

* = 1: S»

= f Г

 

^

= 0 + 200+150 = |?

 

1

 

 

2

2

 

к = 1- 5 (1) —

~ ^ 3 ~ ^ 5

__ 0 + 150 + 100 _ ^ 5

 

3

 

 

2

2

 

Получили искомое линейное распределение искомого параметра. Метод редукции позволяет уменьшить по сравнению с методом про­

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

10.12. Метод последовательной линейной верхней релаксации

Наряду с прямыми методами для решения сеточных уравнений при­ меняются итерационные методы, дающие решения в виде предела после­ довательности однообразных итераций. Основное их преимущество пе­ ред прямыми методами заключается в самокорректирующемся решении, дающем минимальные ошибки округления. Привлекает в них и простота вычислительного алгоритма.

Рассмотрим один из эффективных итерационных методов - метод по­ следовательной линейной верхней релаксации, итерационная процедура которого применительно к разностному уравнению (10.100) имеет вид

/ = 2,3,..., N, (10.134)

О

где q - номер итерации; у - параметр релаксации. При у = 1 получаем про­ цесс последовательных смещений, или процесс Зейделя. Введение пара­ метра верхней релаксации 1 < у < 2 позволяет ускорить сходимость ите­ рационного процесса (10.134), причем наибольшая скорость сходимости имеет место при оптимальном значении параметра релаксации у = уопт. Последнее зависит от порядка системы и может быть вычислено через число разбиений расчетной области,

Yопт

2

(10.135)

+

sm-

1

 

2N

Эта формула применима для одномерной области с регулярной сеткой. Расчет по формуле (10.134) с учетом (10.135) продолжается до тех пор, пока искомое решение не будет удовлетворять требуемой точности,

(10.136)

S 4

где s s - требуемая точность. С использованием обозначений: IT - теку­ щий номер итерации q; МАХ - максимальное число итераций; EPS - тре­ буемая точность; GAMMA - оптимальный параметр релаксации; PI - число л; D - ячейка с максимальной относительной погрешностью запи­ шем Фортран-программу, реализующую итерационный алгоритм:

SUBROUTINE POLE (А, В, С, F)

DIMENSION F(101)

COMMON S(101), N, MAX, EPS, PI

SI=SIN(PI/2/N)

GAMMA=2./( 1 .+SQRT(SI*(2.-SI)))

G l=l.-G A M M A

IT=1

1D=0

DO 21=2, N

SS=GAMMA/B*(F(I)-A*S(I-1)-C*S(I+1))-KJ 1*S(I) R=ABS (1-S(I)/SS)

IF (R.GT.D) D=R

2S(I)=SS

IF (D.LE.EPS) GO TO 3

IT=IT+1

IF (IT.GT.MAX) GO TO 3

GOTO 1

3RETURN END

Вкачестве теста для контроля итерационного процесса рассмотрим систему уравнений с граничными условиями

+S | —О,

1 = 2, 3,

N ;

(10.137)

^1 = » ^ЛГ+1 = 5 , -

При числе разбиений N=4, граничных условиях 5'n=200, S„=100 и у=1 результаты первых итераций представлены в нижеследующей табл. 10.1

 

 

 

 

Т а б л и ц а

10.1

Значения переменных при решении задачи

 

 

 

итерационным методом

 

 

Номер итерации

 

 

Номер точки сетки

 

 

1

2

3

4

5

 

0

0

0

0

0

0

1

200

100

50

75

100

2

2 00

125

100

100

100

3

200

150

125

112,5

100

4

2 0 0

162,5

137,5

118,75

100

5

2 00

168,75

143,75

121,875

100

... точное решение

200

...175

...150

...125

100