Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Задача
Предмет:
Математичне моделювання в САПР

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Кафедра САП
Розв’язування крайових задач методом скінченних різниць
Методичні матеріали до лабораторної роботи 4 з курсу: “Математичне моделювання
в САПР” для студентів базового напрямку
6.0804 “Комп’ютерні науки”
ЗАТВЕРДЖЕНО на засіданні кафедри “Системи автоматизованого проектування” Протокол
від
ЛЬВІВ 2008
Розв’язування крайових задач методом скінченних різниць. Методичні матеріали до лабораторної роботи 4 з курсу: “Математичне моделювання в САПР” для студентів базового напрямку 6.0804 “Комп’ютерні науки”.
Укладачі:
Макар В.М., доцент, к.т.н.
Юрчак І.Ю.,
доцент, к.т.н.
Відповідальний за випуск:
Лобур М.В., проф., д.т.н., завідувач кафедри САП
Рецензенти:
1. МЕТА РОБОТИ Ознайомитися з методом скінченних різниць, способами побудови
скінченно-різницевих співвідношень та отримати практичні навики застосування методу до розв’язання задачі Коші для звичайних диференціальних рівнянь та задачі Діріхле для рівняння Лапласа.
2. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ 2.1. ОСНОВНІ ПОНЯТТЯ МЕТОДУ СКІНЧЕННИХ РІЗНИЦЬ
Розглянемо крайову задачу в області з границею , записану в операторній формі:
,
(1) де – заданий диференціальний оператор, включаючи граничні умови, – задана функція, – шуканий розв’язок. Виберемо в області скінченну множину точок , яка називається сіткою, а самі точки – вузлами. Тоді розв’язання крайової задачі (1) методом скінченних різниць (методом сіток) полягає в знаходженні таблиці значень функції в заданих вузлах сітки . Саму таблицю значень прийнято називати сітковою функцією. Очевидно, що при згущенні сітки, тобто при , сіткова функція буде давати більшу кількість інформації про точний розв’язок крайової задачі (1), необхідну для встановлення . Більш детальний розгляд питання про відновлення функції за заданою таблицею її значень відноситься до компетенції теорії інтерполяції. Нас зараз цікавить задача обчислення сіткової функції , яку будемо інтерпретувати як точний розв’язок крайової задачі (1). Однак, на практиці сіткову функцію отримати не можливо, тому шукають інші сіткові функції визначені на тій же сітці , і які “збігаються” до при . Сіткова функція знаходиться як розв’язок відповідної різницевої задачі: ,
(2) де
- є різницевим аналогом вихідного диференціального оператора , а – різницевий аналог правої частини . Різницева задача (2) представляє собою систему алгебраїчних рівнянь відносно функції , яку можна розглядати як вектор шуканих значень, розмірність якого співпадає з кількістю вузлів сітки . Рівняння (2) також часто називають різницевою схемою задачі (1).
Існує декілька методів побудови різницевої схеми (2), найпростішим і найбільш поширеним є метод розкладу в ряд Тейлора. Суть цього методу полягає в заміні похідних, які входять в диференціальний оператор задачі (1), на так звані скінченні різниці. Не зменшуючи загальності, розглянемо одновимірний випадок, тобто коли область – це відрізок і функція визначена на цьому проміжку. Розкладемо функцію в ряд Тейлора в околі точки :
(3) Звідси будемо мати: звідки випливає, що

(4) Скінченно-різницеве співвідношення (4) для апроксимації першої похідної називається правою скінченною різницею (вперед). Аналогічно можна отримати ліву скінченну різницю (назад):
(5) скориставшись розкладом:
(6) Віднявши (6) від (3) отримаємо апроксимацію

