949 |
|
method using quaternion representation was developed by Omelyan. |
950 |
|
However, both of these methods are iterative and inefficient. In |
951 |
|
this section, we will present a symplectic Lie-Poisson integrator |
952 |
< |
for rigid body developed by Dullweber and his coworkers\cite{}. |
952 |
> |
for rigid body developed by Dullweber and his |
953 |
> |
coworkers\cite{Dullweber1997}. |
954 |
|
|
955 |
|
\subsection{\label{introSection:lieAlgebra}Lie Algebra} |
956 |
|
|
976 |
|
Differentiating \ref{introEquation:orthogonalConstraint} and using |
977 |
|
Equation \ref{introEquation:RBMotionMomentum}, one may obtain, |
978 |
|
\begin{equation} |
979 |
< |
Q^t PJ^{ - 1} + J^{ - 1} P^t Q = 0 . \\ |
979 |
> |
Q^T PJ^{ - 1} + J^{ - 1} P^T Q = 0 . \\ |
980 |
|
\label{introEquation:RBFirstOrderConstraint} |
981 |
|
\end{equation} |
982 |
|
|
988 |
|
\frac{{dq}}{{dt}} = \frac{p}{m} \label{introEquation:RBMotionPosition}\\ |
989 |
|
\frac{{dp}}{{dt}} = - \nabla _q V(q,Q) \label{introEquation:RBMotionMomentum}\\ |
990 |
|
\frac{{dQ}}{{dt}} = PJ^{ - 1} \label{introEquation:RBMotionRotation}\\ |
991 |
< |
\frac{{dP}}{{dt}} = - \nabla _q V(q,Q) - 2Q\Lambda . \label{introEquation:RBMotionP}\\ |
991 |
> |
\frac{{dP}}{{dt}} = - \nabla _Q V(q,Q) - 2Q\Lambda . \label{introEquation:RBMotionP}\\ |
992 |
|
\end{array} |
993 |
|
\] |
994 |
|
|
995 |
+ |
In general, there are two ways to satisfy the holonomic constraints. |
996 |
+ |
We can use constraint force provided by lagrange multiplier on the |
997 |
+ |
normal manifold to keep the motion on constraint space. Or we can |
998 |
+ |
simply evolve the system in constraint manifold. The two method are |
999 |
+ |
proved to be equivalent. The holonomic constraint and equations of |
1000 |
+ |
motions define a constraint manifold for rigid body |
1001 |
+ |
\[ |
1002 |
+ |
M = \left\{ {(Q,P):Q^T Q = 1,Q^T PJ^{ - 1} + J^{ - 1} P^T Q = 0} |
1003 |
+ |
\right\}. |
1004 |
+ |
\] |
1005 |
|
|
1006 |
+ |
Unfortunately, this constraint manifold is not the cotangent bundle |
1007 |
+ |
$T_{\star}SO(3)$. However, it turns out that under symplectic |
1008 |
+ |
transformation, the cotangent space and the phase space are |
1009 |
+ |
diffeomorphic. Introducing |
1010 |
|
\[ |
1011 |
< |
M = \left\{ {(Q,P):Q^T Q = 1,Q^t PJ^{ - 1} + J^{ - 1} P^t Q = 0} |
997 |
< |
\right\} . |
1011 |
> |
\tilde Q = Q,\tilde P = \frac{1}{2}\left( {P - QP^T Q} \right), |
1012 |
|
\] |
1013 |
+ |
the mechanical system subject to a holonomic constraint manifold $M$ |
1014 |
+ |
can be re-formulated as a Hamiltonian system on the cotangent space |
1015 |
+ |
\[ |
1016 |
+ |
T^* SO(3) = \left\{ {(\tilde Q,\tilde P):\tilde Q^T \tilde Q = |
1017 |
+ |
1,\tilde Q^T \tilde PJ^{ - 1} + J^{ - 1} P^T \tilde Q = 0} \right\} |
1018 |
+ |
\] |
1019 |
|
|
1020 |
< |
\subsection{\label{introSection:DLMMotionEquation}The Euler Equations of Rigid Body Motion} |
1021 |
< |
|
1022 |
< |
\subsection{\label{introSection:symplecticDiscretizationRB}Symplectic Discretization of Euler Equations} |
1020 |
> |
For a body fixed vector $X_i$ with respect to the center of mass of |
1021 |
> |
the rigid body, its corresponding lab fixed vector $X_0^{lab}$ is |
1022 |
> |
given as |
1023 |
> |
\begin{equation} |
1024 |
> |
X_i^{lab} = Q X_i + q. |
1025 |
> |
\end{equation} |
1026 |
> |
Therefore, potential energy $V(q,Q)$ is defined by |
1027 |
> |
\[ |
1028 |
> |
V(q,Q) = V(Q X_0 + q). |
1029 |
> |
\] |
1030 |
> |
Hence, |
1031 |
> |
\[ |
1032 |
> |
\nabla _q V(q,Q) = F(q,Q) = \sum\limits_i {F_i (q,Q)} |
1033 |
> |
\] |
1034 |
|
|
1035 |
+ |
\[ |
1036 |
+ |
\nabla _Q V(q,Q) = F(q,Q)X_i^t |
1037 |
+ |
\] |
1038 |
|
|
1039 |
+ |
As a common choice to describe the rotation dynamics of the rigid |
1040 |
+ |
body, angular momentum on body frame $\Pi = Q^t P$ is introduced to |
1041 |
+ |
rewrite the equations of motion, |
1042 |
+ |
\begin{equation} |
1043 |
+ |
\begin{array}{l} |
1044 |
+ |
\mathop \Pi \limits^ \bullet = J^{ - 1} \Pi ^T \Pi + Q^T \sum\limits_i {F_i (q,Q)X_i^T } - \Lambda \\ |
1045 |
+ |
\mathop Q\limits^{{\rm{ }} \bullet } = Q\Pi {\rm{ }}J^{ - 1} \\ |
1046 |
+ |
\end{array} |
1047 |
+ |
\label{introEqaution:RBMotionPI} |
1048 |
+ |
\end{equation} |
1049 |
+ |
, as well as holonomic constraints, |
1050 |
+ |
\[ |
1051 |
+ |
\begin{array}{l} |
1052 |
+ |
\Pi J^{ - 1} + J^{ - 1} \Pi ^t = 0 \\ |
1053 |
+ |
Q^T Q = 1 \\ |
1054 |
+ |
\end{array} |
1055 |
+ |
\] |
1056 |
+ |
|
1057 |
+ |
For a vector $v(v_1 ,v_2 ,v_3 ) \in R^3$ and a matrix $\hat v \in |
1058 |
+ |
so(3)^ \star$, the hat-map isomorphism, |
1059 |
+ |
\begin{equation} |
1060 |
+ |
v(v_1 ,v_2 ,v_3 ) \Leftrightarrow \hat v = \left( |
1061 |
+ |
{\begin{array}{*{20}c} |
1062 |
+ |
0 & { - v_3 } & {v_2 } \\ |
1063 |
+ |
{v_3 } & 0 & { - v_1 } \\ |
1064 |
+ |
{ - v_2 } & {v_1 } & 0 \\ |
1065 |
+ |
\end{array}} \right), |
1066 |
+ |
\label{introEquation:hatmapIsomorphism} |
1067 |
+ |
\end{equation} |
1068 |
+ |
will let us associate the matrix products with traditional vector |
1069 |
+ |
operations |
1070 |
+ |
\[ |
1071 |
+ |
\hat vu = v \times u |
1072 |
+ |
\] |
1073 |
+ |
|
1074 |
+ |
Using \ref{introEqaution:RBMotionPI}, one can construct a skew |
1075 |
+ |
matrix, |
1076 |
+ |
\begin{equation} |
1077 |
+ |
(\mathop \Pi \limits^ \bullet - \mathop \Pi \limits^ \bullet ^T |
1078 |
+ |
){\rm{ }} = {\rm{ }}(\Pi - \Pi ^T ){\rm{ }}(J^{ - 1} \Pi + \Pi J^{ |
1079 |
+ |
- 1} ) + \sum\limits_i {[Q^T F_i (r,Q)X_i^T - X_i F_i (r,Q)^T Q]} - |
1080 |
+ |
(\Lambda - \Lambda ^T ) . \label{introEquation:skewMatrixPI} |
1081 |
+ |
\end{equation} |
1082 |
+ |
Since $\Lambda$ is symmetric, the last term of Equation |
1083 |
+ |
\ref{introEquation:skewMatrixPI}, which implies the Lagrange |
1084 |
+ |
multiplier $\Lambda$ is ignored in the integration. |
1085 |
+ |
|
1086 |
+ |
Hence, applying hat-map isomorphism, we obtain the equation of |
1087 |
+ |
motion for angular momentum on body frame |
1088 |
+ |
\[ |
1089 |
+ |
\dot \pi = \pi \times I^{ - 1} \pi + Q^T \sum\limits_i {F_i (r,Q) |
1090 |
+ |
\times X_i } |
1091 |
+ |
\] |
1092 |
+ |
In the same manner, the equation of motion for rotation matrix is |
1093 |
+ |
given by |
1094 |
+ |
\[ |
1095 |
+ |
\dot Q = Qskew(M^{ - 1} \pi ) |
1096 |
+ |
\] |
1097 |
+ |
|
1098 |
+ |
The free rigid body equation is an example of a non-canonical |
1099 |
+ |
Hamiltonian system. |
1100 |
+ |
|
1101 |
+ |
\subsection{\label{introSection:symplecticDiscretizationRB}Symplectic Integration of Euler Equations} |
1102 |
+ |
|
1103 |
+ |
\[ |
1104 |
+ |
\varphi _{\Delta t} = \varphi _{\Delta t/2,V} \circ \varphi |
1105 |
+ |
_{\Delta t,T} \circ \varphi _{\Delta t/2,V} |
1106 |
+ |
\] |
1107 |
+ |
|
1108 |
+ |
\[ |
1109 |
+ |
\varphi _{\Delta t,T} = \varphi _{\Delta t,R} \circ \varphi |
1110 |
+ |
_{\Delta t,\pi } |
1111 |
+ |
\] |
1112 |
+ |
|
1113 |
+ |
\[ |
1114 |
+ |
\varphi _{\Delta t,\pi } = \varphi _{\Delta t/2,\pi _1 } \circ |
1115 |
+ |
\varphi _{\Delta t/2,\pi _2 } \circ \varphi _{\Delta t,\pi _3 } |
1116 |
+ |
\circ \varphi _{\Delta t/2,\pi _2 } \circ \varphi _{\Delta t/2,\pi |
1117 |
+ |
_1 } |
1118 |
+ |
\] |
1119 |
+ |
|
1120 |
+ |
\[ |
1121 |
+ |
\varphi _{\Delta t/2,V} = \varphi _{\Delta t/2,F} \circ \varphi |
1122 |
+ |
_{\Delta t/2,\tau } |
1123 |
+ |
\] |
1124 |
+ |
|
1125 |
+ |
|
1126 |
|
\section{\label{introSection:langevinDynamics}Langevin Dynamics} |
1127 |
|
|
1128 |
|
\subsection{\label{introSection:LDIntroduction}Introduction and application of Langevin Dynamics} |