но використання попередніх розрахунків на грубих сітках, які можна створювати за допомогою ZGRID, а також самостійно розробивши GRID.
При побудові GRID пам'ятайте, що жодна складова незмінної частини програми (за винятком DEFLT) ще не була виконана. Тому ні геометричні величини, ні цілі числа, такі як L2 або М2, ще не були розраховані. Те, що GRID є найпершою спричиненої процедурою, припускає безліч можливостей при її написанні. Наприклад, можна роздрукувати заголовок для завдання, відкрити які-небудь файли, виконати деякі попередні дії та ввести дані оператором READ. У прикладах, наведених у книзі, ми будемо задавати в GRID бажані значення текстових змінних HEADER, PRINTF і PLOTF, які відповідають заголовку завдання, імені файлу для виведення результатів і імені файлу для графічної обробки.
Процедура START
Основна функція BEGIN полягає у визначенні початкових значень F (I, J, NF) для відповідних NF. Якщо десь або на кордоні відомі значення F, то бажано відразу ж їх задати у відповідних граничних точках для кожного F {I, J, NF). Ці значення залишаться незмінними, якщо відповідні значення КВС в PHI будуть збережені рівними одиниці.
У BEGIN зручно задавати початкові значення інших змінних або параметри, що залишаються незмінними в процесі обчислень, а також велике число значень для властивостей матеріалу, густин теплових потоків, граничних умов та інших визначальних параметрів.
Процедура OUTPUT
У той час як інші частини програм повинні надавати деякий мінімум інформації для незмінної частини програми, щодо процедури OUTPUT такі вимоги не висуваються. Програма буде добре працювати, навіть якщо залишити OUTPUT порожній. Проте (з погляду користувача) OUTPUT має найважливішу функцію. Основне завдання OUTPUT - забезпечити виведення результатів на друк. Користувач має повну свободу у розробці деталей виводу результатів.
Звичайно бажано вивести коротку інформацію (максимум однієї-двох рядків) після кожної ітерації і роздрукувати двовимірні нуля потрібних змінних ф після заключної ітерації. Короткий висновок після кожної ітерації корисний для спостереження за процесами збіжності стаціонарного рішення або еволюції в часі нестаціонарного рішення. Роздруківка двовимірних полів може бути проведена викликом процедури PRINT, створеної спеціально для цього.
У OUTPUT також може бути введений який-небудь критерій збіжності для зупинки обчислень. Наприклад, можна стежити за змінами деякої представляє інтерес величини (коефіцієнта тертя, теплового потоку, максимальної температури в області та ін.) І зробити KSTOP ненульовим, коли зміни від ітерації до ітерації стануть досить малими, або ж можна спостерігати за змінами F (I, J, NF) в деякій вибраній крапці.
Так як підпрограма OUTPUT викликається 1 раз на кожній ітерації, то в ній зручно змінювати будь величини, які змінюються в залежності від номера ітерації або тимчасових кроків. Якщо потрібно змінити значення змінної KSOLVE (NF) для «включення» або «вимкнути» рішення рівняння для відповідного ф, то це повинно бути зроблено в OUTPUT.
Процедура РНI
У процедурі PHI міститься, напевно, найбільш важлива інформація про розв'язуваної задачі. Для завдань, описуваних складними математичними моделями, PHI може бути досить громіздкою. У той же час для більшості часто зустрічаються завдань використовуються і досить прості варіанти PHI.
Незмінна частина процедури забезпечує вирішення узагальнених диференціальних рівнянь для великої кількості різних змінних ф. Фізичний сенс F (I, J, NF) не визначений. Як же програма дізнається сенс і фізична поведінка кожної залежної змінної ф? Це відбувається не за допомогою інформації, записаної в TITLE (NF), а за допомогою даних, визначених у PHI для кожного значення NF.
Значення KSOLVE (NF) для кожного NF перевіряється в підпрограмі HEART. Якщо KSOLVE (NF)=0, то починається процес розрахунку коефіцієнтів дискретних аналогів для відповідного F (I, J, NF). На початку цього процесу відбувається виклик PHI. Завдання процедури PHI полягає у визначенні і наступному наданні значень?, Г, Sc, SP та інформації про граничних умовах програми. Величинам? і Г відповідають масиви ALAM (I, J) nGAM (I, J) при 1=2, ..., L2 і J=2, ..., M2. У PHI також визначаються значення коефіцієнтів джерельних членів Sc і Sp. Вони задаються масивами SC (I, J) nSP (I, J) для 1=2, .... L2 і J=2, ..., М2. Одиниці виміру Sc і Sp повинні відповідати одиницям вимірювання швидкості генерації в одиниці об'єму. Крім того, Sp повинен бути негативним або рівним нулю. Значення Sc і Sр задаються за умовчанням, дорівнюють нулю, тому якщо у вихідному рівнянні відсутні джерельні члени, то не потрібно виконувати ніяких додаткових дій. Нарешті, завдання PHI полягає в завданні граничних умов за допомогою індикаторів KBCIl (J), KBCLl (J), KBCJl (I), KBCMl (I). Всі індикатори КВС, задані за замовчуванням, дорівнюють одиниці.