(7) центральною різницею . З співвідношень (3), (6), (7) видно, що права і ліва скінченні різниці мають перший порядок точності, а центральна різниця – другий порядок точності. Аналогічно можна отримати скінченно-різницеве співвідношення для апроксимації другої похідної. Додавши вирази (3) та (6), отримаємо: (8) де вираз в правій частині (8) називається центральною скінченною різницею другого порядку. Аналогічно можна побудувати скінченну різницю другого порядку вперед (праву скінченну різницю)
(9)
та назад (ліву скінченну різницю): .
(10) Сукупність вузлів сітки, які беруть участь в побудові скінченно-різницевої апроксимації похідної в деякій заданій точці , утворюють шаблон скінченної різниці. У наведених вище прикладах використовувалися дво- та трьохточкові шаблони. Скінченно-різницеві співвідношення (4), (5), (7)-(10) мають місце і для апроксимації часткових похідних. Скінченно-різницеву апроксимацію першої похідної можна узагальнити у вигляді:
(11) отримуючи тим самим ціле сімейство різницевих схем, залежних від деякого числового парметру . Зокрема, при
маємо скінченну різницю (4), при - скінченну різницю (7), при -
скінченну різницю (5). Отже, основна ідея методу скінченних різниць полягає у заміні похідних, що входять у задане диференціальне рівняння, на скінченні різниці. У результаті такої заміни неперервна операторна задача (1) зводиться до дискретної задачі (2) відносно вузлових значень шуканої функції. Очевидно, що скінченні різниці дають лише наближене значення похідних у вузлах сітки, або, як прийнято казати, апроксимують похідні. Це означає, що внаслідок такої заміни виникає деяка похибка, яку називають похибкою апроксимації. Із співвідношень (3), (6), (8) видно, що похибка апроксимації залежить від величини кроку сітки . Цей факт залежності в теорії чисельних методів прийнято математично позначати . Такий запис означає, що апроксимація скінченною різницею має -ий порядок точності, а також вказує, що величина похибки прямує до нуля при . Сам показник степеня характеризує швидкість прямування похибки до нуля, або, як прийнято казати, швидкість збіжності. Це означає, що чим більше значення , тим швидше похибка прямуватиме до нуля (за одинакових інших умов).
Оскільки різницева схема (2) отримується шляхом апроксимації похідних скінченними різницями з певним порядком точності, то цілком логічно припустити, що тоді ця різницева схема буде в цілому апроксимувати вихідну диференціальну задачу (1). Це означає, що розв’язок різницевої задачі (2) буде апроксимувати точний розв’язок задачі (1). В дійсності задача (2) представляє собою ціле сімейство різницевих схем залежних від , яке породжує послідовність наближених розв’язків , кожний з яких апроксимуватимите точний розв’язок з деякою похибкою. Виявляється, що величина цієї похибки та швидкість її прямування до нуля (тобто швидкість збіжності послідовності наближених розв’язків до точного розв’язку) залежить від та порядку точності скінченної різниці. Залежність від означає, що величина похибки прямує до нуля при , а порядок точності апроксимації скінченними різницями визначає наскільки швидко це відбувається, тобто порядок швидкості збіжності. Слід зауважити, що якщо скінченна різниця має порядок точності , то це ще не означає, що різницева схема (2) автоматично має також -ий порядок точності. Дуже часто для досягнення цього доводиться застосовувати додаткові прийоми. Більше того, самого факту, що різницева схема (2) апроксимує задачу (1) дуже часто виявляється замало для того, щоб гарантувати збіжність послідовності наближених розв’язків до точного розв’язку задачі (1). Для цього потрібно, щоб різницева схема була ще й стійкою. Властивість стійкості є внутрішньою властивістю різницевої схеми, яка не залежить ні від диференціальної крайової задачі, ні від властивостей апроксимації та збіжності, її можна трактувати як рівномірну відносно чутливість розв’язку різницевої схеми (2) до збурень правої частини . Отже, для того, щоб різницева схема (2) була збіжною, тобто послідовність наближених розв’язків задач (2) збігалася до точного розв’язку задачі (1), вона має бути апроксимуючою та стійкою. Наявність властивості збіжності є фундаментальною вимогою, яка накладається на різницеву схему (2) для чисельного розв’язання диференціальної крайової задачі (1). Якщо різницева схема є збіжною, то за її допомогою можна обчислити розв’язок задачі (1) з довільною наперед заданою точністю, вибираючи крок достатньо малим. Для пояснення вище наведених теоретичних викладок розглянемо наступну задачу Коші .
(3) Апроксимуємо першу похідну скінченною різницею вперед, для чого розіб’ємо відрізок [0;1] на рівних частин з кроком . Множина точок утворює сітку . Позначимо . Тоді різницева схема задачі (3) буде мати вигляд:
(4) З (4) можна отримати: ,
(5) або з врахуванням початкової умови .
(6) Точний розв’язок задачі (3) має вигляд: .
(7) Знайдемо оцінку величини похибки наближеного розв’язку (6), яку в точці можна записати так: .
(8) Знайти оцінку величини похібки означає дослідити, як веде себе при збільшенні кількості вузлів сітки, або при зменшенні кроку сітки . Для цього потрібно певним чином перетворити . Після нескладних перетворень отримаємо: Тоді .
(9) Співвідношення (9) означає, що похибка при , а величина похибки має перший порядок кроку . На цій підставі кажуть, що різницева схема має перший порядок точності. Якщо апроксимувати похідну центральною скінченною різницею першого порядку, то отримаємо наступну різницеву схему: .
(10) Різницева схема (10) має другий порядок, тому необхідно задати дві початкові умови на і . Можна показати, що розв’язок різницевої схеми (10) збігатиметься до точного розв’язку, якщо покласти . Нехай
. Задамо початкове значення з похибкою порядку , тобто: . Тоді можна показати, що: ,
(11) тобто, якщо початкове значення задається з точністю до величини порядку , то і величина похибки буде порядку , тобто різницева схема (10) має другий порядок точності. Виявляється, що підвищення порядку точності задання початкового значення , не впливає на підвищення порядку точності кінцевого результату. Якщо задати перший порядок точності початкового значення , тобто покласти , то можна показати, що в цьому випадку різницева схема (10) буде мати також перший порядок точності. Тому прийнято казати, що різницева схема (10) може дати більшу швидкість збіжності, а саме швидкість збіжності з залишковим членом порядку , на відміну від різницевої схеми (4), яка дає швидкість збіжності порядку . При чому, для того щоб отримати другий порядок точності в схемі (10), потрібно задати початкове значення , яке відрізняється від точного розв’язку в точці на величину порядку . На рис.1 зображено документ MATHCAD, який містить програму розв’язання задачі Коші (3) за допомогою різницевих схем (4) та (10) з порівнянням отриманих наближених розв’язків з точним. З
рис.1 видно, що різницева схема (10) з початковим значенням із похибкою порядку , яка має другий порядок точності, дає точніший результат ніж різницева схема (4), яка має перший порядок точності, на тій самій сітці. Для досягнення такої точності за допомогою різницевої схеми (4) потрібно брати більшу кількість вузлів (згустити сітку). Це й означає, що різницева схема (10) має більшу швидкість збіжності, а саме швидкість збіжності з залишковим членом порядку . Слід також зауважити, що для більшості практичних задач не вдається в явному вигляді виразити невідомі вузлові значення розв’язку через відомі, так як це зроблено у нашому прикладі за допомогою формули (6). У таких випадках різницева схема задається у вигляді системи лінійних алгебраїчних рівнянь відносно вектора вузлових значень шуканої функції. Рис.1. Приклад розв’язання задачі Коші для звичайного диференціального рівняння за допомогою методу скінченних різниць 2.2. ЗАСТОСУВАННЯ МЕТОДУ СКІНЧЕННИХ РІЗНИЦЬ ДО РОЗВ’ЯЗУВАННЯ КРАЙОВИХ ЗАДАЧ ДЛЯ
РІВНЯНЬ З ЧАСТИННИМИ ПОХІДНИМИ Розглянуті вище скінченно-різницеві співвідношення (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 видно, що навіть на досить грубій сітці з кроком при використанні скінченної різниці другого порядку точності, отримано чисельний результат більш ніж задовільної точності.
3. КОНТРОЛЬНІ ЗАПИТАННЯ Що таке сіткова функція? Що таке різницева схема? Яким способом можна її побудувати? У чому полягає основна ідея методу скінченних різниць? Наведіть приклади скінченних різниць. Що таке похибка апроксимації? Від чого вона залежить? Що таке швидкість збіжності та порядок точності? Як вони взаємопов’язані? Чому різницева схема повинна бути збіжною? За яких умов різницева схема буде збіжною? Якої форми можуть набувати різницеві схеми? У чому полягає особливість їх побудови?
4. ЛАБОРАТОРНЕ ЗАВДАННЯ Ознайомитися з основними поняттями та етапами розв’язання крайових задач методом скінченних різниць. Знайти розв’язок вказаної крайової задачі (індивідуальні завдання наведені в Додатку), використовуючи заданий тип різницевого співвідношення. Дослідити збіжність числового розв’язку при згущенні сітки. Побудувати графіки функцій отриманого наближеного розв’язку та заданого точного розв’язку крайової задачі. Оформити і здати звіт про виконання лабораторної роботи.
5. ЗМІСТ ЗВІТУ Мета роботи. Короткі теоретичні відомості. Постановка задачі індивідуального завдання. Оформлений належним чином (з коментарями, поясненнями та результатами) документ MATHCAD з програмою розв’язання завдання. Аналіз результатів та висновки.
6. СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ Ортега Дж., Пул У. Введение в численные методы решения дифференциальных уравнений. –М.: Мир, 1980. – 280 с. С.К.Годунов, В.С.Рябенький. Разностные схемы. –М.: Наука, 1973. – 400 с. Фарлоу С. Уравнения с частными производными для научных работников и инженеров. - М.: Мир;, 1985. - 384 с. В.Дьяконов. MATHCAD 8/2000: специальный справочник. – СПб: Питер,2001. -592 с.
ДОДАТОК Знайти, використовуючи вказаний тип скінченної різниці,
розв’язок задачі Коші для заданого лінійного звичайного диференціального рівняння з наступними початковими умовами: , (за замовчуванням , якщо не вказано інше значення).
з/п Рівняння Точний розв’язок Формула 1 , (4),(9) 2 (5),(10) 3 (7),(8) 4 , (4),(9) 5 (5),(10) 6 , (7),(8) 7 (4),(9) 8 (5),(10) 9 (7),(8) 10 (4),(9) 11 (5),(10) 12 (7),(8) 13 (4),(9) 14 (5),(10) 15 (7),(8) 16 (4),(9) 17 (5),(10) 18 (7),(8) 19 (4),(9) 20 (5),(10) 21 (7),(8) 22 (4),(9) 23 (5),(10) 24 (7),(8) 25 (4),(9) 26 (5),(10) 27 (7),(8) 28 (4),(9) 29 (5),(10) Похідна в точці Центральна скінченна різниця Ліва скінченна різниця Права скінченна різниця
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини