Розробка методів та програмного забезпечення для
комп’ютерного моделювання
Наукові дослідження, а також блок навчальних дисциплін щодо комп’ютерного моделювання фізичних полів Землі зумовлює потребу розвитку та програмної реалізації числових методів розв’язування крайових задач. Широкої популярності набув достатньо універсальний метод скінченних елементів, що ґрунтується на варіаційних постановках. Є багато різних схем (варіантів) методу, що використовують відмінні базисні функції для апроксимації та енергетичні функціонали. Кожен з варіантів має свої переваги та недоліки, наприклад, Лагранжеві елементи використовують інтерполяцію за вузловими значеннями, а бета-сплайни мають вищий клас гладкості на границях елементів. Поряд з великим вибором наявних програмних пакетів скінченно-елементного моделювання, ми можемо спробувати й свої сили в реалізації методу скінченних елементів, принаймні, для своїх цікавих і конкретних задач, що, як правило, дешевше за універсальні та комерційні аналоги. Однак відомо, що тестування та верифікація програмного коду є дуже важливим і трудомістким етапом. Тому виявлення помилок вже на ранніх етапах та побудова тестових наборів (для перетворення вхідних даних, аналітичного та числового інтегрування матриць елементів, складання глобальної матриці тощо) може суттєво прискорити процес створення програми, а отже, й отримання розв’язків прикладних задач комп’ютерного моделювання.
"Серцем" програмної реалізації методу є частина, яку називають "процесором". Головна його задача – розв’язування системи лінійних алгебричних рівнянь. З точки зору відладки, треба найперше переконатися в коректній роботі цього модуля, тобто забезпечити прийнятну точність обчислень. Ми прийшли до ідеї створення тестових систем рівнянь, для яких бажано було б мати точний розв’язок. Теоретично, якщо коефіцієнти матриці та правої частини є раціональними числами, то і вектор розв’язку теж складатиметься з раціональних чисел. Тут "під рукою" мало б бути якесь допоміжне програмне забезпечення, що "вміє" розв’язувати системи рівнянь з раціональними коефіцієнтами. Ми вибрали електронні таблиці Microsoft Excel, розширивши функціональність за допомогою VBA для реалізації арифметичних операцій з цілими та раціональними числами довільної розрядності. Також вважаємо, що зацікавлені користувачі можуть знайти й інші застосування розробленим програмам, якими хочемо радо поділитися, оскільки такої "фішки" (feature) немає в стандартній конфігурації.
Треба застерегти, що користувач має самостійно оцінити всі ризики використання цього програмного коду, який публікується "як є" (as is) і тільки для ознайомлення. Також є плани щодо його вдосконалення.
Скачати файл надбудови для Excel для виконання операцій довгої арифметики та розв’язування систем рівнянь (розмірністю орієнтовно до 200–500) методом Гауса (версія для ознайомлення - Trial Version):
|
(версія для Excel 2003) |
(версія для Excel 2007+) |
Скачати файл Excel з тестовими прикладами, що використовують надбудову для довгої арифметики. (30 Кб)