Главная  Журналы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [ 38 ] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Глава 8

ПРИМЕРЫ ПРИМЕНЕНИЯ ПРОГРАММЫ CONDUCT ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕПЛОПРОВОДНОСТИ

Познакомившись с деталями неизменяемой части CONDUCT и с основами структуры адаптируемой части, присту1И1м к созданию конкретных версий ADAPT для решения частных задач. Представленные в книге примеры созяаит ADAPT служат иллюстрацией некоторых аспектов математической формулировки задачи и связанного с этим программирования. В каждом примере рассмотрим постановку задачи, соответствующее построение подпрограммы ADAPT, список новых имен, вводимых на ФОРТРАНе, листинг получившейся подпрограммы ADAPT, результаты вычислений и приведем некоторые комментарии к ним. В процессе ознакомления с описанием ADAPT придется часто обращаться к листингу этой подпрограммы. Закончив тщательное изучение представленных примеров, вы сможете самостоятельно разработать приложения программы к другим задачам.

8.1. СТАЦИОНАРНАЯ ТЕПЛОПРОВОДНОСТЬ ПРИ НАЛИЧИИ ВНУТРЕННИХ ИСТОЧНИКОВ ТЕПЛА (ПРИМЕР 1)

8.1.1. Постановка задачи

Начнем с очень простой задачи о стационарной теплопроводности в плоском теле квадратной формы. Как показано на рис. 8.1, на границе задана температура Тело имеет постоянную теплопроводность к, мощность источника тепла также постоянна и равна S.

Будем использовать следующие значения параметров:

Г„ = 0;А:= 1;S = 5. (8.1)

Нашей целью является расчет Рис. 8.1. к задаче о стационарной теплопроводности при наличии внутрен-

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




8.1.2. Построение подпрограммы ADAPT

GRID. Построим равномерную сетку, задав размеры области xl и yl, число контрольных объемов по каждой оси сделаем равным пяти. Здесь по умолчанию mode = 1. Также по умолчанию используем заданные величины powerx и powery. В результате равномерная сетка создается вызовом процедуры ezgrid.

BEGIN. Обозначив выбранную переменную через nf = 1, зададим числовые значения в соответствии с (8.1). Затем заполним массив т(1, j) значениями tw, задав таким образом граничные условия в граничных точках и приемлемое начальное условие во внутренних точках.

OUTPUT. На каждой итерации выведем на печать значения температуры в трех характерных точках. Этот вывод результатов поможет проверить сходимость решения. На последней итерации выведем на печать поле температуры т (i, j), вызвав print.

PHI. Зададим значения Г и 5. По умолчанию Sp = 0. Так как на

всей границе задана температура, не нужно менять значения индикатора КВС.

8.1.3. Дополнительные имена на ФОРТРАНе

cond - теплопроводность [см. (8.1)];

source - мощность источника тепла в единице объема S [см. (8.1)]; t(i,j) - температура 7;

tw - температура на границе [см. (8.1)].

8.1.4. Листинг подпрограммы ADAPT

С ссссссссссссссссссссссссссссссссссссссссссссссссс

subroutine adapt

С----

с- example 1 - steady conduction with heat generation

С-------

$include:common

dimension t(ni,nj) equivalence (f(1,1,1),t(1,1))

Q Jr + + + + + + Jr -A- + + -A- + Jr + + . + + + *- + A- + +

entry grid



HEADER=STEADY CONDUCTION WITH HEAT GENERATION PRINTF=PRINTl PLOTF=PLOTl CALL DATA2(XL,1.,YL,1•) CALL INTA2(NCVLX,5,NCVLY,5) CALL EZGRID RETURN

ENTRY BEGIN

TITLE(1)= TEMPERATURE

CALL IMTA4(KSOLVE(1),1,KPRINT(1),1,KPLOT(1),1,LAST,3) CALL DATA3(TW,0.,COND,1.,SOURCE,5.) DO 100 J-1,M1 DO 100 1=1,Ll T(I,J)=TW 100 CONTINUE RETURN

Q + + + .k- + + Jr + + + + * -A- -A- -A- >r -A- -A- -A- -A- -A- .k-

ENTRY OUTPUT

DO 200 IUNIT=IU1,IU2

IF(ITER.EQ.0) WRITE(lUNIT,210) 210 FORMAT (2X, ITER,3X, T(2,2) ,4X, 4(4,2) ,4X, 1 T(6,3) )

WRITE(I UNIT,2 20) ITER,T(2,2),T(4,2),T(6,3) 220 FORMAT(2X,12,2X,1P3E10.2) 200 CONTINUE

IF(ITER.EQ.LAST) THEN CALL PRINT CALL PLOT ENDIF RETURN

Q->t > + + + + . + + + -A- + . -A- + „ + -A- + - + + + + +

ENTRY PHI

DO 300 J=2,M2

DO 300 1=2,L2

GAM(I,J)=COND

SC(I,J)=SOURCE 300 CONTINUE RETURN END

ccccccccccccccccccccccccccccccccccccccccccccccccccc





0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [ 38 ] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99