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

 

 

 

 

Программа 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.

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

линейных пробных функций приближённо оценивается как величи­ на, пропорциональная длине сегмента h в степени 3/2 , т.е.

ш

II

I

 

 

Ё 7 / Ф / - £ Г'Ч>'|“ ° ( А^ ) -

|/=0

/=0

II

0,01

0,1

И

Рис. 3.9. Зависимость от длин h сегментов погрешности 6ъп приближённого решения уравнения (3.5), полученного

с использованием неявной разностной схемы

0

10

20

30

40

50

60

т

Рис. 3.10. Зависимость времени t выполнения расчетов для неявной схемы от числа т сегментов разностной сетки

В силу этого 5т 0 при h —» 0 или /и —>оо. Это позволяет утвер­ ждать, что последовательность приближённых решений дифферен­ циального уравнения, полученных аппроксимацией (3.14) кусочно­ постоянными функциями, сходится равномерно на отрезке [0, л].

На рис. ЗЛО приведена зависимость времени / выполнения рас­ четов от числа т сегментов разностной сетки при использовании не­ явной схемы интегрирования по времени.

Выводы

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

2.Разработана вычислительная программа определения коэффи­ циентов разложения решения дифференциального решения по сис­ теме кусочно-линейных функций.

3.С использованием разработанных программ определены ко­ эффициенты и построены приближённые решения дифференциаль­ ного уравнения для 2, 4, 8, 16, 32 и 64 сегментов постоянной длины (см. рис. 3.8).

4.Для указанных последовательностей разложений определены

оценки 82™погрешности приближённых решений (см. табл. 3.2) для различного числа т сегментов.

5. Показано, что с уменьшением длины h сегментов погрешно­ сти приближённых решений нестационарного дифференциального уравнения, полученных на основе неявной разностной схемы, опре­ деляемые чебышёвской нормой, уменьшаются (см. рис. 3.9), при этом погрешность аппроксимации имеет порядок 3/2 относительно длины сегментов (шага интегрирования).

6. Выполненное исследование показывает, что последовательно­ сти приближённых решений дифференциального уравнения, полу­ ченных методом Галёркина на основе неявной разностной схемы при аппроксимации кусочно-линейными функциями, сходится равно­ мерно на отрезке [0, я].

7. Для численного решения на компьютере с процессором Intel® Pentium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) дифференциального уравнения методом Галёркина на основе кусочно-линейных функций на разностной сетке, содер­ жащей т = 64 сегмента, и шагом по времени т = 15 с при использо­ вании неявной разностной схемы требуется 0,3998 с (см. рис. 3.10).

3.3. Разностная схема Кранка - Николсон

Задание. Методом Галёркина с использованием кусочно-ли­ нейных пробных функций и схемы Кранка - Николсон построить на отрезке /е [ 0 ,3600] приближённое решение одномерного диффе­

ренциального уравнения

нестационарной теплопроводности

cpf(t,x) = [\T'(t,x)\ и - sinJC

с

начальным условием

T(t,JC) ^ =Г(х)

и граничными условиями

T(t,x)\x_Q=T0e~0f00]t

XT'(t,x)\^ =

Сформировать систему линейных алгебраи-

ческих уравнений относительно коэффициентов разложения иско­ мого решения по заданнной системе пробных функций; разрабо­ тать вычислительную программу для определения коэффициентов разложения решения дифференциального уравнения по заданнной системе пробных функций для 2, 4, 8, 64 сегментов постоянной длины; при известном точном решении определить погрешность приближённых решений для указанной последовательности сег­ ментов; исследовать зависимость погрешности искомого решения от длины h сегментов; исследовать сходимость процесса аппрок­ симации; оценить быстродействие вычислительной программы. При выполнении расчётов принять: с = 460 Дж/кг град, р = 7800 кг/м3, Л = 70 Вт/м град, Wo = 1000 Вт/м3, а = 30 Вт/м град, Т(х) = Т°, Т° = 100°, Too = 20°

Разрешающие соотношения

Построение разрешающих соотношений метода Галёркина для одномерного дифференциального уравнения нестационарной тепло­ проводности с использованием кусочно-линейных пробных функций приведено в подразд. 3.1.1. Для интегрирования полученной системы обыкновенных дифференциальных уравнений (3.17) используется раз­ ностный аналог

где т - шаг интегрирования по времени, { г} = {г(/ + т)}, {Г}={г(/)}.

Удобно полученную разностную схему записать в виде

или в компонентной форме

Для двух соседних сегментов

и [JC,,JC/+1] приведённая сис­

тема уравнений записывается в форме

07)_,+ 2cph

=07;,,+

02).1+ /

£ P » . * l ^ + f i 2 » + i V

 

h ) ‘ { 3

о I cos

sinx. -smjc:

L I - Т0/-1,

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

cosx, -T qt

TM =

sinxI+. -smx:

o| cosx,------- ^ ------ L |_T7/>

=

2cph TX

sm JC/+1- sin JC,

= o r , - , ^ + ^ V f ^ - ^ k + ^

-co s*/+1 -T qM

l 3 ' A

 

Складывая второе и третье уравнения этой системы и учиты­ вая условие теплового баланса #; +<7/ = 0 , из этой системы урав­

нений можно исключить неизвестные величины внутренних тепловых потоков между соседними сегментами и [хпхм ],

что снижает размерность системы линейных алгебраических урав­ нений:

+TW0( COSXW - SmXi~ SmX'-')-TqU,

Ф ^ ) t l + 2 ^ h +

