Showing posts with label Mecánica de Lagrange. Show all posts
Showing posts with label Mecánica de Lagrange. Show all posts

Lagrangiano clásico desde la fuerza de Lorentz

Acá muestro la obtención de la fuerza de Lorentz en ausencia de campo eléctrico externo a partir de la lagrangiana clásica. El siguiente es el proceso inverso, que se puede extender fácilmente en presencia de campo eléctrico vía la relación ${\vec{E}=-\nabla\phi-\frac{\partial\vec{A}}{\partial{t}}}$. El detalle está en hallar el potencial V (si existe) tal que la fuerza de Lorentz sea monogénica
\begin{equation}\vec{F}\equiv{e}\,\dot{\vec{r}}\times\left(\nabla\times\vec{A}\right)=-\frac{\partial{V}}{\partial\vec{r}}+\frac{d}{dt}\frac{\partial{V}}{\partial\dot{\vec{r}}}\end{equation} La i-ésima componente de la fuerza es (empleo la suma sobre índices repetidos)
\begin{align}F_i&=e\,\epsilon_{ijk}\dot{r}_j\left(\epsilon_{k\ell{m}}\frac{\partial{A}_\ell}{\partial{r}_m}\right)\nonumber\\
&=e\,\dot{r}_j\,\epsilon_{kij}\epsilon_{k\ell{m}}\frac{\partial{A}_\ell}{\partial{r}_m}\nonumber\\
&=e\dot{r}_j\left(\delta_{i\ell}\delta_{jm}-\delta_{im}\delta_{j\ell}\right)\frac{\partial{A}_\ell}{\partial{r}_m}\nonumber\\
&=e\dot{r}_j\left(\frac{\partial{A}_i}{\partial{r}_j}-\frac{\partial{A}_j}{\partial{r}_i}\right)\nonumber\\
&=e\left[\dot{r}_j\frac{\partial{A}_i}{\partial{r}_j}-\dot{r}_j\frac{\partial{A}_j}{\partial{r}_i}\right]\end{align} y ya que ${\vec{A}=\vec{A}(\vec{r},t)}$, se tiene ${\dot{A}_i=(\partial_jA_i)\dot{r}_j}$, entonces
\begin{equation}F_i=e\left[\frac{dA_i}{dt}-\dot{r}_j\frac{\partial{A}_j}{\partial{r}_i}\right]\end{equation} de modo entonces que por comparación con la primer ecuación, se sigue que
\begin{equation}V=-e\,\dot{r}_iA_i=-e\,\dot{\vec{r}}\cdot\vec{A}\end{equation} por tanto
\begin{equation}\mathcal{L}=\frac{1}{2}m\dot{\vec{r}}^{\,2}+e\,\dot{\vec{r}}\cdot\vec{A}\end{equation} como se esperaba. En la entrada pasada muestro la obtención del hamiltoniano por transformada de Legendre, sin embargo véase que la lagrangiana es de la forma
\begin{equation}\mathcal{L}=\frac{1}{2}\dot{\vec{r}}^{\,\mathrm{T}}\mathbb{M}\,\dot{\vec{r}}+\vec{a}\cdot\dot{\vec{r}}\end{equation} de modo que $\mathcal{H}$ puede escribirse en la forma
\begin{equation}\mathcal{H}=\frac{1}{2}\left(\vec{p}-\vec{a}\right)^\mathrm{T}\mathbb{M}^{-1}\left(\vec{p}-\vec{a}\right)\end{equation} entonces en este caso, ya que ${\mathbb{M}=m\mathbb{I}=m\begin{pmatrix}1&0&0\\
0&1&0\\
0&0&1\end{pmatrix}}$ y ${\vec{a}\equiv{e}\vec{A}}$, se sigue inmediatamente que
\begin{equation}\mathcal{H}=\frac{1}{2m}\left(\vec{p}-e\vec{A}\right)^2\end{equation} como se sabe.

Péndulo con soporte en una parábola oscilante

