Pull to refresh

Магия тензорной алгебры: Часть 10 — Получаем вектор угловой скорости. Работаем над недочетами

Reading time 7 min
Views 15K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение




Введение на этот раз будет «активным». Мы сразу начнем работать, и, пользуясь результатами предыдущих статей 6 и 9, получим псевдовектор угловой скорости твердого тела, выраженный через параметры конечного поворота.

Итак, путем долгих мучений вручную и, недолгих, но кропотливых преобразований в Maxima, мы пришли к тому, что антисимметричный тензор угловой скорости 2 ранга выглядит так

\Omega_{\,mk} = \left(1 - \cos\varphi \right )\left(\dot u_{\,m} \, u_{\,k} - u_{\,m} \, \dot u_{\,k}\right ) + \sin\varphi \, \left(1 - \cos\varphi \right ) \, u^{\,i} \left( \varepsilon_{\,ijk} \, \dot u^{\,j} \, u_{\,m} - \varepsilon_{\,ilm} \, \dot u^{\,l} \, u_{\,k} \right ) +

+ \sin\varphi \cos\varphi \, \varepsilon_{\,mjk} \, \dot u^{\,j} + \dot\varphi \, \varepsilon_{\,mik} \, u^{i} \quad (1)

Мы говорили о том, что получить псевдовектор угловой скорости можно, свернув (1) с тензором Леви-Чивиты

\omega^{\,r} = \varepsilon^{\,mkr} \, \Omega_{\,mk} \quad (2)

Однако дальнейшее исследование показало, что формула (2) содержит ошибку, которая приводит к получению не совсем верного результата. Отгадка нашлась путем изучения литературы и дальнейшего самостоятельного осмысления результатов из статьи о свертке тензора Леви-Чивиты.

Приглашаю под кат всех, кому интересно, что получилось в итоге.

Не будем утруждать себя бумажной работой, используем Maxima, «натравив» её на пакетный файл

omega.mac
kill(all);
load(itensor);
imetric(g);
idim(3);
<p>depends([u,phi],t);</p>

