2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Перевод векторов из подвижной в лабораторную СК
Сообщение04.05.2017, 01:36 


12/10/11
68
Добрый вечер.
Столкнулся с казалось бы простой проблемой, но ломаю голову уже достаточно долго.
Решаю задачу о классической динамике молекулярной системы в подвижной системе отсчета. В результате я получаю зависимости $\vec{\Omega}(t)$ и $\vec{J}(t)$ (оба вектора в проекции на подвижную систему отсчета). Вектор углового момента является интегралом движения, то есть в проекции на лабораторную систему отсчета имею следующее (обозначу маленькой буквой) $\vec{j} = \operatorname{const}$. Вопрос в следующем, я хочу переводить вектора из подвижной системы в лабораторную, то есть, хочется найти компоненты матрицы $\mathbb{S}$ такой, что: $\vec{J} = \mathbb{S} \vec{j}$ (понятно, что $\mathbb{S} = \mathbb{S}(t)$. Предполагается, что в начальный момент времени подвижная и лабораторная система совмещены, то есть я знаю $\vec{j} = \vec{J}(0)$.)

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение04.05.2017, 09:57 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
artfin, добрый день.
Вообще, в задачах о динамике молекулярных систем в вакууме (т.е. модель -- это летящая молекулка, которую никто не трогает), лабораторной системой координат (или ЛСК) принято обозначать систему координат, начало отсчёта которой находится в центр масс молекулы. Так что вопрос, что ещё подвижно. Второй вопрос -- это какая именно подвижная система отсчёта, т.к. из стандартных систем координат имеется ещё т.н. молекулярная система координат (МСК), которая не является неинерциальной, которая особым образом "привязана" к вращающейся молекуле.
Но, в общем случае у Вас преобразование любого вектора из одной системы координат (обозначим её как $a$) в другую ($b$) даётся выражением (при условии, что Вы требуете сохранения всех расстояний между частицами):
$\mathbf{r}^{(b)}=\mathbb{S}\mathbf{r}^{(a)} + \mathbf{R}$, где $\mathbb{S}$ -- матрица поворота, а $\mathbf{R}$ -- вектор сдвига. Для псевдовекторов, которым и является момент импульса, можно пойти следующим путём для поиска преобразования:
  1. взять 2 вектора $\mathbf{r}_1^{(a)} \rightarrow \mathbf{r}_1^{(b)}, \ \mathbf{r}_2^{(a)} \rightarrow \mathbf{r}_2^{(b)}$;
  2. посчитать векторные произведения $[\mathbf{r}_1^{(a)} \times \mathbf{r}_2^{(a)} ]$ и $[\mathbf{r}_1^{(b)} \times \mathbf{r}_2^{(b)} ]$
  3. найти матрицу преобразования $\mathbb{S}'$, связывающую их: $ \mathbb{S}' [\mathbf{r}_1^{(a)} \times \mathbf{r}_2^{(a)} ] = [\mathbf{r}_1^{(b)} \times \mathbf{r}_2^{(b)} ] $. Для этого надо подставить $\mathbf{r}_i^{(b)}=\mathbb{S}\mathbf{r}_i^{(a)} + \mathbf{R}$ и выражать компоненты нового векторного произведения через компоненты старого.

(спойлер)

емнип, в случае прехода ЛСК $\rightarrow$ МСК, т.е. когда $\mathbf{R} = 0$, а $\det (\mathbb{S}) = 1, \ S_{ij} \in \mathbb{R}$ (т.е. это просто поворот осей), матрица преобразования псевдовекторов $\mathbb{S}' = \mathbb{S}$. :wink:

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение04.05.2017, 11:34 


12/10/11
68
Да, ЛСК я называю систему координат, начало отсчета которой находится в центре масс молекулы. Подвижной системой называю неинерциальную систему координат, которая вращается вместе с молекулярной системой. Поэтому вектор сдвига нулевой: $$\mathbf{R} = \vec{0}$$
Проблема в том, что в произвольный момент времени я не знаю двух векторов одновременно в ЛСК и МСК. Угловой момент является интегралом движения, поэтому я знаю, что его направление фиксировано в ЛСК, и знаю его динамику в МСК. Так что один вектор имеется, а вот второй найти не удается.

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение04.05.2017, 11:49 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
А каким конкретно Макаром Вы ввели МСК? :? Её задание, по-сути, определяется получением соответствующей матрицы преобразования...

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение04.05.2017, 20:59 


12/10/11
68
Изображение

Система палочка -- атом (типа CO2 - He), ось OX соединяет центральный атом палочки с внешним атомом, ось OY перпендикулярна ей и проходит через центр масс системы. (Ось OZ, соответственно, перпендикулярна обеим.)

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 08:40 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
artfin в сообщении #1214138 писал(а):
Система палочка -- атом (типа CO2 - He)

Т.е. колебания в $\mathrm{CO_2}$ заморожены? Иначе, у Вас центр масс смещается с оси $\mathrm{C \cdots He}$... :roll:
А при этом то, координаты в ЛСК Вам известны?
Вообще, можете чуууть поподробнее расписать задачу?

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 11:55 


12/10/11
68
Да, колебания $CO_2$ считаю замороженными (собственно, поэтому я эту систему назвал "атом" + "палочка").

Задача поподробнее. В МСК записываю точный колебательный вращательный гамильтониан, в котором $\mathbf{q}$ -- вектор внутренних координат, $\mathbf{p}$ -- вектор сопряженных им импульсов, $\mathbf{J}$ -- вектор углового момента (в МСК):
$$
\mathcal{H}_{rovib.} = \mathcal{H}(\mathbf{q}, \mathbf{p}, \mathbf{J})
$$
На основе гамильтониана составляю следующую систему динамических уравнений (1), представляющую собой совокупность уравнений Гамильтона и обобщенных уравнений Эйлера:
$$
\left\{
\begin{aligned}
&\dot{\mathbf{q}} = \frac{\partial \mathcal{H}}{\partial \mathbf{p}} \\
& \dot{\mathbf{p}} = \frac{\partial \mathcal{H}}{\partial \mathbf{q}} \\
&\dot{\mathbf{J}} + \left [ \frac{\partial \mathcal{H}}{\partial \mathbf{J}} \times \mathbf{J} \right] = 0
\end{aligned}
\right.
$$
Последнее уравнение представляет собой закон сохранения углового момента в подвижной системе отсчета; основано на следующих соотношениях, полученных по теореме Донкина:
$$
\left\{
\begin{aligned}
\mathbf{J} = \frac{\partial \mathcal{L}}{\partial \mathbf{\Omega}} \\
\mathbf{\Omega} = \frac{\partial \mathcal{H}}{\partial \mathbf{J}}
\end{aligned}
\right.
$$
То есть, при решении системы (1) получаем классическую траекторию:
$$
\left\{
\begin{aligned}
\mathbf{J} = \mathbf{J}(t) \\
\mathbf{q} = \mathbf{q}(t) \\
\mathbf{p} = \mathbf{p}(t)
\end{aligned}
\right.
$$

Параметризация ориентации подвижной СК относительно ЛСК осуществлена при помощи 3 углов Эйлера (в стандартной форме из Голдстейна). Ортогональная матрица $\mathbb{S}$ принимает следующий вид:
$$
\mathbb{S} = 
\begin{bmatrix}
\cos \psi & \sin \psi & 0 \\
-\sin \psi & \cos \psi & 0 \\
0 & 0 & 1
\end{bmatrix}
\begin{bmatrix}
1 & 0 & 0 \\
0 & \cos \theta & \sin \theta \\
0 & -\sin \theta & \cos \theta
\end{bmatrix}
\begin{bmatrix}
\cos \phi & \sin \phi & 0 \\
-\sin \phi & \cos \phi & 0 \\
0 & 0 & 1
\end{bmatrix}
$$
$$
\mathbf{a}_{\text{МСК}} = \mathbb{S} \mathbf{a}_{\text{ЛСК}}
$$

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 15:10 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
artfin в сообщении #1214233 писал(а):
Параметризация ориентации подвижной СК относительно ЛСК осуществлена при помощи 3 углов Эйлера (в стандартной форме из Голдстейна).

Ну и что же Вас не устраивает?
madschumacher в сообщении #1213996 писал(а):
емнип, в случае прехода ЛСК $\rightarrow$ МСК, т.е. когда $\mathbf{R} = 0$, а $\det (\mathbb{S}) = 1, \ S_{ij} \in \mathbb{R}$ (т.е. это просто поворот осей), матрица преобразования псевдовекторов $\mathbb{S}' = \mathbb{S}$. :wink:

т.е. если у Вас известны углы Эйлера для перевода векторов из ЛСК в МСК, то перевод псевдовекторов углового момента осуществляется при помощи той же матрицы. :|

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 16:59 


12/10/11
68
Не устраивает то, что мне известны зависимости $\mathbf{q} = \mathbf{q}(t)$, $\mathbf{p} = \mathbf{p}(t)$, $\mathbf{J} = \mathbf{J}(t)$, а вот зависимости эйлеровых углов от времени мне неизвестны. Я могу, разумеется, записать все то же уравнение закона сохранения углового момента в ПСК:
$$
\dot{\mathbf{J}} + \left[ \mathbf{\Omega} \times \mathbf{J} \right] = 0
$$
и подставить в него угловую скорость как функцию $\mathbf{\Omega} = \mathbf{\Omega}(\mathbf{e}, \dot{\mathbf{e}})$ (эйлеровых углов и эйлеровых скоростей), но решать еще одну систему дифференцальных уравнений лишь для того, чтобы перейти в лабораторную систему отсчета кажется не самым вычислительно оправданным способом. Хочется найти алгебраический способ перевода, если такой имеется, или, в противном случае, максимально упростить задачу решения ДУ (свести количество ДУ к минимуму).

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 22:53 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
artfin в сообщении #1214299 писал(а):
Хочется найти алгебраический способ перевода, если такой имеется
Думаю, нет. Рассмотрим вращение классического твёрдого тела вокруг неподвижного центра масс (Сивухин, Механика, §54 «Вращение твёрдого тела по инерции вокруг неподвижной точки»). С твёрдым телом жёстко связан его эллипсоид инерции. При вращении тела вектор угловой скорости описывает замкнутую кривую (полодию) на поверхности эллипсоида. Когда вектор угловой скорости возвращается в исходную точку по отношению к эллипсоиду (т.е. к подвижной системе), само твёрдое тело совершенно не обязано возвращаться к исходному положению. Это особенно очевидно в важном частном случае, когда угловая скорость и момент импульса вообще неподвижны относительно системы, связанной с телом. Так как тело при этом вращается, матрица перехода $\mathbb S$, связывающая координаты неподвижной и подвижной систем, непрерывно меняется. Это значит, что матрица перехода в момент $t$ не определяется текущими значениями $\mathbf{\Omega}(t)$ и $\mathbf{J}(t)$, а зависит от предыстории. То есть без дифференциального уравнения не обойтись.

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 23:22 


12/10/11
68
Интересно, соглашусь с Вами.

А можете пояснить в чем может быть ошибка в следующем подходе. Рассмотрим в момент времени $t$ два вектора $\mathbf{J}(t)$ (проекция на МСК) и $\mathbf{j}$ (в ЛСК). Матрица $\mathbb{S}(t)$ переводит первый вектор во второй (точнее говоря, преобразует координаты в МСК в координаты в ЛСК, т.к. вектор-то один и тот же):
$$
\mathbf{J} = \mathbb{S} \mathbf{j}
$$
Заметим, что матрица $\mathbb{S}$ параметризована тремя эйлеровыми углами, таким образом это соотношение превращается в систему из 3 уравнений относительно $\phi$, $\theta$, $\psi$. Как только мы разрешили эту систему относительно них (или их косинусов, синусов, не важно, оставляем за скобками саму вычислительную процедуру), то мы можем собрать матрицу $\mathbb{S}$.

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение05.05.2017, 23:44 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Матрица $\mathbb S$, входящая в уравнение $\mathbf{J} = \mathbb{S} \mathbf{j}$, ортогональна. Это гарантирует, что $|\mathbf J|=|\mathbf j|$ (или накладывает ограничение на пары ($\mathbf{J}, \mathbf{j}$), для которых уравнение разрешимо относительно углов Эйлера). Поэтому из трёх скалярных уравнений независимых будет только два. Если при некотором выборе углов Эйлера справедливо
$J_x=(\mathbb{S} \mathbf{j})_x$,
$J_y=(\mathbb{S} \mathbf{j})_y$,
то автоматически
$J_z=\pm(\mathbb{S} \mathbf{j})_z$

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение06.05.2017, 00:59 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Или так. Зададим два единичных вектора, $\mathbf a$ и $\mathbf b$. Назовём вращение $\mathsf P$ подходящим, если $\mathsf P\mathbf a=\mathbf b$. Это уравнение не определяет вращение $\mathsf P$ однозначно: совершив подходящее вращение, можно ещё повернуть подвижную систему координат вокруг оси $\mathbf b$ на произвольный угол, и мы получим другое подходящее вращение.

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение07.05.2017, 15:24 


12/10/11
68
Попытка смешанного алгебраического и дифференциального подхода.

Мы можем использовать сохранение вектора углового момента для нахождения пары углов Эйлера. Сделаем это следующим образом. Ориентируем лабораторную систему координат в начальный момент времени таким образом, что $\mathbf{j}$ ориентирован вдоль оси $OZ$. Матрица, связывающие координаты векторов в лабораторной и подвижной системах координат выглядит следующим образом:
$$
\mathbf{J} = \mathbb{S}^{-1} \mathbf{j} = \mathbb{S}^{-1} 
\begin{bmatrix}
0 \\
0 \\
J
\end{bmatrix}
$$
$$
\mathbb{S} = 
\begin{bmatrix}
\cos \psi \cos \varphi - \cos \theta \sin \varphi \sin \psi & \cos \psi \sin \varphi + \cos \theta \cos \varphi \sin \psi & \sin \psi \sin \theta \\
-\sin \psi \cos \varphi - \cos \theta \sin \varphi \cos \psi & - \sin \psi \sin \varphi + \cos \theta \cos \varphi \cos \psi & \cos \psi \sin \theta \\
\sin \theta \sin \varphi & - \sin \theta  \cos \varphi & \cos \theta
\end{bmatrix}
$$

Так как матрица $\mathbb{S}$ ортогональна, то $\mathbb{S}^{-1} = \mathbb{S}^\top$. Итак, получаем следующие соотношения на углы $\theta$, $\psi$:
$$
\left\{
\begin{aligned}
J_x &= J \sin \psi \sin \theta \\
J_y &= J \cos \psi \sin \theta \\
J_z &= J \cos \theta
\end{aligned}
\right.
$$

Рассмотрим соотношение между вектором угловой скорости и вектором эйлеровых скоростей:
$$
\mathbf{\Omega} = \mathbb{V} \dot{\mathbf{e}} = 
\begin{bmatrix}
\sin \theta \sin \psi & \cos \varphi & 0 \\
\sin \theta \cos \psi & - \sin \psi & 0 \\
\cos \theta & 0 & 1
\end{bmatrix}
\begin{bmatrix}
\dot{\varphi} \\
\dot{\theta} \\
\dot{\psi}
\end{bmatrix} 
$$
$$
\dot{\mathbf{e}} = 
\begin{bmatrix}
\frac{\sin \psi}{\sin \theta} & \frac{\cos \psi}{\sin \theta} & 0 \\
\cos \psi & -\sin \psi & 0 \\
- \sin \psi \ctg \theta & -\cos \psi \ctg \theta & 1
\end{bmatrix}
\mathbf{\Omega}
$$

Вытаскиваем из последнего соотношения выражение для $\dot{\varphi}$:
$$
\dot{\varphi} = \frac{1}{\sin \theta} \left( \Omega_x \sin \psi + \Omega_y \cos \psi \right)
$$
Выразим отношения $\displaymode \frac{\sin \psi}{\sin \theta}$ и $\displaymode \frac{\cos \psi}{\sin \theta}$ через компоненты углового момента:
$$
\dot{\varphi} = J \times \frac{J_x \Omega_x + J_y \Omega_y}{J_x^2 + J_y^2}
$$
Интегрируя, получаем значения угла $\varphi(t)$:
$$
\varphi(t) = J \times \int_0^t \frac{J_x(\xi) \Omega_x (\xi) + J_y(\xi) \Omega_y(\xi)}{J_x^2(\xi) + J_y^2(\xi)} d \xi
$$

Выражаю компоненты матрицы $\mathbb{S}$ через компоненты вектора углового момента:
$$
\mathbb{S} = 
\begin{bmatrix}
\frac{1}{\sin \theta} \left( \frac{J_y}{J} \cos \varphi - \frac{J_x J_z}{J^2} \sin \varphi \right) & - \frac{1}{\sin \theta} \left( \frac{J_x}{J} \cos \varphi + \frac{J_y J_z}{J^2} \sin \varphi \right) & \sin \theta \sin \varphi \\
\frac{1}{\sin \theta} \left( \frac{J_y}{J} \sin \varphi + \frac{J_x J_z}{J^2} \cos \varphi \right) & \frac{1}{\sin \theta} \left( - \frac{J_x}{J} \sin \varphi + \frac{J_y J_z}{J^2} \cos \varphi \right) & - \sin \theta \cos \varphi \\
\frac{J_x}{J} & \frac{J_y}{J} & \frac{J_z}{J}
\end{bmatrix}
$$

Знак в $\sin \theta = \pm \sqrt{1 - \left( \frac{J_z}{J} \right)^2}$, видимо, определяется из непрерывности..

 Профиль  
                  
 
 Re: Перевод векторов из подвижной в лабораторную СК
Сообщение08.05.2017, 03:07 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
artfin, я не вникал ещё в Ваш вывод. Позже прочитаю внимательно, а сейчас хотел бы описать свой подход. Он в чём-то противоположен Вашему, и может быть Вам интересен.
Обозначения. Базисы лабораторной и подвижной систем ортонормированные. Величины (или отдельные индексы), помеченные тильдой, относятся к подвижной системе. В качестве примера — разложение вектора $\mathbf a$ по базисным векторам лабораторной и подвижной систем:
$\mathbf a=a_i\mathbf e_i=\tilde a_k\tilde{\mathbf e}_k$
При этом
$\tilde{\mathbf e}_k=\mathbf e_i\,S_{i\tilde k}\quad\quad a_i=S_{i\tilde k}\,\tilde a_k$

Пусть компоненты вектора $\mathbf a$ в подвижной системе (т.е. $\tilde a_k$) не зависят от времени. Тогда
$\frac d{dt}\mathbf a=\boldsymbol{\omega}\times \mathbf a$
В частности, это справедливо для базисных векторов подвижной системы:
$\frac d{dt}\tilde{\mathbf e}_k=\boldsymbol{\omega}\times \tilde{\mathbf e}_k$
Левая часть равна $\mathbf e_i\frac{d}{dt}S_{i\tilde k}$, так как $\mathbf e_i$ от времени не зависят.
Правая часть равна
$\tilde\omega_m \tilde{\mathbf e}_m\times\tilde{\mathbf e}_k=\tilde\omega_m\,\tilde\varepsilon_{jmk}\,\tilde{\mathbf e}_j=\tilde\omega_m\tilde\varepsilon_{jmk}\, \mathbf e_i\,S_{i\tilde j}$ ,
где $\varepsilon$ — символ Леви-Чивита. Приравнивая, получим в силу линейной независимости $\mathbf e_i$:
$\frac{d}{dt}S_{i\tilde k}=S_{i\tilde j}\,\tilde B_{jk}$, где $\tilde B_{jk}=\tilde\omega_m\,\tilde\varepsilon_{jmk}$.
Или, в матричном виде,
$\frac{d}{dt}S=SB$, где $B=\begin{bmatrix}0&-\tilde\omega_z&+\tilde\omega_y\\+\tilde\omega_z&0&-\tilde\omega_x\\-\tilde\omega_y&+\tilde\omega_x&0\end{bmatrix}$

Решив это уравнение с начальным условием $S(0)=E$, мы можем вычислить $J_i=S_{i\tilde k}\,\tilde J_k$ и проверить, что они не зависят от времени.
Таким образом, для нахождения $S$ используется только угловая скорость, а информация о моменте импульса используется для верификации решения.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group