Метод кінцевих елементів на прикладі рівняння Пуассона

У цій статті мені хотілося б викласти реалізацію методу кінцевих елементів на прикладі рівняння Пуассона. Розглянемо завдання:

з однорідною крайовою умовою

де

Потрібно знайти функцію, що вирішує вказане рівняння.

Рішення

Помножимо початкове рівняння на функцію, безперервну, кусково безперервно-диференційовану і рівну на краях нулю, і проінтегруємо отримане рівняння по всій області.

Після застосування формули інтегрування по частинах отримаємо наступне рівняння

Введемо на області квадратну сітку з кроком:

і кожен квадрат розділимо діагоналлю, паралельну біссектрису першого координатного кута:

Отримаємо розбиття області на трикутні елементи - триангуляція області. Триангуляція такого типу називається тріангуляцією Фрідріхса-Келлера.

Будемо шукати наближене рішення даного рівняння як функцію, що дорівнює нулю на кордоні (крайова умова), безперервну на області та лінійну на кожному отриманому елементі триангуляції.

Функцію можна представити в наступному вигляді:

де значення функцій у точці визначено таким чином:

Підставивши функцію в перше рівняння, здійснивши перетворення і винос констант з під знака інтеграла, зведемо завдання для кожної базисної функції до підрахунку інтегралів виду:

Значення інтеграла може бути не нульовим лише в тому випадку, якщо базисні функції під знаком інтеграла мають непусту загальну область визначення. За побудовою, кожен елемент має три вершини. Вершина може бути загальною максимально для 6 трикутників:

з відповідними значеннями похідних для кожного з 6 випадків:

Після підрахунків інтеграла рівняння з номером виглядатиме наступним чином:

де

і при досить малому:

Отже, рівняння може бути переписано в наступному вигляді:

Додавши граничні умови, а саме:

отримуємо повну СЛАР, вирішуючи яку, знаходимо значення функції в точках сітки.

Велике спасибі Р.З. Даутову і М.М. Карчевському за прекрасну літературу!