
- •Курсова робота
- •Моделювання руху тіла у в’язкому середовищі
- •Розділ 1
- •Рух тіла у в'язкому середовищі
- •В'язкість (внутрішнє тертя) і в'язкопружність
- •Актуальність данної роботи
- •Поставлена задача
- •Розділ 2. Методика
- •Метод Рунге-Кутти
- •Інструмент. Мова програмування Сі
- •Алгоритм вирішення
- •Структура програми
- •Розділ 3. Результати
- •3.1 Результат роботи програми
- •Висновки
- •Список використаних джерел
- •Додаток б. Блок схеми програми
Поставлена задача
У цій роботі вирішується наступна задача. Нехай є сферичне тверде тіло радіуса R і щільності ρт. Необхідно розглянути рух цього тіла у в'язкій рідині щільності ρ рід. з коефіцієнтом в'язкості η, вважаючи, що в початковий момент тіло знаходиться на початку координат і має нульову швидкість. При цьому враховується дія на тіло наступних сил: сила тяжіння, сила Архімеда і сила внутрішнього тертя рідини.
Необхідно скласти рівняння руху тіла в цій системі, написати на мові програмування Сі програму для вирішення цього диференціального рівняння методом Рунге-Кутти. Також необхідно знайти точне рішення рівняння і порівняти обидва рішення.
Програма повинна приймати наступні вхідні параметри: параметри фізичної моделі - радіус тіла, густина тіла, щільність рідини, коефіцієнт в'язкості рідини; параметри методу Рунге-Кутти - кінцевої точки, в якій і обчислюється значення, і величина кроку h.
Розділ 2. Методика
Метод Рунге-Кутти
У загальному вигляді сімейство методів Рунге-Кутти для одного диференціального рівняння першого порядку полягає в наступному. Нехай є задача Коші:
для х > x0, u (x0 )= u0
і нехай чисельне рішення задачі Коші відомо в точці xn, а саме
y (x n )= y n. Тоді m-етапний метод Рунге-Кутти (метод Рунге-Кутти m-го порядку) буде полягати в наступному. Задаються деякі числові коефіцієнти a i, b ij, i = 2, 3, ... m; j = 1, 2, ... (m-1), σ l, l = 1, 2, ... m і послідовно обчислюються наступні функції:
k 1 = f (x n, y n )
k 2 = f (x n + a 2 h, y n + b 21 hk 1)
k 3 = f (x n + a 3 h, y n + b 31 hk 1 + b 32 hk 1)
...
k m = f (x n + a m h, y n + b m1 hk 1 + ... + b m, m-1 hk m-1)
Потім з формули
знаходиться рішення задачі в наступній точці (x n+1): y (x n+1) = y n+1.
При цьому потрібно, щоб виконувалась умова:
Методи порядку 5-го і вище використовуються рідко, найчастіше застосовуються методи четвертого порядку. При цьому найбільш популярним з них, є так званий метод Рунге-Кутти:
k 1 = f (x n, y n );
k 2 = f (x n + h / 2, y n + k 1 h / 2);
k 3 = f (x n + h / 2, y n + k 2 h / 2);
k 4 = f (x n + h, y n + k 13 h);
Інструмент. Мова програмування Сі
Мова програмування Сі є одним з найпопулярніших мов високого рівня. Її особливостями є висока ефективність, універсальність, відносна простота, а також широка підтримка з боку розробників програмного забезпечення. Існує величезна кількість компіляторів мови для більшості платформ, а також безліч бібліотек, що розширюють функціональність програм, написаних на ньому.
Завдяки цим особливостям Сі є найпопулярнішою мовою системного програмування, а також широко використовується при створенні прикладного програмного забезпечення.
Мова Сі справила великий вплив на розвиток мов програмування. Так, вона послужила основою для багатьох мов, у тому числі для популярних мов C + + і нащадків останньої мови (наприклад, C #); також багато відомих мови запозичили синтаксис мови Сі.
На даний момент Сі є стандартом де-факто швидкодії та ефективності серед мов програмування високого рівня.