Este es un problema bastante divertido, cuya solución es análoga a la del péndulo doble. El punto de suspensión de masa $M$ de un péndulo simple de longitud $\ell$ y masa $m$ está restringido a moverse sobre una parábola oscilante dada por \begin{equation}y=\alpha{x}^2+\sin\omega{t}\end{equation} en el plano vertical.

Lo que se quiere es
  1. Obtener el Lagrangiano y el Hamiltoniano del sistema.
  2. Obtener las ecuaciones de movimiento de Lagrange y de Hamilton.
  3. Resolver las ecuaciones de movimiento y visualizar las soluciones.
Para la descripción Lagrangiana se tiene
  • Posición del soporte: $\vec{R}=\begin{cases}X=X(t)\\Y=\alpha{X}^2+\sin\omega{t}\end{cases}$
  • Posición de la masa del péndulo: $\vec{r}=\begin{cases}x=X+\ell\sin\theta\\y=Y-\ell\cos\theta\end{cases}$
  • Elección de coordenadas generalizadas: $\{q_1,q_2\}=\{X(t),\theta(t)\}$
  • Energía Cinética: $T=\frac{1}{2}m\left(\dot{x}^2+\dot{y}^2\right)+\frac{1}{2}M\left(\dot{X}^2+\dot{Y}^2\right)=T\left(X,\dot{X},\theta,\dot{\theta},t\right)$
  • Energía Potencial: $V=g\left(my+MY\right)=V\left(X,\theta,t\right)$
  • Lagrangiana: $\mathcal{L}\equiv{T-V}=\mathcal{L}\left(X,\dot{X},\theta,\dot{\theta},t\right)$
Para pasar a la descripción Hamiltoniana
  • Las fuerzas en el sistema pueden derivarse de $V$
  • $\mathcal{L}=\mathcal{L}\left(\vec{q},\dot{\vec{q}},t\right)\,\Longrightarrow$ No hay coordenadas cíclicas $\Longrightarrow$ No se conserva cantidad alguna
  • $\frac{\partial\vec{R}}{\partial{t}}\neq\vec{0},\,\frac{\partial\vec{r}}{\partial{t}}\neq\vec{0}\;\Longrightarrow\,\mathcal{H}\neq{T+V}=E$
  • $\frac{\partial{E}}{\partial{t}}\neq{0}\,\Longrightarrow\,E=E(t)$
  • Se puede obtener el Hamiltoniano directamente de la definición por transformada de Legendre:
    \begin{align}\mathcal{H}&\equiv\sum_ip_i\dot{q}_i-\mathcal{L}\nonumber\\
    &=p_{_X}\dot{X}+p_{_\theta}\dot{\theta}-\mathcal{L}\left(X,\dot{X},\theta,\dot{\theta},t\right)\end{align} donde
    \begin{equation}p_{_j}=\frac{\partial\mathcal{L}}{\partial\dot{q}_{_j}}\;\Longrightarrow\;\dot{q}_{_j}=\dot{q}_{_j}(q_{_j},p_{_j},t)\;\Longrightarrow\;\mathcal{H}=\mathcal{H}\left(X,p_{_X},\theta,p_{_\theta},t\right)\end{equation}
  • O se puede obtener de la forma
    \begin{equation}\mathcal{H}=\frac{1}{2}\left(\vec{p}-\vec{b}\right)^\mathrm{T}\mathbb{M}^{-1}\left(\vec{p}-\vec{b}\right)
    -\mathcal{L}_0\end{equation}
Para lograr el punto 3., preferí utilizar Mathematica
Mi archivo en Mathematica se ve como sigue (da clic derecho + Ver Imagen para ver el tamaño completo):


El péndulo doble por formalismo de Lagrange

El péndulo doble es un problema que puede simularse fácilmente utilizando el formalismo de Lagrange o de Hamilton. En realidad la generalización a partir de aquí se sigue de forma muy sencilla, de modo que pueden formarse sistemas de muchos péndulos más. Además por supuesto, siempre puede hacerse más específico el problema para alguna situación dada.

