Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

caplin_nikulin_modelirovanie_v_metallurgii

.pdf
Скачиваний:
218
Добавлен:
13.03.2016
Размер:
10.25 Mб
Скачать

Лабораторная работа № 4 Метод последовательной линейной верхней релаксации решения сеточных уравнений

Цель работы: ознакомиться с итерационным методом решения сеточных уравнений на компьютере.

Приборы и принадлежности: компьютер.

Сведения из теории

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

Решение системы линейных алгебраических уравнений

ATi 1 + BTi + CTi +1 = Fi , i = 2, 3, ..., N

(4.1)

в соответствии с итерационным методом последовательных смещений (методом Зейделя) определяется по итерационной процедуре:

Ti

(q) =

1

(Fi

A Ti(q1) C Ti+(q11) ),

B

 

 

 

(4.2)

i = 2, 3,

, N , q =1, 2, 3, ...,

где q – номер итерации. Расчет по формуле (4.2) продолжается до тех пор, пока искомое решение не будет удовлетворять требуемой наперед заданной точности ε:

 

1

T (q1)

 

 

≤ ε .

(4.3)

 

 

 

 

i

 

 

 

T

(q)

 

 

 

 

 

 

 

 

i

 

 

 

max

211

 

 

 

 

 

 

 

 

 

 

 

Недостатком метода Зейделя является медленная сходимость, поэтому для ускорения сходимости метод последовательной линейной верхней релаксации:

Ti

(q) =

γ

(Fi A Ti(q1) C Ti+(q11) )+ (1− γ ) Ti(q1) ,

 

B

 

 

 

 

 

 

 

 

i = 1, … N–1, q = 1, 2, …,

(4.4)

где γ – параметр релаксации. При γ = 1 итерационные проце-

дуры (4.2) и (4.4) совпадают. Введение параметра верхней релаксации 1 ≤ γ ≤ 2 позволяет ускорить сходимость итерацион-

ного процесса (4.4), причем наибольшая скорость сходимости имеет место при оптимальном значении параметра релаксации γ = γ опт . Последнее зависит от порядка системы и может быть

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

γ опт =

 

 

 

2

 

 

 

,

(4.5)

 

 

π

 

 

π

 

1 +

 

sin

 

 

sin

 

2

 

 

 

 

 

 

 

 

 

2N

 

2N

 

где ε – требуемая точность.

В качестве теста для проверки программы предлагается задача стационарной теплопроводности плоского слоя толщиной δ, на поверхностях которого x = 0 и x = δ поддерживаются температуры соответственно Тл и Тп, т.е. заданы граничные условия первого рода (α = ). Математическая формулировка краевой задачи теплопроводности имеет вид:

d2T

= 0, T ( x = 0) = Tл, T ( x = δ )= Tп.

(4.6)

dx2

 

 

Решением ееявляетсялинейноераспределение температуры:

T = T

Tл Tп

x.

(4.7)

 

л

 

δ

 

 

 

 

212

Точное значение температуры в центре слоя

T ( x = δ 2)= (Tл+ Tп )2 .

Решение задачи на регулярной сетке дает систему уравнений с граничными условиями:

T

2T + T

= 0,

 

i1

 

i

i+1

 

 

i =1,

2,

..., N 1; .

(4.8)

 

 

 

 

 

 

T1 = Tл; TN +1 = Tп

 

В этом случае при численном решении на регулярной сетке с четным числом разбиений N точное значение температуры в центре слоя TN 2+1 = (Тл + Тп )2 , а приближенное значение

отличается от точного из-за ошибок округления.

В табл. 4.1 представлена реализация итерационного алго-

ритма при N = 4, Тл = 200, Тп = 100, A = C = 1, B = 2, γ = 1 для первых пяти итераций.

Таблица 4.1

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

Номер

 

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

 

итерации

1

2

3

4

5

0

0

0

0

0

0

1

200

100

50

75

100

2

200

125

100

100

100

3

200

150

125

112,5

100

4

200

162,5

137,5

118,75

100

5

200

168,75

143,75

121,875

100

...

 

...

...

...

 

точное

200

175

150

125

100

решение

 

 

 

 

 

Относительная ошибка в точке i = 2: 1 T1(4) T1(5) = 1 162,5168, 75 = 0, 037 , что составляет 3,7 %, это далеко от тре-

буемой точности, которую выбирают в пределах ε = 103...104 , поэтому итерационный процесс необходимо продолжить.

213

Пример Паскаль-программы, реализующей метод последовательной линейной верхней релаксации.

program Example_4; const n = 4;

h = 1/n;

pi =3.141592654; epsilon = 1e-3;

gamma = 2/(1+sqrt(sin(pi/2/n*(2-sin(pi/2/n))))); var T,Tx: array [0..n] of real;

aa,bb,cc,ff,delta : real; i,iter : integer;

begin

{1. Ввод исходных данных}

for i:=0 to n-1 do T[i]:= 100; T[n]:= 200;

Tx[0]:=T[0];

Tx[n]:=T[n];

{2. Рабочий блок}

aa:= 1;

bb:= –2;

cc:= 1;

ff := 0;

{Релаксация} iter:=1; repeat

delta:=0;

for i:=1 to n-1 do begin

Tx[i]:= gamma/bb*(ff-aa*Tx[i-1]- cc*T[i+1])+(1-gamma)*T[i];

if abs(1-T[i]/Tx[i]) > delta then delta:=abs(1-T[i]/Tx[i]);

end;

T := Tx;

iter := iter + 1

until (delta < epsilon) or (iter > 100);

{3. Вывод результата} i:=0;

repeat

writeln(i,' ',T[i]:8:3,T[i]:8:3); i:=i+2;

until i > n; writeln(iter);

end.

Выполнение работы

1. Ввести в программу исходные данные: Тл = 0 и Тп в соответствии с табл. 4.2

214

 

 

 

 

 

 

 

 

 

 

 

Таблица

4.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ задания

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Tп

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

2.Проверить работоспособность алгоритма метода последовательной линейной верхней релаксации, т.е. просчитать «вручную» температуры в узловых точках сетки при N = 4 на первых пяти итерациях.

3.Определить относительную погрешность в центральной

точке слоя численного ТN/2+1 и аналитического T ( x = δ 2)= = (Tл + Tп ) 2 Тп 2 решений по формуле:

R =

TN 2+1 Tx2

 

100 % =

 

 

2TN 2+ 1

1

 

100 % .

 

 

Tx2

 

 

 

 

 

Tп

 

 

 

 

 

 

 

 

 

 

 

 

4.Провести вычислительный эксперимент на сгущающейся сетке при фиксированной погрешности ε = 10–3 , построить график зависимости R(N).

5.При фиксированной сетке (N) и наперед заданной погрешности (ε) провести расчеты с варьированием параметра релаксации в интервале 1 < γ < 2 , построить график зависимо-

сти q(γ).

Контрольные вопросы

1.Оценка ошибок аппроксимации уравнения теплопроводности.

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

3.Векторно-матричное представление сеточныхуравнений.

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

иего реализация на компьютере.

5.Запись основных операторов программирования на языке Паскаль.

215

Лабораторная работа № 5 Расчет времени охлаждения плоского слоя

Цель работы: ознакомиться с численным методом решения задач нестационарной теплопроводности.

Приборы и принадлежности: компьютер.

Сведения из теории

При охлаждения плоского слоя толщиной 2δ рассматривается половина слоя толщиной δ с адиабатной левой и охлаждаемой правой поверхностями. Математическая формулировка краевой задачи нестационарной теплопроводности имеет вид:

 

 

 

 

 

T

= a

2T

,

 

 

 

(5.1)

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

∂ τ

 

 

 

 

 

 

T (τ = 0)= T ,

T

 

 

 

= 0 ,

 

−λ

T

 

