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

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

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

линейных пробных функций приближённо оценивается как величи­ на, пропорциональная длине сегмента 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)

 

 

 

 

 

 

ЗА

 

 

ЗА

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Программа 3.3

// Задача стационарной теплопроводности. Схема Кранка - Николсон

//

Ne

число

сегментов

 

 

 

 

//

Nk

число

узлов

 

 

 

 

 

 

//

locale

массив

коэффициентов

системы

уравнений

для

сегмента

//

localF

массив

правых частей

системы

уравнений

для

сегмента

//

globalC

массив

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

//

globalF

массив

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

/ /

х

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

 

 

 

 

//

хО

начальная

точка

 

 

 

 

/ /

х1

конечная точка

 

 

 

 

/ /

L

коэффициент

теплопроводности

 

 

 

/ /

С

коэффициент

теплоёмкости

 

 

 

 

/ /

R

плотность

 

 

 

 

 

 

/ /

W0

амплитуда

мощности источников

 

 

 

//

ТО

температура

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

 

 

 

/ /

Те

температура

среды

 

 

 

 

/ /

А

коэффициент

теплоотдачи

 

 

 

 

/ /

h

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

 

 

 

 

/ /

dt

шаг

интегрирования по времени

 

 

 

#define

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., xl=M_PI, h=(xl-xO)/Ne;

double

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

int i,

j, k, Nk=Ne+l;

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

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

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

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

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

{ 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]=C*R*h/3.0; locale[0] [1]=C*R*h/6.0; locale [1] [0]=C*R*h/6.0;