книги / Численные методы. Ч. 5
.pdfпробным функциям cpf,/ = l,w, каждая из которых определена на со ответствующем сегменте
Т(х)~Тп( |
(2.9) |
/=1
Для нахождения коэффициентов Г, разложения (2.9) используется условие ортогональности каждой пробной функции ф*(JC) невязке
[XT ;{X) ] + W (x),
получаемой подстановкой приближения (2.9) в дифференциальное уравнениие (2.5). На отрезке [0,L] указанное условие ортогонально сти принимает вид
+ fv(x)\(pt (x)dx = j[XT'(x)]ф*{x)dx + jfV(дг)ф* {x)dx = 0, |
k = l,n. |
||
o' |
о |
0 |
|
Полученное выражение целесообразно преобразовать к виду |
|||
ДхГ„'(д:)ф* (JC)]'dx - |
jXrn'(jrV*{x)dx + \w{x)qk {x)dx = 0, k = l,n. |
(2.10) |
|
0 |
0 |
0 |
|
2.1. Аппроксимация решения кусочно-линейными функциями
Задание. Методом Галёркина с использованием кусочно-ли нейных пробных функций построить приближённое решение одно мерного дифференциального уравнения стационарной теплопровод ности IXr'(jt)]' + ^ 0sinx = 0 с граничными условиями r(jc )|^ = 7 ° ,
= -ajV (x )| _ - 7 1 J. Сформировать систему линейных ал
гебраических уравнений относительно коэффициентов разложения искомого решения по заданнной системе пробных функций; разра ботать вычислительную программу для определения коэффициен тов разложения решения дифференциального уравнения по заданн ной системе пробных функций для 2, 4, 8, 64 сегментов постоянной длины; при известном точном решении определить погрешность приближённых решений для указанной последовательности сегмен
тов; исследовать зависимость погрешности искомого решения от длины h сегментов; исследовать сходимость процесса аппроксима
ции; |
оценить |
быстродействие |
вычислительной |
программы. |
|
При |
выполнении расчётов принять; |
L = к, Я |
= |
70 Вт/м град, |
|
W0=1000 Вт/м3, а = Вт/м2 град, Т = 100°, Too= 20°. |
|
|
|||
|
Разрешающие соотношения |
|
|
|
|
|
Стержень, |
имеющий длину L = n, разбивается |
на т сегментов |
[хы ,х,], / = Ь ^ , равной длины h - x i - JCM = п/т. На каждом из сегмен
тов определяются кусочно-линейные пробные функции
Ф/-1(*)=(х, ~x)/h, (р,-(* )= (* -*w )/h, х е ,х,].
Всё множество пробных функций1для отрезка [0, к] может быть представлено следующим образом:
(*-*,-1 )/h, |
хе[х,_1гх,], |
Ф/(х) = ] ( хм ” *)/*» |
x e [x iyxM], i = l,m -l; |
0, x<tG, u |
xw ]. |
Для удобства дальнейших выкладок граничные условия для ка ждого сегмента записываются в форме
|
(2.12) |
где |
, qt - тепловые потоки на поверхностях левого и правого тор |
цов соответствующего сегмента [ х ,с о о т в е т с т в е н н о .
На основе пробных функций (2.11) формируется приближённое решение задачи на сегменте [х..,,*,.] в виде
1Число пробных функций совпадает с числом узлов разностной сетки, п = т + 1.
Tn(x) =Ti-i<?M + W * ) . |
(2.13) |
где Tj-1 и Г, - коэффициенты разложения искомой функции Т(х) по функциям (2.11), аппроксимирующие значения температуры в узлах X/-1 и xt соответственно. Система уравнений (2.10), записанная для выбранного сегмента (индекс к принимает значения / —1 и /),
}[^7’„'(д:)<р,_| (x)]dx - jxr„'(x)(p;.1(x>fe+ }lT(x>pi_1(x>& = 0,
«x,-l XM x.-l
|[ХГ;(д:)ф,. (дг)Гdx - }xr;(x>p' {x)dx + |
jw (x>p, (x)dx =0, |
||
.XM |
x«-l |
x.-l |
|
преобразуется к виду |
|
|
|
|
xi |
|
x, |
XT'{x)qiA (x J l |
- |
(x)dx + |
jw (х)фы {x)dx =0, |
< |
x/-l |
|
x/-l |
|
x i |
x i |
|
Х7’'(дг)ср/(д:)|^_1- |
}я.Гп'(д:)(р'(х)^+ jw{xYp,(x)<fr = 0. |
||
„ |
x i - 1 |
xi-1 |
|
С учетом свойств пробных функций
Ф/-1 (*,) = Ф/(*м )= 0 . Ф/-1 (*М )= Ф,(*/)= 1
и граничных условий (2.12) полученная система уравнений принима ет вид
|
|
Aj |
Aj |
|
|
-<7ы - |
J^(*)<PM (*)* + ]М * )ф м М * = 0, |
|
|
|
|
ДГМ |
xi-l |
|
|
- q ,~ |
X! |
Xj |
|
|
}Я-Г„'(х)ф'(х)£Л:+ |
|1Г(х)ф,(х)^ = 0, |
|
|
или, с учётом приближения (2.13), |
|
|
||
TiA }я.ф'ч (*>p'_,(x)dx +Ti ]я.ф'(*>?'_,(*>& = jw(xy$lA{x)dx-qiA, |
|
|||
• |
f |
|
*, Х‘" |
(2-14) |
Гм |
}>1ф'_1(д:)ф'(х)(я!г+ 7’ |А.ф-(*№(*)<& = }^(дг)ф,(х)Л-^. |
|
Хы |
хм |
В итоге получена система линейных алгебраических уравнений относительно узловых значений температур 7/_i и 77, т.е. коэффици ентов разложения (2.13) решения по пробным функциям. Далее, с учётом того, что
|
|
Фм=-1/ а , |
<p;=i/A |
|
|
|
|||
в соотношениях (2.14) подсчитываются интегралы: |
|
||||||||
К - , |
(* Ж |
- , (*> & = |
А. 2Jcsbc/Л= |
|
X |
|
|
^j |
|
|
|А,ф'(х)ф'(х)<& = A ^ d x jh 1 |
h , |
|||||||
|
|
|
X/А, |
||||||
|
|
|
|
|
|
|
|
||
|хср' _1 |
(х )ф '(х )& = |
pup'(х)ф'_, (х > & = -A, |
\dxlh2=-X/h; |
|
|||||
|
|
xi |
|
ггл х! |
|
|
|
|
|
|
|
|рГ(д:)ф/_1(x)<ir = — |
Jsin х(х. - |
x)ix: = |
|
||||
W г |
|
|
|
|
cos x, , - |
sin X, - sin X, |
|
||
= — |
l“ X; c o s x - s in x + xco sx |
t |
=b,. ( |
- |
|
||||
h |
|
|
|
|
|
|
|
||
|
|
jf V (х)ф,. (x)<& = |
|
Jsin x(x - хм |
= |
|
|||
= — |
[sin x - x cos x + xM cos x p ^= W0 Sin X: “ Sinxf_— cosx, |
|
Подстановка полученных значений в выражения (2.14) приводит к системе линейных алгебраических уравнений относительно иско мых коэффициентов Tj-\ и Т, :
А Т |
Л |
т = ш ( С05х |
|
sinx, -sinx,._, |
4 i -1 > |
||
h |
|
h ' |
°t |
'-' |
h |
||
|
(2.15) |
||||||
Л т +± т =у 1 ™ Х- '- ™ х‘->-c o s x , |
|||||||
|
|||||||
h |
w |
' AJ< |
" 4 |
|
h |
|
Для двух соседних сегментов [xM,xt] и [x,.,x/+1] система уравне ний (2.15) может быть записана в форме
X „ |
|
|
|
sin*,.-sin*,. |
|
|
+ |
|
^ +l ~ ^ [ C0S*M |
Jj |
J ~~ ^i-l» |
||
X^ |
X^ |
|
rrr f sinjt,. -sinjc, . |
^ |
|
|
~~h '-& ~h i+ |
M = |
1 ----- |
h-----cos'r' j - ^ |
|
||
+ОТ)-, +\ Tr |
|
|
sinx,+1 |
- Sinjc, |
-4» |
|
\ TM= ^ojcosx,. - |
h |
|||||
лгтт |
X ^ |
X ^ |
rrr( sin*... - sin JC |
cosxM | - ql+1. |
||
+ ОД-i “ |
7/+ “ 7/+i—W0 |
- |
Складывая второе и третье уравнения этой системы и учитывая условие теплового баланса gr.+^' = 0, из этой системы уравнений
можно исключить неизвестные величины внутренних тепловых по токов между соседними сегментами [JC^ JC,] и [X,,JC/+1], что снизит
размерность системы линейных алгебраических уравнений:
X, |
|
|
|
sinx, - sin.г |
|
|
— j |
|
+ |
*о\ C0SJC/-i |
|
|
~ 4 i - |
+ • ^/-1 |
|
h |
|
|
||
и |
|
|
|
|
|
|
+ |
2Л„_ Яу, |
sin xM - 2sin x, + sin JC,_, |
|
|||
h |
h |
‘ h M |
0 |
A |
|
|
|
A.^, |
A,^ |
fs in x ., |
- s i n x |
^ |
|
+ 0ГН - - 7 ) |
+ - 7 Ж=0''О1----- ^ |
------ ^-cosxi+l |
\-q M. |
Аналогичные преобразования выполняются для всех остальных уравнений этой системы уравнений. В результате система линейных алгебраических уравнений для определения температурного поля всего стержня принимает вид
+ |г „ |
- |
|т ; + от2 + ••• + Orm= ^ 0[cosx0Sinjr' |
|
|
|||||
А.-г |
, |
2А. ^ |
|
|
m - |
H7^sinx2-2sinx1+siiuci) |
|
|
|
Л ° |
|
А 1 |
Ау2 + - |
+ иу« " |
^ |
h |
|
|
|
|
|
|
h |
|
|
|
|
|
|
+0ГЛ- |
X. |
2Х |
г, +... + ОТ.- - *sf |
|
|
|
|||
±т, + |
h |
h |
) |
(2.16) |
|||||
|
|
h |
|
|
\ |
||||
+or0+ 07; - ~ T2 + - + 07;n= - ^ 0[ sinx4 - 2sp |
+sin^ j |
|
|
+0Го + 07; +0Г2 + •••+ -h Tm= ^ ( Sin^ |
- c o s x - ,j- g 1. |
Для учёта граничного условия первого рода Т{х)|х=0 - Т° на левом торце стержня следует первое уравнение приведённой системы заме
нить уравнением То = 1° Для включения в систему уравнений граничного условия третье-
го рода Х Т '{х\^= -а |
[г(л:)|М ~Т„\ на правом конце стержня исполь- |
||||||
зуется соотношение |
Qm=ос [r(jc)|x=n - 7^]=ос [Т„-Г_]. Последнее урав |
||||||
нение приведённой системы |
|
|
|
|
|||
|
|
_ л, ( sinxm-sin ^m |
—cos*„_t |
\-Q L |
|||
ОГ0 + or, + • • • - - Гм_, + - :Т„ - |
Ж01-------- ------- |
||||||
преобразуется к виду |
|
|
|
|
|
|
|
QT0+OTx+-- — jT m_l + jT m= |
sm |
- sin х„ - cosxm l - a f o - r j |
|||||
ИЛИ |
|
|
|
|
|
|
|
о г0 + 0 7 ; + • ------- тя 1+1 ос+ |
|
Гsin* -sin* |
--COSX |
+ а7\ |
|||
И |
"Ч |
А |
|||||
h |
I |
|
|
Окончательно система линейных алгебраических уравнений для определения температурного поля всего стержня записывается в форме
+ Т0+ 07J +0 Т2 + |
+07;, = 7°, |
|
|
( |
, Л7, _ |
Г/Г/sinjc2 - 2 s in x j+ s in x 0 |
|
А 0 А 1 А 2 + |
+ |
А |
_ ’ |
+ог0- | 7 ; + у Г , + + 0 7 ;= -ж0 - n*3 ~-2si“ X2+ sinX|,
(2.17)
+ ог0 + 0 7 ; - ^ г2 + |
+ o rm= - w0 s i n * 4 ~ 2 s ^ * 3- + S‘P X 2 , |
Щ + 0т2 |
(ГМ Х\пГ / |
h + |
|
Исключённые из системы (2.16) первое и последнее уравнения в дальнейшем, после вычисления узловых коэффициентов 7}, могут быть использованы для определения тепловых потоков Q0и Qm.
Алгоритм решения
Ниже приведён фрагмент программы на языке Си, реализующей процедуру построения приближённого решения дифференциального уравнения с использованием кусочно-линейных пробных функций.
|
|
|
|
|
|
|
|
Программа 2.1 |
/ / |
Стационарная задача |
теплопроводности |
||||||
// |
Ne |
число |
сегментов |
|
|
|||
// |
Nk |
число |
узлов |
|
|
|
||
// |
locale |
массив |
коэффициентов системы уравнений для сегмента |
|||||
// |
localF |
массив |
правых частей системы уравнений для сегмента |
|||||
// |
globalC |
массив |
коэффициентов системы уравнений для объекта |
|||||
// |
globalF |
массив |
коэффициентов системы уравнений для объекта |
|||||
/ / |
хО |
массив |
координат узлов |
|
||||
// |
начальная |
точка |
|
|
||||
/ / |
х1 |
конечная |
точка |
|
|
|||
// |
h |
длина |
сегмента |
|
|
|||
/ / |
W0 |
амплитуда |
мощности источников |
|||||
/ / |
L |
коэффициент |
теплопроводности |
|||||
// |
ТО |
температура |
на |
левом торце |
(хО) |
|||
// |
Те |
температура |
среды |
|
||||
/ / |
А |
коэффициент |
теплоотдачи |
|
||||
#define |
Ne |
64 |
|
|
|
|
|
|
void main(void) |
|
|
|
|
||||
{ double |
globalC[Ne+1] [Ne+1], globalF[Ne+1], x[Ne+l] ; |
|||||||
|
double |
locale[2][2], |
localF[2], |
x0=0., xl=M_PI, h=(xl- |
||||
xO)/Ne; |
|
|
|
|
|
|
|
|
|
double L=70.0, N=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]=x0+h*k;
//инициализация массивов коэффициентов и правых частей
//системы уравнений
for(i=0; i<Nk; i++)
for(globalF [i]=0.0, j=0; j<Nk; j++) globalC[i] [j]=0.0; for(k=0; k<Ne ; k++)
// формирование матриц коэффициентов и правых частей для сегмента
{locale[0][0]=L/h; locale [0] [1]=-L/h; l ocale[1] [0]=-L/h; l ocale[1][1]=L/h;
localF [0] =W0* (cos (x[k] )- (sin(x[k+l] )-sin(x[k])) /h) ; localF [1] =W0* ((sin(x[k+l] )-sin(x[k] ))/h-cos (x[k+l] ));
//формирование матриц коэффициентов и правых частей для объекта
globalC [к] [к]+=1оса1С [0] [0] ; globalC[к] [к+1]+=1оса1С[0] [1] ; globalC [к+1] [к]+=1оса1С[1] [0] ;
globalC [к+1] [к+1]+=1оса1С [1] [1] ;______________________________
71 |
X |
|
|
я |
л |
|
|
^k%^\dx = - =-89,1268, |
|Х(р'ср'зdx = Jtp'cp\dx = 0, |
|
|||||
0 |
h |
|
|
0 |
|
0 |
|
W0Jsinx<pxdx = -W0sin2/>-2siny> = 52,7393; |
|
||||||
|
о |
|
|
h |
|
|
|
П |
|
|
|
Я |
л |
|
|
jA.(p2<po<& = 0, |
|X(p'2<P|d£c = —= -89,1268, |
|
|||||
jM<p'2fd x = ^ |
= \78,2535, |
[Хф'2ф;<& = y = -89,1268, |
|
||||
о |
h |
|
|
о |
|
h |
|
’fi / / , n |
... "r . |
. |
sin3/»-2sin2/H-sin/j |
„ |
|||
J Лф2ф4<& = 0, |
fF0J sin хф2Л = -Ж0------------ ------------- = 74,5847; |
||||||
'зФоdx = |А.фзф'£*с = 0 , |
|Хфзф'2<& = - |
= -89,1268, |
|
||||
^ |
О*1 |
|
|
^ |
|
\ |
|
/Мфз )2^ |
= у |
= 178,2535, |
| Х |
ф » = - = -89,1268, |
|
||
и/"г • |
, |
|
... sin*. - 2sin.r,+sinx, |
|
|
||
W0 Ism^ф3о!г= -JV0----- ----------- |
2-------- - = 52,7393; |
|
|||||
о |
|
|
|
* |
|
|
|
Я |
|
|
|
|
Я |
л |
|
|Хф'ф'йЬг = |Яф'4ф ^ |
= |Я,ф'ф2Л = 0, |
|Я.ф'4фз<& = - = -89,1268, |
ГХ(ф;)2оЬс+ а = - + а = 119,127,
оh
W0Jsinлгфзdx = ^ ( Sm4/7 in3/; - cosЗАj + aT„ =609,9684.
Подстановка полученных значений в (2.17) приводит к системе (табл. 2.1) пяти линейных алгебраических уравнений
- 89,1268a0+178,254a, - 89,1268a2+0,0^ + 0,0a4= 52,7393,
«0,0a0-89,1268a, +178,254a289,1268a3 + 0,0a4= 74,5847,
0,0a0+ 0,0a, - 89,1268a2 +178,254a389,1268a4 = 52,7393,
0,0a0+0,0a, +0,0a2-89,1268a3 + l 19,127a4= 609,968
относительно коэффициентов Г, разложения (2.9) решения диффе ренциального уравнения.
Таблица 2.1
Матрица коэффициентов и правая часть системы линейных алгебраических уравнений для определения коэффициентов разложения решения дифференциального уравнения в ряд по кусочно-линейным пробными функциями
1,0 |
0,0 |
0,0 |
0,0 |
0,0 |
100,0 |
-89,1268 |
178,254 |
-89,1268 |
0,0 |
0,0 |
527,393 |
0,0 |
-89,1268 |
178,254 |
-89,1268 |
0,0 |
745,847 |
0,0 |
0,0 |
-89,1268 |
178,254 |
-89,1268 |
527,393 |
0,0 |
0,0 |
0,0 |
-89,1268 |
119,127 |
699,684 |
Результаты расчетов
Использование Программы 2.1 даёт решение этой системы уравнений:
Т0= 100,0, Т}=103,407, Г2=100,897, Тъ=90,018, Г4-73,2219.
Приближённые решения дифференциального уравнения на от резке [0, л], полученные на основе кусочно-линейного представле ния (2.9), приведены на рис. 2.1 с использованием 4 (а) и 64 (б) сегментов.
Полученное решение даёт возможность определить потоки тепла с торцевых поверхностей стержня. Первое и последнее уравнения системы (2.16)
|
|
SHUT, —SHIXi |
|
|
|
COSJtft - - |
^ - Q 0, |
- - T , + |
- г - - и |
' sm(n-h) |
+ cos(rc-/?)-£?*• |
h m_l |
h m |
c |
|