<p>Omega:ishow( (1-cos(phi))*(diff(u([m],[]),t)*u([k],[]) - u([m],[])<em>diff(u([k],[]),t)) +
sin(phi)</em>(1-cos(phi))<em>u([],[i])</em>('levi_civita([i,l,k],[])*diff(u([],[l]),t)*u([m],[]) -
'levi_civita([i,j,m],[])*diff(u([],[j]),t)*u([k],[])) +
sin(phi)<em>cos(phi)<em>diff(u([],[p]),t)</em>'levi_civita([m,p,k],[]) +
diff(phi, t)</em>'levi_civita([m,q,k],[])*u([],[q]))$</p>

<p>Omega2:ishow(expand(lc2kdt('levi_civita([],[m,k,r])*Omega)))$</p>

<p>Omega3:ishow(canform(contract(expand(Omega2))))$</p>

получив результат



После доработки этого выражения вручную, получаем результат, очень похожий на правду

\omega^{\,r} = 2 \, \left(1 - \cos\varphi \right ) \, \varepsilon^{\,imr} u_{\,i} \, \dot u_{\,m} + 2 \, \dot u^{\,r} \, \sin\varphi + 2 \, u^{\,r} \, \dot\varphi \quad (3)

Только вот (3) ровно в два раза больше правды — если положить ось вращения неподвижной, то есть \cfrac{d \vec{u}}{dt} = 0, мы получим

\vec\omega = 2 \, \dot\varphi \, \vec{u}

то есть угловая скорость направлена вдоль оси вращения, но в два раза больше производной от угла поворота. Как такое может быть? Такого быть не может, и неточность допущена в определении (2). Причины этой неточности, уточнение представлений об антисимметричных тензорах и псевдовекторах — цель данной статьи

1. Ещё раз о сопутствующем векторе антисимметричного тензора 2 ранга


Рассмотрим тензор угловой скорости (1). Так как он антисимметричный, то никто не мешает нам разложить его через самого себя

\Omega_{\,mk} = \frac{1}{2} \left(\Omega_{\,mk} - \Omega_{\,km} \right ) = \frac{1}{2} \left( \delta_{m}^{\,l} \, \delta_{k}^{\,p} - \delta_{k}^{\,l} \, \delta_{m}^{\,p}\right ) \, \Omega_{\,lp} = \frac{1}{2} \, \varepsilon_{\,mkj} \, \varepsilon^{\,lpj} \, \Omega_{\,lp} \quad (4)

Результат (4) основан на антисимметричности тензора угловой скорости (\Omega_{\,mk} = -\Omega_{km}), свойствах дельты Кронекера и её связи с тензором Леви-Чивиты, о чем подробно говорилось здесь.

А теперь внимание — введем вектор

\omega^{\,j} = \frac{1}{2} \, \varepsilon^{\,lpj} \, \Omega_{\,lp} \quad (5)

и очевидно, что из этого вектора можно снова получить тензор (1)

\Omega_{\,mk} = \varepsilon_{\,mkj} \, \omega^{\,j} \quad (6)

в полном соответствии с (4). А теперь, проделаем с (6), то, что мы делали с (1) во введении — свернем с контравариантным тензором Леви-Чивиты

\varepsilon^{\,mkr} \, \Omega_{\,mk} = \varepsilon^{\,mkr} \, \varepsilon_{\,mkj} \, \omega^{\,j} = 2 \, \delta_{j}^{\,r} \, \omega^{\,j} = 2 \, \omega^{\,r} \quad (7)

Вот и двойка нашлась — в действительности, сворачивая тензор угловой скорости с контравариантным тензором Леви-Чевиты мы получаем не одну, а две угловых скорости. Результат, полученный во введении является ошибочным, из-за того, что в пятой статье для получения сопутствующего вектора было приведено соотношение (2) и проигнорированы правила умножения и свертки тензора Леви-Чивиты. Как и в случае с метрическим тензором, для обратного преобразования достаточно умножить правую и левую часть выражения на обратный тензор. Но только метрический тензор при свертке с обратным ему по одной паре индексов дает дельту Кронекера, а вот тензор Леви-Чивиты при свертке по двум парам индексов дает ДВЕ дельты Кронекера. В этом и была причина ошибки и появления результата, в два раза превышающего истинный.

Для получения сопутствующего псевдовектора следует использовать соотношение (5). Тогда мы приходим к верному результату для угловой скорости

\omega^{\,r} = \left(1 - \cos\varphi \right ) \, \varepsilon^{\,imr} u_{\,i} \, \dot u_{\,m} + \dot u^{\,r} \, \sin\varphi + u^{\,r} \, \dot\varphi \quad (8)

М-да, чтобы получить (8) пришлось потратить некоторое время. Поэтому в восьмой статье было уделено такое внимание свойствам тензора Леви-Чивиты. В пятую и шестую статью внесены соответствующие правки.

Допускать ошибки весьма досадно, учитывая ту аудиторию, что следит за моими публикациями. Однако, статьи данного цикла, кроме изложения тензорного исчисления и способов его применения к решению практических задач, иллюстрируют и процесс познания на моем конкретном примере. А процесс познания, как известно, состоит из многих итераций.

В конечном счете мы пришли к цели — получили выражение угловой скорости через параметры конечного поворота, причем для произвольных координат с невырожденной метрикой.

2. Почему же все-таки псевдовектор?


Итак, мы получили угловую скорость. Допустим, для простоты, ось вращения тела не меняет своего направления. Тогда формула (8) приходит к тривиальной форме

\vec{\omega} = \dot\varphi \vec{u}

что иллюстрирует классическое определение вектора угловой скорости
Вектор угловой скорости направлен вдоль оси вращения, в ту сторону, откуда вращение выглядит происходящим против часовой стрелки

Почему против часовой стрелки? Потому, что при изложении курса теоретической механики, физики и математики по-умолчанию используется правая система координат. В ней положительное направление поворота — против хода часовой стрелки.

Обратимся к (9). Положительное значение производной от угла поворота говорит нам, что угол возрастает со временем. А значит поворот происходит в положительном направлении, то есть, если \dot\varphi &gt; 0, тело вращается против часовой стрелки (орт оси вращения смотрит на нас). Скорость точки тела при вращении определяется формулой Эйлера

\vec{v} = \vec{\omega} \times \vec{\rho} \quad(10)

и здесь опять — вектор скорости будет направлен в ту сторону, откуда кратчайший поворот от угловой скорости к радиус-вектору выглядит происходящим в положительном направлении, то есть против часовой стрелки (рисунок 1).



Рис. 1. Вращение твердого тела — правая система координат

А теперь поменяем систему координат на левую (рисунок 2)



Рис. 2. Вращение твердого тела — левая система координат

Телу всё равно, в какой системе координат мы его рассматриваем. Оно вращается туда же, куда и вращалось. Но положительное направление отсчета углов поворота в новой системе — по часовой стрелке. А значит, с существующим направлением вращения тела угол его поворота уменьшается и \dot\varphi &gt; 0, значит вектор угловой скорости, согласно (9) меняет направление на противоположное.

Что же будет со скоростью точки тела? А ничего — теперь, в соответствии с (10), вектор будет направлен туда, откуда кратчайший поворот от угловой скорости к радиус-вектору будет выглядеть происходящим по часовой стрелке, ведь такое положительное направление выбрано в новой системе координат. А значит направление вектора скорости точки тела останется прежним.

Выходит, что при переходе от правой системы координат к левой и наоборот, то есть при смене ориентации базиса, вектор угловой скорости меняет направление. А значит, как целостный геометрический объект он не инвариантен к смене базиса. Такие векторы называют псевдовекторами. А ещё их называют аксиальными векторами, что подчеркивает факт — направление вектора определяется выбранным в данной системе координат положительным направлением поворота.

Вектор скорости, напротив, не меняет направления при смене ориентации базиса и называется истинным или полярным вектором.

Результат векторного произведения истинных векторов — это аксиальный вектор. Но почему (10) дает истинный вектор? А потому, что один из аргументов вектор аксиальный, и смена его направления при переходе к левой системе координат нивелирует изменение направление векторного произведения. Таким образом, векторное произведение псевдовектора на истинный вектор дает на выходе истинный вектор.

В этом смысле вектор угловой скорости величина несколько неудобная. Поэтому, при выводе тензорных соотношений механики твердого тела лучше опираться на тензор угловой скорости, который инвариантен относительно произвольных преобразований системы координат.

3. Немного практики — вывод кинематических уравнений Эйлера из тензора угловой скорости


Чтобы читатель не заскучал от громоздких формул и понял практическую ценность полученных соотношений, приведу пример того, как можно получить выражение компонент угловой скорости через произвольные параметры поворота тела. Например через углы Эйлера.

Будем работать в декартовой правой системе координат. Углы Эйлера позволяют задать произвольную ориентацию твердого тела в пространстве, так, как показано на рисунке 3.



Рис. 3. Углы Эйлера — последовательный поворот связанной системы координат вокруг осей z,x,z

Произвольная ориентация тела может быть получена путем трех последовательных поворотов — вокруг оси z на угол \psi (угол нутации), затем, вокруг нового положения оси x на угол \theta (угол прецессии), и, вокруг нового положения оси z на угол \varphi — угол собственного вращения.

Значит, матрица поворота, в декартовых координатах будет выглядеть как композиция линейных преобразований поворота вокруг осей z, x, z

\mathbf{B} = \begin{bmatrix} \cos\psi &amp;&amp; - \sin\psi &amp;&amp; 0 \\ \sin\psi &amp;&amp; \cos\psi &amp;&amp; 0 \\ 0 &amp;&amp; 0 &amp;&amp; 1 \end{bmatrix} \begin{bmatrix} 1 &amp;&amp; 0 &amp;&amp; 0 \\ 0 &amp;&amp;\cos\theta &amp;&amp; - \sin\theta\\ 0 &amp;&amp; \sin\theta &amp;&amp; \cos\theta \end{bmatrix} \begin{bmatrix} \cos\varphi &amp;&amp; - \sin\varphi &amp;&amp; 0 \\ \sin\varphi &amp;&amp; \cos\varphi &amp;&amp; 0 \\ 0 &amp;&amp; 0 &amp;&amp; 1 \end{bmatrix} =

= \begin{bmatrix} \cos\psi \, \cos\varphi - \sin\psi\cos\theta\sin\varphi &amp;&amp; -\cos\psi \, \sin\varphi - \sin\psi\cos\theta\cos\varphi &amp;&amp; \sin\psi\sin\theta \\ \sin\psi \, \cos\varphi + \cos\psi\cos\theta\sin\varphi &amp;&amp; -\sin\psi \, \sin\varphi + \cos\psi\cos\theta\cos\varphi &amp;&amp; - \cos\varphi\sin\theta \\ \sin\theta\sin\varphi &amp;&amp; \sin\theta\cos\varphi &amp;&amp; \cos\theta \end{bmatrix} \quad (11)

Теперь применим к (11) одно их выражений для получения тензора поворота

\Omega = \mathbf{g} \cdot \mathbf{B}^{-1} \cdot \mathbf{\dot B} = \mathbf{B}^{T} \cdot \mathbf{g} \cdot \mathbf{\dot B} = \mathbf{B}^{T} \cdot \mathbf{\dot B}

Так как мы работаем в декартовом базисе — метрический тензор представлен единичной матрицей. Выполняя дифференцирование и матричное умножение с применением СКА, например в Maple с использованием таких команд
restart;
<p>with(LinearAlgebra):</p>

<p>A01 := Matrix( [ [cos(psi(t)), -sin(psi(t)), 0],
[sin(psi(t)), cos(psi(t)), 0],
[0, 0, 1] ]);</p>

<p>A12 := Matrix( [ [1, 0, 0],
[0, cos(theta(t)), -sin(theta(t))],
[0 ,sin(theta(t)), cos(theta(t))] ]);</p>

<p>A23 := Matrix( [ [cos(phi(t)), -sin(phi(t)), 0],
[sin(phi(t)), cos(phi(t)), 0],
[0, 0, 1] ]);</p>

<p>B := A01 . A12 . A23;</p>

<p>dBdt := map(diff, B, t);</p>

<p>Omega := map(simplify,B^(-1) . dBdt, trig);</p>

получаем матрицу тензора поворота

\Omega = \begin{bmatrix} 0 &amp;&amp; -\dot\varphi - \dot\psi\cos\theta &amp;&amp; \dot\psi\sin\theta\cos\varphi - \dot\theta\sin\varphi \\ \dot\varphi + \dot\psi\cos\theta &amp;&amp; 0 &amp;&amp; -\dot\psi\sin\theta\sin\varphi - \dot\theta\cos\varphi \\ -\dot\psi\sin\theta\cos\varphi + \dot\theta\sin\varphi &amp;&amp; \dot\psi\sin\theta\sin\varphi + \dot\theta\cos\varphi &amp;&amp; 0 \end{bmatrix} \quad (12)

Из (12) легко получить компоненты угловой скорости в системе координат, связанной с телом

\omega_x = \dot\psi\sin\theta\sin\varphi + \dot\theta\cos\varphi \quad (13)

\omega_y = \dot\psi\sin\theta\cos\varphi - \dot\theta\sin\varphi \quad (14)

\omega_z = \dot\varphi + \dot\psi\cos\theta \quad (15)

Искушенный в механике читатель непременно узнает в (13) — (15) кинематические уравнения Эйлера, связывающие вектор угловой скорости с параметрами поворота тела, в качестве которых выбраны углы Эйлера.

Похожим образом можно связать угловую скорость с любыми параметрами поворота. Мы проделали все преобразования для получение формулы (8) в общем виде, связав угловую скорость с параметрами конечного поворота. Но, ни представление (8), ни представление (13) — (15) неудобны для динамического анализа движения твердого тела, так как перечисленные формулы подвержены вырождению при определенных значениях параметров. В дальнейшем мы используем (8) чтобы перейти к угловой скорости, выраженной через компоненты кватерниона, не подверженные вырождению. А данный пример носит проверочный и иллюстративный характер.

Заключение


Данная заметка большей частью — работа над ошибками и неточностями, допущенными в предыдущих публикациях. Но результат достигнут — мы получили определение вектора угловой скорости тела через параметры конечного поворота и наглядно показали, что угловая скорость — псевдовектор.

Спасибо за внимание!

Продолжение следует…
Tags:
Hubs:
+17
Comments 8
Comments Comments 8

Articles