T M ? ' f TM =

(3.23)

-xWr sin x:/+1- 2sin xt + sin JtM

0Tt_

V

3 h г Л 3

h

 

2cph

TX

- M

^ T M

TJ+i +

 

, SinJC. ., -SinJC.

\-xqM.

+*Щ -------

----------- cosx,+,

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

07Q+07j +0Т2+

+

=

^ sin(;r-/z)

- * Q L

h

Для учёта граничного условия первого рода 71(^*)[с_0=Т°е~°'ои

на левом торце стержня следует первое уравнение приведённой сис­

темы заменить уравнением Т0 =т°е~°,ои

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

рода ХГ((,х)\х=п = - а [г (/,х )|г=я - Г . ] на правом

конце

стержня

ис-

пользуется соотношение Q1 = а[^7’(/,лг)|л.=л. П

о с

л е д

­

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

 

 

 

cph

x l \

f2cph

xX\

(

sin^TU-A)^

 

 

 

 

Tm+xW0

1------i------}-

~ +j r j Tm-,+ l ~ r ~h /

\

и

)

"

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

 

 

 

 

 

 

 

cph

xX)~

flcph

тХ Ь

 

 

 

т " т / - и + 1т "

~ h ) m

 

cph xX

fc _ +

2cph

TA. Tm+?W0 1-

sin(jt-/j)

-ат(гт -Г_)

~ T +~h

 

3

~h

 

 

 

 

ИЛИ

 

срА

1+l „

+ 2 a * + * V

. -

 

\T.

 

T ~

 

 

 

cpA TX

2cpA

xA.

sin(^-A )>

T ~ + T

 

T

1-

+ QI7L.

 

 

 

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

lT0+OTt +OT2+

- .a~°'0U

+0Tm=T0e

+ 0Tm=

- TW0sin2h-2sin/j

 

 

 

o'

 

 

 

 

 

 

 

 

 

 

 

 

♦ * -

= f a

*

+2f2£E*.^'|7.i + f £ e * + ^ V , -

3

h )

'

\

3

h У 2^У

Ъ ^ h ) y

-zW0sin ЗА - 2sin 2A + sin A

 

(3.24)

0To+0T,+ ( cph

zX

T,+

+ 0Г

=

V3

-( ^ ♦ т М ¥ - т М ? +т>-‘-

-zW( sin 4A - 2sin 3A +sin 2A

 

 

 

A

 

 

0Г0+07;+0Г2+

+|ат + ^

+ у |Г „ =

 

 

 

 

^

sin(T[-A)

f + f ) r -

' + i ^ r ~

~T t

\Tm+xWo

+ axTM

h

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

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

срА

тА

Т,-1+2

2£P*+iV. +f£P*.* k , j£6* +*'

 

 

 

 

 

 

 

 

V

3

 

 

 

+2f

^

-

л\

/

£P^ +

A )

'+l

t

sin*,+i —2sinJC, + sin*f_,

^ 3

 

A

 

.

3

°

 

A

 

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

ношение

 

 

 

 

 

 

 

 

 

 

 

 

 

2cph

хХ >2 cph

тА +2 cph

хХ + 2 2срА

тА

 

 

3

+ А

3 ~~И

 

3 + А

3

~~И

 

 

 

 

 

££>A> срА

тА

2срА _ тА

 

 

 

 

 

 

 

3

"1

 

Т

~1

Т

 

 

 

 

cph

2срА

тА. > срА _ тА > 2срА

тА. срА

 

 

~3

 

 

3

А

3

 

А

3

А

 

 

 

 

 

2срА

тА ^ тА ^ 2срА

2срА

тА

(3.25)

 

 

 

 

 

3

А "

А “ 3

3

А

 

 

 

 

 

 

Первоначально рассматриваеся левая часть неравенства (3.25):

 

 

 

 

 

-ЗтА < 2срА2- ЗтА< ЗтА,

 

 

 

 

 

 

 

 

О < cph2 < ЗАт.

 

(3.26)

 

 

 

 

 

 

 

 

 

 

 

 

Далее рассматриваеся правая часть неравенства (3.25):

 

 

 

 

 

 

2срА

тА ^ 2срА

тА

 

 

 

 

 

 

 

 

~~3

h

_ _ з

Т ’

 

 

 

 

 

ЗтА2срА2< 2срА2- ЗтА < 2срА2- ЗтА,

 

 

 

 

 

 

 

ЗтА< 2срА2

 

 

^3 27)

Сравнение неравенств (3.26) и (3.27) приводит к условию ус­

тойчивости

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

срА2< ЗАт < 2срА2

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£Е^1<Т<3£Е^1

 

 

(3.28)

 

 

 

 

 

 

ЗА

 

 

ЗА