книги / Численные методы. Ч. 5
.pdfcph |
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~1Q4— 3—>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 + 0Г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.
Погрешность полученного приближённого решения дифферен циального уравнения методом Галёркина с использованием неявной разностной схемы интегрирования по времени и системы кусочно