книги / Численные методы. Ч. 5
.pdf
|
sx |
|
|
+ X |
|
|
|
|
|
|
|
|
|
-4,-i |
3hT‘-' |
3hJ‘^ 2 |
|
|
|
|
|
|
|
■h |
) |
||||
ЗА |
|
|
|
|
|
|
|
|
||||||
sx |
+ 1& |
|
|
8XT=W„ |
|
|
|
|
|
|
|
|
||
ЗА |
ЗА 1,' V2 ЗА |
|
|
|
|
|
|
|
|
|
|
|||
x r |
sx |
|
|
7X |
|
|
|
|
|
|
|
|
|
-Яг |
ЗА |
'-V2 + 3A |
|
|
|
|
|
|
|
|
|
||||
ЗА M |
|
|
|
|
|
|
|
|
|
|
||||
Для двух соседних сегментов [х1Ч,х,] и [JC, , JC1+1] эта система урав |
||||||||||||||
нений записывается в форме |
|
|
|
|
|
|
|
|
||||||
|
( — Т |
—— Т |
+ — Т + 0Т |
+07’ |
= |
|
||||||||
|
11. l i-1 |
lb |
l i- 12 + u |
' i |
+ uy/+l ’ + UY/+1 |
|
||||||||
|
ЗА |
|
|
ЗА |
|
|
ЗА |
|
|
|
|
|
|
|
|
= fK |
3sinx,j._,+sinx,. |
( 4 |
|
\ |
|
4cosx, |
|
||||||
|
|
|
A |
|
|
U2 |
COSJ:,_,+ — |
|
||||||
|
|
|
|
|
|
|
J |
|
|
|
||||
|
ЗА |
7Т +1^:7’ |
ЗА |
' |
+ QT |
+or .= |
|
|||||||
|
|
|
ЗА |
" 12 |
|
|
,+12 |
,+| |
|
|
||||
|
|
|
8(cosXj_j —cosxi) |
4(sinx,_1+sinjc/) |
|
|||||||||
|
|
|
|
|
A2 |
|
|
~ |
|
|
|
h |
|
|
|
— T —— T + — T + 0Г + 0Г = |
|
||||||||||||
|
ЗА |
|
|
ЗА :-12 ЗА |
' |
|
|
,+u |
,+l |
|
|
|||
|
|
|
(sinx,._, + 3sinx,.W 4 |
Л cos.r. --4 COSJT, |
|
|||||||||
|
|
|
|
|
A |
|
|
U |
2 |
J |
|
|
|
|
|
07) . + 07;. , ,+ — 7; |
ЗА |
7J+1*+ — 7L= |
|
||||||||||
|
' |
1 |
' 12 ЗА |
' |
,+12 |
ЗА ,+1 |
|
|||||||
|
= И^ |
3sinx. + sin A*. |
|
|
|
|
|
4 cosx,. |
-ft- |
|||||
|
|
|
|
“ |
- |
( |
|
H |
cosx + - |
|
||||
|
|
|
|
|
|
|
|
81, |
|
|
||||
|
|
|
|
|
8?im |
16A., |
|
|
|
|||||
|
огы + огМ !- - з : + — |
|
|
|
|
|
||||||||
|
|
|
8(cosx, - cosx,+,) |
4(sinx, + sinx,+1) |
|
|||||||||
|
|
|
|
|
A5 |
|
|
|
|
|
A |
|
|
|
|
07’ |
|
+ 07’ |
+ — 7’ |
- — T |
+ — T = |
|
|||||||
|
W'-I +W '-12+ 3A |
' |
|
ЗА |
|
Ж 2 ЗА '41 |
|
|
||||||
|
= ^o |
(sinx, + 3sinx,4l) |
f 4 |
Л |
|
4cos v'/ |
-^ + 1- |
|||||||
|
|
|
A |
|
|
+U 2 |
- 1J C“ U,+1 |
A2 |
||||||
|
|
|
|
|
|
|
|
Складывая третье и четвёртое уравнения этой системы и учиты вая условие теплового баланса qt + q,, = 0 , можно исключить неиз вестные величины внутренних тепловых потоков между соседними сегментами и [xi9xi+l], что снизит размерность системы ли нейных алгебраических уравнений:
3sinjc, . + sinXj f |
4 |
|
|
|
4COS X: |
Я/-] > |
||||
— % ------- |
|
|
|
|
|
|
|
|||
Г i |
T - — T + 0T + 0T = |
|
||||||||
ЗА м |
ЗА |
м2 |
ЗА |
' |
|
1+12 |
,+l |
|
|
|
= w0 8(cosXj_, - cos*,) |
4(sin.t,_| + sin x,) |
|
|
|||||||
X т |
|
A2 |
|
|
|
A |
|
|
|
|
—^ |
т I |
14Л. _ _ 8Л. _ |
|
_ |
_ |
|
||||
ЗА ,ч |
ЗА |
2 |
ЗА |
' |
ЗА |
,+l 2 |
ЗА |
,+l |
|
|
|
(sinJC;_, + 6sinх + sinх,ч ) |
|
4(cos*,._, -cos*/+l) |
|||||||
. |
|
A |
|
|
|
|
|
A3 |
. |
|
Or + 0Г - - T + — T |
2 |
- — T = |
|
|||||||
0rw +07J4, |
3/7 |
+ |
ЗА |
^ , |
ЗА ^ |
|
|
|||
= ^л |
8(cosjr, -cos:r/+1) |
4(sin x, + sin JC/+1) |
|
|
||||||
= wa (sinx, +3 sin x/+1) |
( 4 |
Л |
|
4cosx |
Ям• |
|||||
--------- 1---------+ [ / F - 1J C0' x" |
— |
I T |
|
Аналогичная процедура ансамблирования выполняется для всех остальных уравнений этой системы. В результате система линейных алгебраических уравнений для определения температурного поля всего стержня принимает вид
IX |
SX |
T\i |
+ _. 7J |
+ 07j j + ОГ, + • • • +071, — |
||
„ Т 0 |
— |
|||||
3А |
ЗА |
|
ЗА |
|
|
|
=wn sin A |
( 4 |
4cosA |
-e°, |
|||
~h |
i / r |
J + _ A5 - |
||||
8A,—, |
\ 6k — |
8к т |
|
|
лт, |
|
~ЗА 0 |
lA -712 "ЗА 71 |
0 32 |
0?2 + '■'+0Г'” = |
|||
= W0 8(l-cosA) |
4sinA |
|
|
|
||
|
A2 |
A |
|
|
|
|
X |
ei |
|
14X. |
8Х, |
|
А |
ЗА |
~ ^ Т\2+~ПГТ1 - ЧГ732+ т ^7'2 + ---+0Г_ = |
|||||
|
|
ЗА |
ЗА |
|
ЗА |
(6sinA+sin2A) 4(l-cos2A)
АР
or0 |
+ or |
—— |
-^^Г |
—— Г |
+ i-ОГ — |
|
ОГ |
+ 07i2 |
zh h |
Г+ъ и тъ 2 3hT2+ |
+0ГИ- |
||
=w 8(cosA-cos2A) |
4(sinA + sin2A) |
|
||||
"o |
P |
X ^ |
8X_ |
A |
|
|
|
|
IX |
|
|
||
0Г° + 07;2 + ЗА71 |
ЗАГз2+ ЗАTl + ' + 07;" " |
|||||
|
(sinA+ 6sin 2A+sin ЗА) |
4(cosA - cos3A) |
||||
|
|
A |
|
|
P |
. |
or0+ 07J2 + 07; + or32+ o r ,+ - +11^ r m= |
||||||
|
|
|
|
|
3/7 |
|
|
sin(7t-/7) |
( 4 |
Л 4COS(TT-A) |
|
||
_ |
h |
{ ¥ |
J |
h 1 |
_ - e s |
где Q° и - тепловые потоки на левом и правом торцах стержня соот ветственно. Для учёта граничного условия первого рода 7’(^)|х=0= Т° на
левом торце стержня следует первое уравнение приведённой системы заменить уравнением Т0 = Т°. Для включения в систему уравнений гра
ничного условия третьего рода АТ'(х)|м = - а [r(;t)|j=ji - r j на правом
конце стержня используется соотношение 0 1=а [г(х)| -71,]=
= а[Гт -Г те]. Последнее уравнение приведённой системы
А т |
- ^ т |
|
+ ™ T |
= W |
sin(Tt-A) |
|||
|
0 |
|
||||||
3h m~' |
2 h a~'n |
3h m |
|
|||||
преобразуется к виду |
|
|
|
|
||||
— T |
- — Т |
+— Т = W sin(7C—Л) |
( 4 |
|||||
3И ”-' ЗА т-п ЗА т 0 |
h |
|
||||||
ИЛИ |
|
|
|
|
|
|
|
|
|
8А,, |
|
|
7АЛ |
_ |
Гsin(^ —/?) |
||
-- Т т 1 ----- |
Т т 1/2 + СХ+ |
ЗА/ |
ш |
°|_ |
A |
|||
ЗА m1 |
ЗА |
m“'/2 |
I |
|
f 4 Л 4cos(7t-A )
|
|
|
|
- Q L |
Л _ 44соCOS^(7U-A) |
- a [ |
7 ; - r j |
||
U |
1 " |
J2 |
|
/г |
Г 4 |
л |
4cos(n - А) |
+ аГ . |
|
U 2 |
J |
А2 |
|
|
Окончательно система линейных алгебраических уравнений для определения температурного поля всего стержня записывается в форме
' |
Iт0 + |
от12 + |
0 7 ; |
+ |
отш + |
от2+ |
••• |
+ |
отт = т° , |
||
~ |
— |
т0 |
+ 1- ^ |
т]2 - |
— |
т{ + |
отУ2+ |
от, |
+ |
••• + orm= |
|
|
ЗА |
0 |
ЗА |
12 |
|
ЗА |
1 |
32 |
|
|
|
|
=ж, |
8(l-cosA) |
4sinA |
|
|
|
|
||||
|
А2 |
|
|
А |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
А |
0 |
г _ |
А |
ЗА 71 |
+ А |
г |
А |
т 07- -+ А г + |
||
|
ЗА |
З А 12 |
ЗА |
32 |
ЗА |
2 |
|
(6sinA+sin2A) 4(l-cos2A)
АА2
|
С1 |
7| + |
16Х, |
8Я.. |
|
О^о + 07],2 |
^ ^ |
2 |
- А Г2 + - + 0 7 ; = |
||
|
|
|
ЗА |
|
ЗА |
= ^0 |
8(cosA-cos2A) |
4(sinA+ sin2A) |
|||
|
|
|
|
|
|
ОТ0 + 07j2 + |
|
8^ |
|
7k г |
|
7J —— Ti:2 + — 72+ +07; — |
|||||
|
ЗА |
ЗА |
' |
ЗА |
|
= »о |
(sinA+ 6sin2A + sin3A) |
4(cos2A-cos3A) |
|||
А |
|
|
А2 |
||
|
|
|
|||
07; + 07^2 + 07; |
+ 07 , + 0Т2+ ••• +| а + — 1Т = |
||||
|
|
|
|
|
ЗА |
= Wn sin(rc-A) |
f 4 |
Л |
4cos(7t - A) -a71. |
Исключённые из системы уравнения в дальнейшем, после вы числения узловых коэффициентов 7}, могут быть использованы для определения тепловых потоков 0 ° и
Алгоритм решения
Ниже приведён фрагмент программы на языке Си, реализующей процедуру построения приближённого решения дифференциального уравнения с использованием кусочно-линейных пробных функций.
Программа 2.2
// |
Стационарная задача теплопроводности |
|
|
|||||
// |
Ne |
число сегментов |
|
|
|
|||
// Nk - число узлов |
|
|
|
|||||
// |
locale |
массив |
коэффициентов |
системы уравнении |
для |
сегмента |
||
// |
localF |
массив |
правых частей |
системы уравнений |
для |
сегмента |
||
// |
globalC |
массив |
коэффициентов |
системы уравнений |
для |
объекта |
||
// |
globalF |
массив |
коэффициентов |
системы уравнений |
для |
объекта |
||
// |
х |
массив координат узлов |
|
|
|
|||
// |
хО |
начальная |
точка |
|
|
|
||
/ / |
XI |
конечная |
точка |
|
|
|
//h длина сегмента
//W0 амплитуда мощности источников
//L коэффициент теплопроводности
// |
ТО |
температура |
на левом торце (хО) |
// |
Те |
температура |
среды |
/ / А |
коэффициент |
теплоотдачи |
#define Ne 64
void main(void)
{double globalC[2*Ne+l] [ 2*Ne+l], globalF[2*Ne+l], x[Ne+l]; double locale[2] [2], localF[2], x0=0., xl=M__PI, h=(xl-xO)/Ne; double L = 7 0 .0, W=1000.0, T0=100.0, Te=20.0/ A=30.0;
int i, j, k, Nk=Ne+l;
//определение координат и номеров узлов каждого сегмента for(k=0; k<Nk; k++) x[k]=xO+h*k;
//инициализация массивов коэффициентов и правых частей
//системы уравнений
for(i=0; i<2*Ne+l; i++)
for(globalF[i]=0.0/ j=0; j<2*Ne+l; j++) globalC[i] [j]=0.0; for(k=0; k<2*Ne+l; k++)
// формирование матриц коэффициентов и правых частей для сегмента
{locale [0] [0]=7.0 *L/(3.0*h);
locale [0] [1] =localC[1] [0]= - 8 .0*L/(3.0*h) ; locale [0] [2] =localC [2] [0] =L/ (3.0*h) ; locale [1] [1]=16.0 * L / (3.0*h);
locale [1] [2]=localC [2] [1]= - 8 .0*L/(3.0*h) ;
locale[2] [2]=7.0*L/(3.0*h);
localF [0] =W0* ((3.0*sin (x [kj )+sin (x [k+1] ))/h- (4.0/ (h*h) -
1.0)*cos(x[k])+4.Q*cos(x [k+l])/ (h*h) );____________
l o c a l F [1]= W 0 * (8.0*(cos(x[k])-cos(x[k+1]))/ (h*h)- 4 . 0 * (sin(x[k])+sin(x[k+1]))/ h ) ;
localF [2]= W 0 * ((sin(x[k])+3.0*sin(x [k+1]))/ h + (4.0 / (h*h)- 1.0)*cos(x [k+1])-4.0*cos(x[k])/ (h*h));
// формирование матриц коэффициентов и правых частей для объекта globalC[2*k] [2*k]+=1оса1С [0] [0];
globalC [2*k] [2*k+l]+=localC [0] [1]; globalC[2*k] [2*k+2]+=localC [0] [2]; globalC[2*k+l][2*k]+=localC[1][0]; globalC[2*k+l][2*k+l]+=localC[1][1]; globalC[2*k+l][2*k+2]+=localC[1][2]; globalC[2*k+2] [2*k]+=localC [2] [0]; globalC [2*k+2] [2*k+l]+=localC [2] [1]; globalC[2*k+2] [2*k+2]+=localC [2] [2]; globalF[2*k]+=localF[0]; globalF[2*k+l]+=localF [1]; globalF[2+k+2]+=localF [2];
}
// определение граничного условия 1-го рода на левом торце globalC [0] [0] =1.0;
for(k=l; k<2*Ne+l; k++) g l o balC[0] [k]=0.0; globalF [0]=T0;
// определение граничного условия 3-го рода на правом торце globalC [2*Ne] [2*Ne]+=А;
globalF[2*Ne]+=A*Te;
//решение системы линейных алгебраических уравнений GAUSS(globalC, globalF, 2*Ne+l);
i _______________________________________________________________
Реализация алгоритма
Первоначально отрезок [0, п\ разбивается на четыре сегмента равной длины
[О, л] = [0,л/4] U[л/4,л/2] U [я/ 2,3л/4] U [3л/4,л].
На каждом из этих сегментов в соответствии с выражением (2.11) определяются кусочно-квадратичные пробные функции. Ре шение дифференциального уравнения представляется разложением (2.9). Для построения приближённого решения необходимо решить систему линейных алгебраических уравнений относительно коэффи циентов 7).
В соответствии с приведёнными выражениями и количествен ными значениями физических констант подсчитываются значения интегралов (с учетом определения (2.19) пробных функций):
- коэффициенты и правая часть системы уравнений для сег мента [0, л/4]:
к/Л —^
Mp'oWP <& = ~ = 207,962,
оЗА
*/} •/* о т
р Ж (*Ж/2(*)* = JWifi (*Ж (*)<Ь= - — = -237,671,
ПП
№ /2 (*)f л |
= ^ |
= 475,343, |
|
||
Я/4 |
Л/4 |
|
|
|
|
р-Фо(*Ж(*)^ = /*Ж (*Ж (*)* = — = 29,7089, |
|||||
0 |
0 |
|
|
Зп |
|
|
{x)fdx=1^ |
=207,962, |
|
||
л/4 |
я/4 |
|
|
|
|
р Ж /2(*Ж (*)<& = |
р Ж (jcK/2{x)dx = ~ 3h =-237,671; |
||||
|
sin h |
|
4 cos h |
||
|
~1Г |
|
|
1,03391, |
|
|
|
|
|
||
|
8(l-cos/t) |
4sinA |
= 197,299, |
||
|
|
h1 |
|
h |
|
|
3sinA |
4 |
.1 |
2, |
4 |
|
h |
—:—1 |
COSA--- r- = 94,5598; |
||
|
+ |
|
|
|
' 207,962Го - 237,6717;/2 + 29,70897; = 1,03391,
- - 237,671Г0+ 475,3437;/2- 237,6717; = 197,299,
29,70897’o - 237,67\Ty2+ 207,9627; = 94,5598;
- коэффициенты и правая часть системы уравнений для сегмента [л/4,я/2]:
|
тг/2 |
х( х ) ¥ сЬ с = -1 £ - =207,962, |
|
|
|
||||
|
Ш |
|
|
|
|||||
|
J* |
|
|
за |
|
|
|
|
|
|
л/41 |
|
|
|
|
|
|
|
|
|
л/4 |
я/4 |
|
|
о ) |
|
|
|
|
|
|я.<р;(л> ; /2(х)а!г = |
|Яф'/2(х>р;(х>&= |
=-237,671 |
||||||
|
л /2 |
|
|
|
|
|
|
|
|
|
{^[ф'з/2 |
^ = |
3/7 |
= 475)343> |
|
|
|
||
|
я/4 |
|
|
|
|
|
|
||
|
л/2 |
|
л/4 |
|
|
|
|
|
|
|
JX(p'(х)ф2(x)dx = |
|Хф2(х)ф' (х)Л = — = 29,7089, |
|
||||||
|
f |
|
|
|
|
|
|
|
|
|
л/4 |
|
|
|
|
|
|
|
|
|
ir/2 |
|
|
|
|
|
|
|
|
|
|Х[ф'2(*)]2Л = ^ |
= 207,962, |
|
|
|
||||
|
fJ |
|
|
ЗЛ |
|
|
|
|
|
|
л/4 |
|
|
|
|
|
|
|
|
|
л/2 |
л,/2 |
|
|
о* |
|
|
|
|
|
J ^ ' /2(J:V2(X>/X = |
| ^ - ф2(х) фз/2{х)dx = - — = -237,671; |
|||||||
|
л/4 |
л/4 |
|
|
3А |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
cos А + 4cos2A = 96,0219, |
|||
|
Ф |
|
|
|
|
|
|
|
|
|
W0 jsinx(p3/2(x)dx = fV0 8(cosA-cos2A) |
4(sin A + sin 2A) |
= 476,323, |
||||||
|
л/4 |
|
h1 |
|
|
A |
|
|
|
Л/2 |
|
|
|
( 4 |
Л |
4 cos A |
|
||
W0 |
(sinA + 3sin2A) |
|
= 134,762; |
||||||
Jsinхф2{x)dx = IV0 ------------------i + |
—r - 1 cos2A- |
|
|||||||
я/4 |
h |
|
U |
) |
|
|
|
207,9627; - 237,671Г3/2 + 29,70897; = 96,0219, -237,6717; +475,3437^2 -237,6717; = 476,323, 29,70897; - 237,671Гу2 + 207,9627; = 134,762;
Зл/2
}Х[<р/2(х)Г ^ = ^ = 207,962,
!'•
|
|
л/2 |
|
|
|
|
|
Зл/2 |
Зл/2 |
= ~ |
=-237,671, |
||
|
}М>2(xV5/2 |
= |
JA.<P;/2 (дг)ф2 |
|||
|
я/2 |
"/2 |
ЗА |
|
||
|
|
|
|
|||
|
|
Зл/2 |
|
|
|
|
|
|
JA.[(P;/2(JC)]2^ = ^ |
= 475,343, |
|
|
|
|
|
л/2 |
|
|
|
|
|
Зл/2 |
|
Зя/2 |
|
|
|
|
jW 2 (л:)<Рз(*>& = |
| A.<PJ(дг)ф2 (x)dx= = 29,7089, |
|
|||
|
л/2 |
|
Л/2 |
зл |
|
|
|
|
|
|
|
||
|
|
Зл/2 |
|
|
|
|
|
|
}^[(рз(д:)]2 C*X = TZ~ 207,962, |
|
|
||
|
|
л/2 |
3/7 |
|
|
|
|
|
|
|
|
|
|
|
Зя/2 |
Зя/2 |
|
|
|
|
|
|я.<р;/2(х>р;(*> &= JA -Фз(*)q>;/2( * > & = - — |
= - 237,671; |
||||
|
Я/2 |
л/2 |
|
|
|
|
Зл/2 |
3sin2/J4-sin3/z ( 4 |
Л .. |
4cos3A |
= 134,762, |
||
0о |
Jsin хф2 (x)ir = W0 |
A |
---- - T - l cos2/7+ |
А |
||
Ф |
U |
J |
|
|||
|
|
|
|
|
||
|
Зл/2 |
|
|
4(sin 2/7+ sin ЗЛ) = 476,323, |
||
^0 |
jsin;c(p5/2(*)<fc= 0'o 8(cos 2ЛcosЗ/7 ) |
|||||
|
л/2 |
|
|
|
|
|
Зл/2 |
|
|
|
4cos2/7 =96,0219; |
||
Jsinjc(p3(jc)i!c= ^0 (sin 2Л+ 3sinЗЛ) ( f 4 |
Л со„эд |
|||||
Ф |
A |
+1,AI _ JC0S |
A5 |
|
||
|
|
|
|
|
207,9627, -237,67175/2 + 29,70897, = 134,762, -237,6717,+475,34375/2 -237,67173 = 476,323, 29,708972 - 237,6717]V2 + 207,96273= 96,0219;
|
|
|
= ^ |
= 207,962, |
|
|
||
|
|
Зя/2 |
|
ЗЛ |
|
|
|
|
|
JX(p;(jc)q>7/2(x)dx = JX(p'7/2(дс>рз |
= ~ |
= -237,671, |
|||||
|
Зл/2 |
|
Зл/2 |
|
|
|
|
|
|
|
№ /2 W f ^ = ^ |
|
= 475,343, |
|
|||
|
|
Зл/2 |
|
3,7 |
|
|
|
|
|
К (jc>p4(•*■)dx = /я,ф' (х)ф'з(х>2г = ^ - = 29,7089, |
|
||||||
|
Зл/2 |
|
Зл/2 |
|
|
|
|
|
|
|
3^2 |
Л = - ^ = 207,962, |
|
|
|||
|
|
|
3/1 |
|
|
|
||
|
) Н /2(*M (x]dx= |
|Лф^(х )ф; 2 (x)dc = ~ |
= -237,671; |
|||||
|
Зл/2 |
|
Зл/2 |
|
|
|
|
|
^0 {зтхфз(зс>& = Ж0 3sin З/г+ sin 4/z |
р --1 |cos3/* + 4cos4Л |
= 94,5598, |
||||||
Зл/2 |
|
|
h |
|
|
|
_ fc5 - |
|
^0 Jsinдхр7/2 (J:)£*C= |
8(cos3A-cos4A) |
4(sin3A + sin4A) |
|
|||||
|
|
|
|
|
= 197,299, |
|||
Зл/2 |
|
|
|
|
|
|
|
|
Wg Jsin |
хф4 (x)t& = W0 |
(sin3A + 3sin4A) |
+ |
4 |
'j |
|
= 1,03391. |
|
|
A |
—5--I cos4A- 4cosЗА |
||||||
3*/2 |
|
|
|
|
|
A* |
|
207,9627’ -237,6717^+29,70897; =94,5598 «-237,6717; + 475,343Г7/2- 237,67Щ = 197,299, 29,70897; - 237,671Г7/2 + 207,962Г4 = 1,03391.