У цій статті мені хотілося б викласти реалізацію методу кінцевих елементів на прикладі рівняння Пуассона. Розглянемо завдання:
з однорідною крайовою умовою
де
Потрібно знайти функцію, що вирішує вказане рівняння.
Рішення
Помножимо початкове рівняння на функцію, безперервну, кусково безперервно-диференційовану і рівну на краях нулю, і проінтегруємо отримане рівняння по всій області.
Після застосування формули інтегрування по частинах отримаємо наступне рівняння
Введемо на області квадратну сітку з кроком:
і кожен квадрат розділимо діагоналлю, паралельну біссектрису першого координатного кута:
Отримаємо розбиття області на трикутні елементи - триангуляція області. Триангуляція такого типу називається тріангуляцією Фрідріхса-Келлера.
Будемо шукати наближене рішення даного рівняння як функцію, що дорівнює нулю на кордоні (крайова умова), безперервну на області та лінійну на кожному отриманому елементі триангуляції.
Функцію можна представити в наступному вигляді:
де значення функцій у точці визначено таким чином:
Підставивши функцію в перше рівняння, здійснивши перетворення і винос констант з під знака інтеграла, зведемо завдання для кожної базисної функції до підрахунку інтегралів виду:
Значення інтеграла може бути не нульовим лише в тому випадку, якщо базисні функції під знаком інтеграла мають непусту загальну область визначення. За побудовою, кожен елемент має три вершини. Вершина може бути загальною максимально для 6 трикутників:
з відповідними значеннями похідних для кожного з 6 випадків:
Після підрахунків інтеграла рівняння з номером виглядатиме наступним чином:
де
і при досить малому:
Отже, рівняння може бути переписано в наступному вигляді:
Додавши граничні умови, а саме:
отримуємо повну СЛАР, вирішуючи яку, знаходимо значення функції в точках сітки.
Велике спасибі Р.З. Даутову і М.М. Карчевському за прекрасну літературу!