= α (T

T ), (5.2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

x

 

 

 

 

 

 

 

x

 

п

с

 

 

x=0

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

где Т – температура; τ – время; а – коэффициент температуропроводности; λ – коэффициент теплопроводности; α – коэффициент теплоотдачи; Тп, Тс – температуры поверхности и окружающей среды.

В частном случае, в соответствии с методом регулярного теплового режима пренебрегают внутренним тепловым сопротивлением по сравнению с внешним. Решение задачи (5.1–5.2) принимает вид

 

θ = θ 0eBi Fo ,

(5.3)

где θ =

Т Тс – избыточная температура; Bi = α δ λ

, Fo =

= a τ δ

2 – числа Био и Фурье. На практике решение (5.3) ис-

пользуется уже при Bi < 0,1.

Для численного решения задачи на расчетную область наносится регулярная сетка с координатами узлов:

216

xi = i hx; i = 0, 1,

2, ..., N;

hx

=

H x

;

 

 

 

 

 

 

 

N

 

τ k = khτ ;

k = 1, 2, 3,

... ,

 

 

 

(5.4)

где N – число разбиений по толщине слоя δ; hx, hτ

соответст-

венно шаги пространственной (по x) и временной (по τ ) сеток; i, k – номера узловых точек в направлении координат x, τ .

Уравнение теплопроводности (5.1) может быть представлено в дискретном виде по явной схеме, в соответствии с которой вторая производная по координате записывается на текущем k-м временном слое с известным распределением температуры (рис. 5.1). В результате из аппроксимации уравнения (5.1)

Ti,k +1 Ti ,k =

 

hτ

 

(5.5)

 

Ti +1,k 2Ti,k + Ti 1,k

 

= a

,

Рис. 5.1. Сеточный шаблон

hx2

явной схемы 1-го порядка точности

 

 

получается явная формула для температуры:

 

 

 

2ahτ

 

 

ahτ

(Ti +1,k

+ Ti 1,k )

 

Ti,k +1

= Ti,k 1

 

+

 

2

2

(5.6)

 

 

 

hx

 

hx

 

,

вычисления по которой устойчивы при следующем ограничении на шаг сетки по времени.

h < h2

(2a) .

(5.7)

τ

x

 

 

При неявной схеме

вторая производная по координате записывается на «новом» k-м временном слое с неизвестным распределением температуры

(рис. 5.2):

Рис. 5.2. Сеточный шаблон неявной схемы 1-го порядка точности

217

Ti,k +1 Ti,k

= a

Ti+1,k +1 2Ti,k +1 + Ti1,k +1

.

(5.8)

h

 

 

h2

 

τ

 

x

 

В результате получаем систему уравнений (N– 1)-го по-

рядка:

 

 

 

 

 

 

 

A Ti1,k + B Ti,k + C Ti+1,k = Fi ,

i =1,

2, ..., N 1, (5.9)

где A = C = −

ahτ

;

B =1 +

2ahτ

;

F = T

.

h2

h2

 

 

 

 

i

i,k

 

 

x

 

 

x

 

 

 

 

Схема абсолютно устойчива при больших, чем в ограничении (5.7), шагах по времени, однако с увеличением шага по времени возрастают ошибки аппроксимации.

С применением формулы односторонней разности записывается граничное условие (5.2) при x = δ:

−λ

TN TN 1

= α (TNTC ) ,

(5.10)

 

 

hx

 

из которого определяется температура на поверхности тела:

 

T +

 

λ

 

T

 

 

 

α

 

 

 

 

 

C

 

hx

 

 

TN = −

 

 

 

 

 

 

 

,

(5.11)

 

1 +

λ

 

 

 

 

 

 

 

α

hx

 

 

 

 

 

 

 

 

а также граничное условие при x = 0

T0 = T1 .

(5.12)

Алгоритм решения задачи по явной схеме представлен на рис. 5.3.

218

Рис. 5.3. Алгоритм решения задачи теплопроводности по явной схеме

Пример Паскаль-программы, реализующей расчет времени охлаждения плоского слоя по явной схеме.

program Example_5_1; const n = 10;

lx = 0.1; hx = lx/n;

epsilon = 1e-6;

var T,TT: array [0..n] of real; Tstart,Tc1,Tc2,a,lambda,rho,cp,delta,tau,htau,aht:real; i : integer;

procedure PrintArray; begin

i:=0; repeat

writeln(i,' ',T[i]:8:3); i:=i+2;

until i> n;

219

end;

begin

{1. Ввод исходных данных}

Tc1:= 100;

Tc2:= 200; Tstart :=100; lambda:=20; rho:=7800; cp:=500; a:=lambda/cp/rho;

for i:=0 to n do T[i]:= Tstart; tau := 0;

htau := sqr(hx)/6/a;

aht:=a*htau/sqr(hx);

{2. Рабочий блок}

TT[0]:=Tc1;

TT[n]:=Tc2;

repeat

{2.1. Определение температуры на следующем временном слое}

tau:=tau + htau; for i:=1 to n-1 do

TT[i]:=T[i]*(1-2*aht)+(T[i-1]+T[i+1])*aht;

{2.2 Определение различия решений на k-ом и k+1-ом временных слоях}

delta := 0;

for i:=0 to n do

if abs(T[i]-TT[i])>delta

then delta := abs(T[i]-TT[i]); T := TT;

until delta <= epsilon;

{3. Вывод результата}

writeln('Время установления стационара:',tau); writeln('Распределение температуры по слою');

PrintArray;

end.

Алгоритм решения задачи по неявной схеме представлен на рис. 5.4.

Пример Паскаль-программы, реализующей расчет времени охлаждения плоского слоя по неявной схеме.

program Example_5_2; const n = 10;

hx = 0.1/n; epsilon = 1e-6;

var T,TT: array [0..n] of real; beta,zeta : array [1..n] of real; aa,bb,cc,ff : real;

Tstart,Tc1,Tc2,alpha1,alpha2,lah : real; a,lambda,rho,cp :real;

delta, tau, htau : real;

220

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]