Дульнев Г.Н., Парфенов В.Г., Сигалов А.В. Применение ЭВМ для решения задач теплообмена (1185899), страница 21
Текст из файла (страница 21)
Вычисление !'„и д„(п. 1, 2) часто называют прямым ходом прогонки, а вычисление и„в порядке убывания номера л (п. 3, 4)— обратным ходом. Для решения системы (3.56) — (3.58) по методу прогонки требуется примерно 9М арифметических действий, т. е. значительно меньше, чем при использовании метода Гаусса для систем общего вида. Обратим внимание на то, что число действий пропорционально М так же, как и в случае явной схемы. Приведем программу (рис.
3.7), реализующую метод прогонки. Обращение к подпрограмме имеет вид СА?Л. 5'1'ВТЯГУ ((), А, В, С, Р, О, 5), 1ЕК), 98 Рис, 3.7 где А ()х)), В ()х(), С (Н), Р()Ч) — входные массивы длиной 5>, содержащие коэффициенты а„, Ь„с„, ((„, определенные согласно форме записи уравнений (3.56) — (3.58); дополнительно следует определить ал - О, с, — О; 5) — число уравнений, входной параметр; С (!)) — рабочий массив длиной )Ч; () (5)) — выходной массив, содержащий результат решения (и,)~. >> )Е)( — выходной параметр ошйбки: !Ек == Π— ошибки нет, )ЕК =- ! — при 5! ~ 2.
$ З.Е. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЧИСЛЕННОГО РЕШЕНИЯ ОДНОМЕРНЫХ ЗАДАЧ Перейдем к методике составления программ численного решения одномерных нестационарных задач. Рассмотрим в качестве примера программу для решения по неявной схеме нестационарного уравнения (3.49) для стержня с боковым теплообменом при аг -= =- сопз! с граничными условиями третьего рода (3.2) и начальным условием (З.З) при Те = сопз! (рис. 3.8). Неявная разностная схема, построенная методом баланса, при равномерной по пространственной координате сетке имеет вид (см.
(3.5!) — (3.52) при о = !) следующих уравнений: вв 1 2 3 5 Е 7 Е 9 19 11 12 !з 15 !Е !7 13 !Е 29 21 22 23 24 М)И(ССГ)ИЕ ЗХЗПСЦХ,Л,В,СУ,С,И,)Л(> с вслекитмеи Пипия сйстпн хзляйни~ ие)слм взсгснки 31ИП(3)СИ ХП) ЛИ(>,В(П.СП > УП),С(Н 1и! 9 1Р(3.1.т.з)1ЕИ 1 и-и-! т-вп) хп>-лп>7т сп>-Рп>~т зе ! 1 2,9 К-1-! т.сп > 3-вш+т.х(к) ХП) ЛП)/3 1 сп) (Рп>~тес(к))/3 т.с(и) х(и>-(т с(и>.Р(и>ив(и>+т«х(и» 33 2 К 1,И 1-И-К 2 ХП) ХП)АХИ+!)+СП) кенни з пя-! иетски ЕИЭ ВРОГР)нзи чнсааюгю У!пана Сака!Много нестщиснАРНОГО РРАапюа танюпгаоднсс)и для стеинн с Бокоаи ттплооаанси и ютлянаа истОчникйми тшлоты по неЯВнОИ РАЗнсс1ИОП схаа ! С 2 С З С 4 С 5 В 7 С 3 С В С 13 С и С 12 С (З С и С Гб С !В С 17 С 13 С 12 С 23 С а с 22 С 23 С 24 С 25 С Зб С 27 С 23 С 23 С ЗЭ С З( С 32 33 1! 34 С 36 С ЗВ С 37 С ЗВ С ЗВ С 43 С а С 42 43 12 44 45 !З 43 С 47 С 43 43 53 51 62 БЗ РКООЯАЫ зтенс В(МЕЛа10И О(51),А(бв),В(63).С(53),В(63),С(5!),Ы23) ЫАссины,используайе В ЛРОГРыае: П-МАССИВ Та(ПЕРАТУР В УЗЛАХ ПРОСТРАНСТВЕННОД СЕТКИ А, В, с, В-мАссипы козФФицмапоВ системы РАзнсстных уРАВнений С-РАВОЧИН МАССИВ ДЛЯ ПРОГРАММЫ БТЗП(В 1 МАССИВ НОМЕРОВ НАГОВ ПО ВРВИЫИ, НА КОТОРЫХ ПРОИЗВОДИТСЯ ВЫВОД НА ПЕЧАТЬ 1.
ВВОД ИСХОДНЫХ ДАННЫХ 1.1.ВВОД ПОСТОЯННЫХ КОЗФФИЦИЕНТОВ ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ и ИРАКВ)а услоиа: СИ-ОБ' АЛИНАЯ ТТПЛОЕМКОСТЬ АСУУ-ОБ'ейными ксвнаннпнт теплсотДАчи АЬР1,А)Л2-КОЗФФ)ПВПНТЫ ТПЫ(ООТДАЧИ НА ансн и ПРАВОВ ГРАНИЦАХ 21,22-ШР1НССТП ТЕПЛОВОГО ПОТОКА ПОВЕРХНОСТНЫХ Ис)ЭЧННКОВ НА ЛЕВОП И ПРАВОЙ ГРАНИЦАХ ТЭ-НАЧАЛЬНАЯ ТАННЕР!ТУРА СПРЯНЯ ВЬ-ДЛИНА СТЕРИНЯ тепюпРОВОднссть 3АВнсит От ИООРдаы(ты х и ЗАЛАбтся подпРОГРА)асп-Фуницией Аы х) РАСПРЕДЕЛЕНИЕ МОННОС1П ВНУТРЕННИХ ИСТОЧНИКОВ ЗАВИСИТ ОТ КООРДИНАТЫ И ВРЕМЕНИ И ЗАДАЕТСЯ ПОДПРОГРАММОП-ФУНКЦИЕП ПЧ(Х,ТАЮ НЕ!В 11,СИ, АЬУЧ, АЬР1, АЬРЗ.О1, О«з,ТЭ, ОЬ УОНМАТ(4Р! Э. 3) ИЕАО 12,И,ОТАО,Л(,М !ОНМАТ( 15,Р13.3,215) ЯЕАО 13,(ЫК),К 1,М) РСИЫАТ(1315) 2, ПЕЧАТЬ ИСХОЛНЫХ ДАНН)О( РИ1МТ 1А,СН,А(РЧ.А(Р(,)АУ2,21,22.ТЭ,ВЬ 14 РОНИАТ(5Х,'ИСХОДНЫЕ ДАННЫЕ:'/1Х,'СН ',С12.4,3Х,'АЛЛИ ',С12.4,ЗХ. «'А(Р! ',С12 А,ЗХ,'АЬРЗ ',012.4/1Х,'01 ',О!2.4,ЗХ,'Пз ',212.4,3Х, «'ТЭ ',О12.4,3Х,'ОЬ ',С!2.4) РН1МТ 16 .И,ВТАО.ЛК,(ЫК),К !,М) 16 Роййт(!Х,'М ',13,3Х,'ВТАО ',С!2.4,3Х,'ЛК ',14/(Х, Рис.
3.8 1.2. ВВОД ПАР)А(БТРОВ РАЗНОСПКа СХЕ)а: И-ЧИСЛО ПРОСТРАНСТВЕННЫХ УЗЛОВ (НЕ БОЛЕЕ 63) ВТАО-ФАГ ПО ВРЕМЕНИ Д(-ЧИСЛО ИАГОВ ПО ВРЕМЕНИ ДО ОКОНЧАНИЯ СЧЕТА М-ЧИСЛО МОМЕНТОВ ВРЕМЕНИ,В НОТОРЫЕ ВЫВОДЯТСЯ РЕЗУЛЬТАТЫ (НЕ БМПЖ ЛЩ 1.(М)-МАССИВ НОМЕРОВ Н!ГОВ,НА КОТОРЫХ ВЫВОДЯТСЯ РЕЗУЛЬТАТЫ 197 18 РОЯКАТ(5Х, 'РЕЯЕНИЕ НА ВАГЕ У ',14/ВХ, 'ТЯХЯ)ХРАТУРМ СТ1),1 1,...,Н: ' 198 «/(1Х,ВС!2 4)) 198 С ЛРОВЕРНА УСЯОВНЯ ОКОНЧАНИЯ СЧЕТА ) 119 5 1ПЗ,СЕ.л() СОТО 8 111 У 1+1 !12 СОТО 3 !18 С КОНЕЦ ЦНК)и ЦО ВРЕМЕНИ 114 8 ВТОР 115 ЕКВ СУЛ'~А(Р(«2 1!8 117 118 1!9 129 121 !22 122 124 125 128 !27 128 Рис. 3.8 Продолжение для первого узла иой срал а Ь«~ .
И для внутренних узлов (п = 2, ..., (у' — !) — сР" 'сн " и'„+! — 1 )- + + ~л.» ! /2 ос Ал-»-", ~л-»-1/2 ' — и/ ср . ) Ал А / л — 1/2 ил+,„и„! + / л+ 1/2 =0; длн последнего узла -(' ща сра««с«ЬА ср где )„А,/, =- )( (х„ь!/2), (/! „= (/Р (х„т/). На каждом шаге по времени для нахождения разностного решения и'„требуется решать методом прогонки систему Ж уравнений. Таким образом процесс численного решения нестационарной задачи заключается в повторении на каждом шаге по времени одной и той же процедуры и последовательном определении (и„')„ (иД„" „... до конечного момента времени у. ясно, что все найденные значения температуры в узлах пространственно-временной сетки хранить в виде массива нецелесообразно, так как это потребует значительного увеличения объема памяти. Поэтому при численном решении нестационарных задач в виде массива хранят только те значения температур, которые необходимы для вычисления и,' на текущем шаге по времени, а в интересующие моменты времени найденные температуры выводят на печать.
При решении одномерной задачи по неявной схеме можно обойтись для хранения температур одним массивом 11 длины 5). действительно, перед проведением /-го шага по времени в этом массиве находятся значения (и'„)и определенные на предыдущем шаге. Этн значения на /-м шаге нужны только для вычисления свободных членов д„системы разностных уравнений канонического вида (3.56) — (3.58).
Массив свободных членов (й„)„=~ является одним из входных массивов для подпрограммы 5У5ТВР, реализующей метод прогонки. После его формирования надобность в и'„пропадает и найденные при выполнении подпрограммы прогонки новые значения температур и'„могут быть записаны на место старых в тот же массив(1. На рис.
3.9 приведен алгоритм программы для решения одномерной задачи. Остановимся на ней подробнее. Исходные данные можно разделить на три группы. К первой относятся постоянные коэффициенты и распределения, входящие в исходную дифференциальнуюзадачу. Отметим, что при задании распределений Х (х), д„(х, т), Т, (х) и т.
д. целесообразно использовать соответствующие подпрограммы-функции и. ~ и операторы-функции. Ко второй группе исходных данных относятся параметры разност. ной схемы: число пространственных точек Л~, шаг по времени Лт, число шагов по времени У до окончания счета. В третью группу входят данные, характеризующие информацию, которую необходимо выводить на печать. В приводимой программе в интересующие расчетчика моменты времени т, выводятся все температуры (и'„)~=о Эти моменты времени задаются массивом соответствующих номеров временных шагов.
После ввода исходных данных производится первое заполнение массива температур, в который записывается начальное распределение (и„' = Т0). Подпрограмма 5У5ТКВ, реализующая метод прогонки, предполагает, что система разностных уравнений записана в каноническом виде (3.56) — (3.58). Поэтому для ее использования необходимо осуществить расчет коэффициентов а„, Ь„, с„, й„для системы канонического вида. Из уравнений (3.51) — (3.52) видно, что выраже- гпз ния для коэффициентов а„, Ьь, сь в нашем случае не содержат величин, изменяющихся во времени. С целью сокращения затрат машинного времени их вычисление целесообразно вынести за временной цикл. Этот этап вычислений реализуется операторами 71 — 84.
Коэффициенты с1ь всегда вычисляют внутри временного цикла, так как они содержат значения температур с предыдущего времен- нонооьноео денио сисспемгя методом Рис. 3.9 104 ного слоя и должны пересчитываться на каждом временном шаге. Кроме того, в нашем случае величина д„'„, входящая в выражения для «(„, также зависит от времени. Расчет «(» для граничных и внутненних точек реализуется операторами 92 — 98. После формирования массивов коэффициентов а», Ь„, с», «(» производится обращение к подпрограмме прогонки 8УВТ(«(), при выполнении которой найденные «новые» температуры помещают в ее выходной массив (), где располагались ранее «старые» температуры.
,((алее проверяется условие вывода на печать (оператор 104), и если оно выполняется, то производится печать температур из массива () на данном шаге по времени. В противном случае осуществляется переход к следующему шагу по времени. Если номер текущего шага 1 достигает значения конечного числа шагов, то вычисления заканчиваются. При составлении программы численного решения задачи по явной схеме для хранения температур следует выделять два массива.