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

книги / Численные методы. Ч. 5

.pdf
Скачиваний:
2
Добавлен:
20.11.2023
Размер:
7.5 Mб
Скачать

cph

cph

... f

sin x, -sinx,_, ^

= - j- 7 / - i +

g ^

°^ +l TW®[COS *'-'

------- h-------

~ ) Щ -и

= £Е*г,., + + t№o[ = i ± 2i L - ,cos*,- - т qh

М

^

т М

^

т ) * -

 

 

nrr

,

cp/)T , cph^

(

sin x,+| -sinx,

,

= 07]-, +

3 ^ +

^ ^

+tW»I cosx-

--------- h~-------

\~4n

Складывая второе и третье уравнения этой системы и учитывая условие теплового баланса ^ + ^ - = 0 , из этой системы уравнений можно исключить неизвестные величины внутренних тепловых по­ токов между соседними сегментами и что снизит размерность системы линейных алгебраических уравнений:

(3.20)

Аналогичные преобразования выполняются для всех остальных уравнений этой системы. В результате система линейных алгебраи­ ческих уравнений для определения нестационарного температурного поля всего стержня принимает вид

£? + т ) ^ + ( £? " т ) ^ + 0?!+

+<rf- °

 

 

 

 

 

 

 

+ o t =

cph^

, 2c p

t cph ^

a/ sin2h —2smh

~~6~1Q43—>s

 

 

Jj

 

 

 

 

 

 

 

+ o t =

_cphrr

t 2cph^

t c

p

u/ sin3/j-2sin2/* + sin/z

6

y

2 + — - — h

+ — — U

~ T ^ o ------------;-------------- J

 

 

3

 

6

 

n

o t +

 

o t + i - - — V,

+0 Tm=

 

 

 

 

V 6

 

 

 

 

;£Р^Гз + 2£РЛг

срЛ

^ sin4h 2sin ЗА + sin 2h

6

 

 

3

 

6

 

 

07’0+07]+07’2 +

 

 

 

 

^ T ^ + ^ T n + i W o

^ sin (TU•—Л)

 

О

 

 

J

 

 

h

 

Для учёта граничного

условия первого

рода Г(/,л:)| _о= т°е~°,ои

на левом торце стержня следует первое уравнение приведённой сис­ темы заменить уравнением Т0= т°е~°'ои

Для включения в систему уравнений граничного условия третье­

го рода

= -а|^Г (/,д:)|^-7L] на правом конце стержня ис­

пользуется

соотношение QL= а [ г ( /,х ) |^ -T „] = a [fm—7L] - Послед­

нее уравнение полученной системы 172

[ f - т У А ^ т У - -

=£ е н-ттл А т + хwSs in ^ ~ , s in x " - ' —cosхт - т Q

6 3 V

преобразуется к виду

' У г т У А ^ т У - -

SlH-^rn Sill -ХГ/т,—,

— COS X ,

, j - o t ( t - r . )

 

 

 

ИЛИ

cph тАЛ ~

“I + 6 + T j r" =

- f 7 _ , + £ ^ r

_

cos, . j + a, r. .

Окончательно система линейных алгебраических уравнений для определения температурного поля всего стержня записывается в форме

lf0+ Of; + 0f2+ + 0f m= TQe~°'0U,

T2+ +0 Tm=

= £ e * 7 b + ^ 7 | + ^ r 2- t » i sin 2A -2sinA

° ^ + ( £? ' т ) ^ + 2 ( £? + т ) ^ *

+o f- -

 

_cphrr

2cph ^

cph ^

u/ sin3/7- 2sin2/7+ sin/j

»

- ~ 7 ~l l + —:—h + ~~7~h ~ T"o-----------

:--------------

h

6

3

6

 

 

(3.21)

о г . + о т - ^ а » - ^ ,

+ 071 =

 

 

 

 

 

cph

2cpA

cpA

sin4A-2sin3A + sin2A

----T~‘2H— г—h

 

~ T"o --------------

 

;-------------

5

0 r, +0 7+ 0f , +

+ ( l , + ^

+ y j r _ =

- ^ Т . _ , А „ +Ф i

sin(n-/z)

+ ai7L.

A

 

 

Исключённые из системы первое и последнее уравнения в даль­ нейшем, после вычисления узловых коэффициентов могут быть использованы для определения тепловых потоков Q0и

Для рассматриваемой двухслойной схемы устойчивость иссле­ дуется с использованием принципа максимума. Рассматривается вто­ рое уравнение системы (3.20):

Условием устойчивости по начальным данным является соот­

ношение

 

 

 

 

 

cph

ТА >2 cph

iX + 2 cph -l- 2cph

~ +~h

~ Г ~~h

3

3

 

cph

тХ < тХ

cph

 

 

Т ~~И

Г

тХ

cph ^ cph

тХ^ тХ

cph

” Т

“Г

" !

h~~h

3~’

2cph < 2тХ ~ b ~ ~ ~ h '

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

т >££*!

(3.22)

зх

 

Алгоритм решения

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

 

 

 

 

Программа 3.2

//

Задача стационарной теплопроводности. Неявная схема

//

Ne

число

сегментов

//

Nk

число

узлов

//

locale

массив коэффициентов системы уравнений для сегмента

//

localF

массив правых частей системы уравнений для сегмента

//

globalC

массив коэффициентов системы уравнений для объекта

//

globalF

массив коэффициентов системы уравнений для объекта

//

х

массив координат узлов

//

хО

начальная

точка

/ /

XI

конечная

точка

/ /

L

коэффициент теплопроводности

//С коэффициент теплоёмкости

//R плотность

//W0 амплитуда мощности источников

//

ТО

температура

на левом торце (хО)

//

Те

температура

среды

/ /

А

коэффициент

теплоотдачи

//h длина сегмента

//dt - шаг интегрирования по времени

ttdefine Ne 64

void main(void)

{double globalC [Ne+1] [Ne+1], globalF [Ne+1], x[Ne+l], Time=0.0; double locale [2] [2] , localF [2], x0=0 .f xl=M_PI, h= (xl-xO)/Ne;

double

L = 7 0 .0, W=1000.0, T0=100.0, Te=20.0, A=30.0f dt=0.1;

int i,

j, k, Nk=Ne+l;

//определение координат и номеров узлов каждого сегмента for(k=0; k<Nk; k++) x[k]=xO+h*k;

//определение начального условия

for(k=0; k < N k ; k++) T [k]=T0; for(Time=0; Time<3600.0; Time+=dt)

//инициализация массивов коэффициентов и правых частей

//системы уравнений

{for(i=0; i<Nk; i++)

for(globalF [i]=0.О , j=0; j<Nk; j++) globalC[i] [j]=0.0; for(k=0; k<Ne; k++)

// формирование матриц коэффициентов и правых частей для сегмента

{locale [0] [0]=C*R*h/3.0; locale [0] [1]=C*R*h/6.0; l ocale[1] [0]=C*R*h/6.0; locale[1] [1]=C*R*h/3.0; localL [0] [0]=L/h; localL[0] [1]=-L/h; localL[1] [0]=-L/h; localL [1] [1]=L/h;

localF [0] =W* (cos (x [k] )- (sin (x [k+1] )-sin (x [k] ))/h) ; localF [1] =W* ((sin(x [k+1] )-sin (x [k] ))/h-cos (x [k+1] )) ;

// формирование матриц коэффициентов и правых частей для объекта globalC [к] [к]+=1оса1С [0] [0]+dt*localL[0] [0];

globalC [к] [к+1]+=1оса1С [0] [1]+dt*localL[0] [1] ; globalC [к+1] [к]+=1оса1С[1] [0]+dt*localL[1] [0] ; globalC [к+1] [ к+1]+=1оса1С [1] [1]+dt*localL[1] [1]; globalF[к]+=dt*localF[0]+1оса1С[0][0]*Т[к]

+1оса1С [0] [1] *Т [к+1] ; globalF[к+1]+=dt*localF[1]+1оса1С[1][0]*Т[к]

+1оса1С [1] [1] *Т [к+1] ;

}

// определение граничного условия 1-го рода на левом торце globalC [0] [0]=1.0;

f o r (к=1; k<Nk; к++) g l o balC[0][к]=0.0;

g lobalF[0]=T0*exp(-0.001*Time);

//определение граничного условия 3-го рода на правом торце globalC[Nk-1][Nk-1]+=A*dt;

globalF[Nk-1]+=A*dt*Te;

//решение системы линейных алгебраических уравнений GAUSS(globalC, globalF, N k ) ;

}

Реализация алгоритма

Отрезок [0, я] разбивается на четыре равных сегмента

[0,л] = [0,я/4] и [п/4, л/2] и [л/2,^3л/4] U [3л/4,тс].

На каждом из этих сегментов в соответствии с выражением (3.12) определяются кусочно-линейные пробные функции. Решение дифференциального уравнения представляется разложением (3.14). Для построения приближённого решения необходимо решить систе­ му обкновенных дифференциальных уравнений (3.17) относительно искомых функций T(t)i9 i = 0,4.

В соответствии с коэффициентами матриц [С], [Л] и {W} выра­ жения (3.17), количественными значениями физических констант с, р, X, а, параметров Л и т подсчитываются значения коэффициентов системы линейных алгебраических уравнений (3.19), что приводит к системе уравнений

i f о+ 07] + of2+ 0T3+ 0Г4= 1 OOeT0’01' ,

(469668-т89,13)Г0 + 2(939336 + T89,13)7] + (469668- т89,13)Г2 + 3+

+0Г4= 469668Г0 +18786727] + 4696687], + т527,393, 0Г0+(469668-т89,13)7]+2(939336 + т89,13)Г2+(469668-т89,13)Г3 + «+0f4= 4696687] +18786727], + 4696687; + т745,846,

Of0+07] +(469668-т89,13)f2+2(939336 + r89,13)f3 +

+(469668-т89,13)f4 =469668Г2 +1878672Г3 +469668Г4 + т527,393, ОТ0+ 07] + 0Г2+ (939336 - т89,13)Г3 + (939336 + т119,13)Г4 = = 4696687; + 9393367; + т699,684.

Согласно условию (3.22) при использовании четырёх сегментов на отрезке [0, к] для устойчивости неявной разностной схемы необ­ ходимо выполнение неравенства т>срИ2/ЗХ =10539, что для отрезка времени [0, 3600] невозможно.

Результаты расчётов

На рис. 3.7, а представлено приближенное решение рассматри­ ваемой дифференциальной задачи для области [0, л:] с 32 сегмента­ ми на заданном отрезке времени [0, 3600] и шагом интегрирования т = 100 с, полученное с помощью Программы 3.2.

При расчётах принято, что нагрев области отсутствует, W0 = 0. Из рис. 3.7, а видно, что вследствие нарушения условия устойчиво­ сти т > cph2/ЗХ = 164,7 полученное решение имеет распределение температуры, не соответствующее закономерностям распределения тепла в рассматриваемом объекте.

На рис. 3.7, б приведено приближенное решение той же задачи с 32 сегментами на отрезке времени [0, 3600] и шагом интегрирова­ ния т = 500 с, удовлетворяющим условию устойчивости. Нагрев об­ ласти в этом варианте также отсутствует, W0 = 0. Из рис. 3.7 видно, что признаки нарушения устойчивости приближённого решения, характерные для явной схемы интегрирования, отсутствуют.

Рис. 3.7. Приближённые решения уравнения (3.5) при использова­ нии неявной разностной схемы для 20 сегментов на отрезке [0, я] и шага интегрирования по времени т = 10 с (а) и т = 500 с (б) для моментов времени / = 0 с (---- ), t = 500 с (---- ), t = 1000 с (-0-), / = 1500 с (-А-), t =2000 с (—X—), / = 2500 с (-о-), t = 3000 с ( - Н

На рис. 3.8 приведено приближённое решение рассматриваемой задачи в области [О, л]х[о, 3600] для 64 сегментов и шага интегриро­

вания по времени т = 50 с, удовлетворяющего условию устойчивости т > cph2/3X = 41,2 с, полученное с использованием неявной разност­ ной схемы и учётом нагрева области, WQ= 1000 Вт/м3

 

 

 

 

 

 

 

Таблица 3.2

Погрешность Ъту2тприближённого решения дифференциального

 

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

 

т

А

Т

б/п.2т

т

А

т

^т.2т

4

0,785398

15360

72,8506

32

0,098175

240

3,51919

8

0,392699

3840

37,2481

64

0,049087

60

1,13692

16

0,196350

960

8,53731

128

0,024544

15

-

Для функции двух переменных Tm(t,JC), являющейся приближён­

ным решением заданного дифференциального уравнения, погрешность зависит от шагов интегрирования т и А, т.е. 5„, = о (т/\А 62) . В силу ус­

ловия устойчивости (3.22), ограничивающего шаги интегрирования, погрешность приближённого решения может быть представлена в виде

функции только одной переменной А, т.е. 5Ш= о (ал). В табл. 3.2 приве­ дены значения погрешностей

$т,2,„ = |\Тгт ~ ЪЦ = ^тах \т2т(/,*) - Тт(/,дг)| =

ге[0,61440]

2т т

-/”а,х

-

определённые сравнением двух последовательных приближённых решений Тти Тгтдифференциального уравнения (3.5) при различных значениях числа т и 2 т сегментов на одном и том же отрезке време­ ни t € lO. 61440] с использованием чебышёвской нормы. Те же данные представлены графически на рис. 3.9.

Применение формулы (В.1) позволяет приближенно определить порядок погрешности численного решения дифференциального урав­ нения (3.5) разложением (3.14) по системе кусочно-линейных проб­ ных функций. Для 8т (рассматривается прямолинейный участок на рис. 3.8) порядок погрешности оценивается значением

6m2m = (In 72,8506 - In1,13692)/(In0,785398 - In0,049087) = 1,50043.

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