Acá muestro el caso más sencillo en formalismo de Lagrange para el péndulo doble en un campo gravitacional constante, en el cual ambas masas son iguales y las longitudes de los trozos de cuerda que las unen con sus orígenes son iguales:

Imagen (si ves este mensaje, recarga la página)

Se tienen dos grados de libertad, ya que cada partícula se ha restringido al plano ${\{x,y\}}$ y a mantener una longitud máxima $\ell$ con su respectivo origen. Así pues, a partir de la figura, se eligen por conveniencia, las coordenadas generalizadas generalizadas, ${\{\theta_1,\;\theta_2\}}$.

Sean $(x_1,y_1)$, $(x_2,y_2)$ las posiciones de las masas ${m_1}$ y ${m_2}$, respectivamente (se sabe que ${m_1=m_2=m}$, por simplicidad, utilizo la notación sólo para distinguir una de otra), entonces
\begin{equation}\begin{array}{ll}x_1=\ell\sin\theta_1&\hspace{0.5in}x_2=\ell\sin\theta_2+x_1\\y_1=-\ell\cos\theta_1&\hspace{0.5in}y_2=-\ell\cos\theta_2+y_1\end{array}\end{equation} y de este modo, se tienen la energía cinética $T$ y la energía potencial $V$ del sistema,
\begin{align}T&\equiv\frac{1}{2}\sum_im_i\left(\dot{x}_i^2+\dot{y}_i^2\right)\nonumber\\&=\frac{1}{2}m\ell^2\left[2\dot{\theta}_1^2+\dot{\theta}_2^2+2\dot{\theta}_1\dot{\theta}_2\cos(\theta_1-\theta_2)\right]\\[0.25in]V&\equiv\sum_im_igy_i\nonumber\\&=-mg\ell(2\cos\theta_1+\cos\theta_2)\end{align} y por tanto, la Lagrangiana del sistema es
\begin{align}\mathcal{L}&\equiv{T}-V\nonumber\\&=\frac{1}{2}m\ell^2\left[2\dot{\theta}_1^2+\dot{\theta}_2^2+2\dot{\theta}_1\dot{\theta}_2\cos(\theta_1-\theta_2)\right]+mg\ell(2\cos\theta_1+\cos\theta_2)\end{align} de donde, ya que $\displaystyle{\frac{\partial\mathcal{L}}{\partial{t}}=0}$, se conserva el Hamiltoniano $\mathcal{H}$ del sistema, esto es
\begin{align}\mathcal{H}&\equiv\sum_i\frac{\partial\mathcal{L}}{\partial\dot\theta_i}\dot\theta_i-\mathcal{L}\nonumber\\[0.1in]&=m\ell^2\dot{\theta}_1\left[2\dot{\theta}_1+\dot{\theta}_2\cos(\theta_1-\theta_2)\right]+ml^2\dot{\theta}_2\left[\dot{\theta}_2+\dot{\theta}_1\cos(\theta_1-\theta_2)\right]-T+V\nonumber\\[0.1in]&=m\ell^2\left[2\dot{\theta}_1^2+\dot{\theta}_2^2+2\dot{\theta}_1\dot{\theta}_2\cos(\theta_1-\theta_2)\right]-T+V\nonumber\\[0.1in]&=T+V\end{align} es decir, la energía total del sistema, lo que se pudo haber deducido por simple inspección, ya que
\begin{equation}\frac{\partial(x_i,y_i)}{\partial{t}}=0,\hspace{0.25in}\frac{\partial{V}}{\partial\dot{\theta}_1}=\frac{\partial{V}}{\partial\dot{\theta}_2}=0\end{equation} además ésta es, aparentemente, la única constante que puede obtenerse, ya que ambas, $\displaystyle{\frac{\partial\mathcal{L}}{\partial\theta_1}},\;\displaystyle{\frac{\partial\mathcal{L}}{\partial\theta_2}}\neq{0}$, por esta razón entonces se recurre a obtener directamente las ecuaciones de movimiento por ecuaciones de Euler-Lagrange,
\begin{align}\frac{\partial\mathcal{L}}{\partial\theta_i}-\frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{\theta}_i}=0\end{align} de donde se siguen las ecuaciones de movimiento
\begin{align}\dot{\theta}_1\dot{\theta}_2\sin(\theta_1-\theta_2)+2\frac{g}{\ell}\sin\theta_1&=2\ddot{\theta}_1+\ddot{\theta}_2\cos(\theta_1-\theta_2)+\dot{\theta}_2\sin(\theta_1-\theta_2)(\dot{\theta}_1-\dot{\theta}_2)\nonumber\\&\\[0.1in]\dot{\theta}_1\dot{\theta}_2\sin(\theta_1-\theta_2)+\frac{g}{\ell}\sin\theta_2&=\ddot{\theta}_2+\ddot{\theta}_1\cos(\theta_1-\theta_2)+\dot{\theta}_1\sin(\theta_1-\theta_2)(\dot{\theta}_1-\dot{\theta}_2)\nonumber\\&\end{align} cuya solución puede encontrarse numéricamente con algún software como Mathematica.

Acá muestro comandos de solución en Mathematica para los valores arbitrarios
$$m=1,\,g=9.81,\;\ell=10,\;\theta_1(0)=\frac{\pi}{3},\;\theta_2(0)=0,\;\dot{\theta}_1(0)=\dot{\theta}_2(0)=-1,\;0\leq{t}\leq{100}$$
SetAttributes[{l, m, g}, Constant];

(*Define las posiciones de ambas masas*)
x1[t_] := l Sin[T1[t]]
y1[t_] := -l Cos[T1[t]]
x2[t_] := l Sin[T2[t]] + x1[t]
y2[t_] := -l Cos[T2[t]] + y1[t]

(*Define la lagrangiana del sistema*)
T = 1/2 m (x1'[t]^2 + x2'[t]^2 + y1'[t]^2 + y2'[t]^2);
V = m g (y1[t] + y2[t]);
L = T - V;

Needs["VariationalMethods`"]
(*Antes compruébese que las ecuaciones de movimiento son correctas*)

g = 9.81; l = 10; tmax = 100; m=1;

(*Resuelve numéricamente para valores arbitrarios*)
Sol = NDSolve[{EulerEquations[L, T1[t], t],
EulerEquations[L, T2[t], t], T1[0] == Pi/3,
T2[0] == 0, T1'[0] == T2'[0] == -1},
{T1[t], T2[t]}, {t, tmax}];

(*Grafica en el espacio [x,y]*)
GraphicsRow[{ParametricPlot[{x1[t], y1[t]} /. {Sol}, {t, 0, tmax},
AxesLabel -> {"x1", "y1"}],
ParametricPlot[{x2[t], y2[t]} /. {Sol}, {t, 0, tmax},
AxesLabel -> {"x2", "y2"}]}, ImageSize -> 1000]

(*Grafica en el espacio [T1,t], [T2,t]*)
GraphicsRow[{Plot[T1[t] /. {Sol}, {t, 0, tmax},
AxesLabel -> {t, T1}],
Plot[T2[t] /. {Sol}, {t, 0, tmax},
AxesLabel -> {t, T2}]}, ImageSize -> 1000]

(*Grafica el espacio de configuraciones*)
ParametricPlot[{T2[t], T1[t]} /. {Sol}, {t, 0, tmax},
AxesLabel -> {T2, T1}, ImageSize -> 1000]

(*Observa la evolución del sistema en el plano [x,y]*)
Manipulate[
ParametricPlot[{{x1[t], y1[t]}, {x2[t], y2[t]}} /. {Sol}, {t, 0, 0 + a},
AxesLabel -> {"x", "y"}], {{a, 0.1, "Animación"}, 0, \[Infinity],
ControlType -> Trigger, PerformanceGoal -> "Quality"}]
Una de las salidas generadas en este caso, en el plano ${\{x,y\}}$ se ve así, para cada masa
Imagen (si ves este mensaje, recarga la página)