Курсовой проект по Механике дискретных сред
Исполнитель: Ершов Александр
Группа: 3630103/60101
Семестр: осень 2019
Постановка задачи
Реализовать симплектический для вращательного движения твердого тела.
Построить графики изменения полной энергии системы. Убедиться в симплектичности метода.
Теория
Данный метод был получен Девидом Финчамом как аналог метода Верле для вращательного движения. Для описания поворота в данной статье используются кватернионы.
Алгоритм состоит из двух частей.
Вспомогательная часть:
[math]
1.\: \underline{J}^{n} = \underline{J}^{n-1/2} +\frac{1}{2}\Delta t \: \underline{T}^{n}
\\
2. \: \underline{J}^{n}_{p} = \underline{\underline{A}}^{n} \: \underline{J}^{n}
\\
3.\: \omega_{pi}^{n} = {J}^{n}_{pi}/I
\\
4.\: \underline{q}^{n+1/2}=\underline{q}^{n}+\frac{1}{2}\Delta t \: \underline{\underline{Q}}^{n}\underline{\omega}_{p}^{n}
\\
5.\: Использовать\: \underline{q}^{n+1/2}\: для\: вычисления\: \underline{\underline{A}}^{n+1/2} \: и\: \underline{\underline{Q}}^{n+1/2}.
[/math]
Главная часть:
[math]
6.\: \underline{J}^{n+1/2} = \underline{J}^{n-1/2} +\Delta t \: \underline{T}^{n}
\\
7.\: \underline{J}^{n+1/2}_{p} = \underline{\underline{A}}^{n+1/2} \: \underline{J}^{n}
\\
8.\: \omega_{pi}^{n_1/2} = {J}^{n+1/2}_{pi}/I
\\
9.\: \underline{q}^{n+1}=\underline{q}^{n}+\Delta t \: \underline{\underline{Q}}^{n+1/2}\underline{\omega}_{p}^{n+1/2}
\\
10. \: Сохранить \: \underline{J}^{n+1/2} \: и \: \underline{q}^{n+1} \: для\: следующих\: шагов.
[/math]
,где [math]\underline{J}[/math] -кинетический момент, [math]\underline{T}[/math] - внешний момент, [math]\underline{q}[/math] - кватернион, описывающий поворот, [math]\underline{\omega}[/math] -угловая скорость, [math]I[/math] - момент инерции, [math]\underline{\underline{A}}[/math] - матрица поворота
[math]
\underline{\underline{Q}} = \frac{1}{2}\begin{pmatrix}
q_{0} & -q_{1} & -q_{2} & -q_{3}\\
q_{1} & q_{0} & -q_{3} & q_{2}\\
q_{2} & q_{3} & q_{0} & -q_{1}\\
q_{3} & -q_{2} & q_{1} & q_{0}
\end{pmatrix}
[/math]
Результаты
Алгоритм был реализован на языке программирования Python.
В качестве модели для расчета был взят куб закрепленный пружинами на углах, повернутый в начальном положении вокруг оси [math](0,sin\frac{\pi}{3},cos\frac{\pi}{3})[/math].
Полученные графики:
Здесь красная линия - потенциальная энергия системы, зеленая - кинетическая, черная - полная.
Как можно заметить полная энергия системы не растет со временем, а лишь колеблется около одного значения. В данном случае, отклонения не превышают 5% от среднего значения.
Ссылки
1. D. Fincham, Mol. Simul. 8, 165 (1992).