Розглянуті вище скінченно-різницеві співвідношення (4), (5), (7) та (8)-(10) мають місце й для дискретизації диференціальних рівнянь з частинними похідними. Головними особливостями різницевих схем для рівнянь з частинними похідними є велика різноманітність сіток та способів апроксимацій, а у випадку нестаціонарних задач, ще й залежність між кроками сітки за часовою та просторовими координатами. Не зменшуючи загальності, для спрощення викладення матеріалу, обмежимося випадком двовимірних задач і рівномірними сітками.
Розглянемо задачу Діріхле для рівняння Пуасона у квадратній області:
, , (12)
з граничними умовами
. (13)
За сітку візьмемо сукупність точок перетину прямих , де - крок сітки як у напрямку координати , так і у напрямку координати . Такий спосіб побудови сітки в літературі часто називають методом прямих. Це дозволяє визначати вузли сітки за допомогою значень індексів . Значення сіткової функції у точці сітки позначимо через . Перейдемо до побудови різницевої схеми використовуючи наступний шаблон:
,
тобто, апроксимацію похідних у рівнянні (12) здійснимо за допомогою центральної скінченної різниці другого порядку. Тоді для кожного внутрішнього вузла , тобто вузла сітки всередині області, отримаємо:
, (14)
де індекси приймають значення індексів усіх внутрішніх вузлів, тобто, , . Рівняння (14) представляють собою звичайні алгебраїчні рівняння, тому сукупність цих рівнянь можна розглядати як систему лінійних алгебраїчних рівнянь (СЛАР) відносно невідомих вузлових значень . Однак, рівнянь у цій СЛАР є , а невідомих величин - . Для того, щоб доповнити нашу СЛАР використаємо граничні умови (13), з яких отримаємо:
, , , (15)
, , . (16)
Сукупність рівнянь (14)-(16) утворює СЛАР відносно невідомих вузлових значень , в якій кількість рівнянь рівна кількості невідомих. Розв’язавши її одним із прямих або ітераційних методів, отримаємо значення шуканого розв’язку задачі (12)-(13) у вузлах сітки.
Розглянемо, тепер, детальніше реалізацію описаної вище схеми методу скінченних різниць в системі MATHCAD. З точки зору програмної реалізації найважливішими етапами є побудова сітки вузлів та формування матриці та вектора правої частини СЛАР. Побудова сітки включає обчислення координат вузлів та їх нумерацію, причому, оскільки формування різницевих рівнянь для вузлів, що знаходяться всередині області, відрізняється від формування рівнянь для вузлів, що виходять на границю, то бажано додатково зберігати інформацію про номери внутрішніх вузлів. Це потрібно для того, щоб правильно визначити і сформувати ті рядки результуючої матриці СЛАР, які відповідають внутрішнім вузлам. Один із можливих способів побудови сітки вузлів та підготовки необхідних інформаційних структур даних (масивів) про цю сітку зображено на рис.2, який містить фрагмент документу MATHCAD з програмою розв’язання задачі Діріхле для рівняння Пуасона (12)-(13).
Рис.2. Приклад побудови сітки вузлів та підготовки вхідних даних
Побудова самої різницевої схеми (14)-(16) полягає у формуванні матриці та вектора правої частини (вектора навантаження). Причому, згідно нашого поділу вузлів сітки на внутрішні та граничні, обчислення елементів матриці та вектора навантаження для цих типів вузлів можна розділити. Особливо просто формуються рядки матриці СЛАР для граничних вузлів: оскільки значення шуканого розв’язку у цих вузлах відомі з граничних умов, то діагональні елементи цих рядків рівні одиниці, а відповідні елементи вектора навантаження рівні заданому значенню шуканої функції у граничному вузлі. Рядки матриці для внутрішніх вузлів, містять 5 ненульових елементів, які відповідають сусіднім вузлам, і номери яких визначаються з введеного нами допоміжного масиву. Продовження документу MATHCAD з віхдними даними, зображеними на рис.2, який містить реалізацію описаного алгоритму побудови різницевої схеми (14)-(16) та її розв’язання наведено на рис.3.
Рис.3. Формування матриці та вектора правої частини різницевої схеми та її розв’язання
Оскільки для нашого прикладу можна отримати точний розв’язок, то слід провести верифікацію (перевірку точності) отриманого наближеного розв’язку, результат якої зображено на рис.4.
Рис.4. Порівняння точного та наближеного розв’язків
З рис.4 видно, що навіть на досить грубій сітці з кроком при використанні скінченної різниці другого порядку точності, отримано чисельний результат більш ніж задовільної точності.
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Що таке сіткова функція?
2. Що таке різницева схема? Яким способом можна її побудувати?
3. У чому полягає основна ідея методу скінченних різниць? Наведіть приклади скінченних різниць.
4. Що таке похибка апроксимації? Від чого вона залежить?
5. Що таке швидкість збіжності та порядок точності? Як вони взаємопов’язані?
6. Чому різницева схема повинна бути збіжною? За яких умов різницева схема буде збіжною?
7. Якої форми можуть набувати різницеві схеми? У чому полягає особливість їх побудови?
ЛАБОРАТОРНЕ ЗАВДАННЯ
1. Ознайомитися з основними поняттями та етапами розв’язання крайових задач методом скінченних різниць.
2. Знайти розв’язок вказаної крайової задачі (індивідуальні завдання наведені в Додатку), використовуючи заданий тип різницевого співвідношення. Дослідити збіжність числового розв’язку при згущенні сітки.
3. Побудувати графіки функцій отриманого наближеного розв’язку та заданого точного розв’язку крайової задачі.
4. Оформити і здати звіт про виконання лабораторної роботи.
ЗМІСТ ЗВІТУ
1. Мета роботи.
2. Короткі теоретичні відомості.
3. Постановка задачі індивідуального завдання.
4. Оформлений належним чином (з коментарями, поясненнями та результатами) документ MATHCAD з програмою розв’язання завдання.
5. Аналіз результатів та висновки.