
    sgx                     F    d dl mZ d dlmZ d dlmZmZmZ d dlmZmZ d Z	y)    )symbols)dynamicsymbols)ReferenceFramePointParticle)LagrangesMethod
Lagrangianc                  >   t        d      \  } }t        dd      \  }}t        d      \  }}}t        d      }t        d      }|j	                  d| |j
                  z        }	|	j                  |||j
                  z         |j	                  d||j
                  z        }
|
j                  |||j
                  z         t        d|	|      }|| dz  z  dz  |_        t        d	|
|      }|| |z
  dz  z  dz  |_        |	| |z  |j
                  z  f|
| |z  |j
                  z  fg}t        |||      }t        || |f||
      }|j                          |j                  d   }|j                  |      |k(  sJ |j                  d   }|j                  |      |k(  sJ y )Nzq1, q2   zm, k, nuNOP1pP1   pP2)	forcelistframer   )r   r   r   r   	locatenewxset_velr   potential_energyr	   r   form_lagranges_equationseomdiff)q1q2q1dq2dmknur   r   r   P2r   r   r   lagl_methodeq1eq2s                     _/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_lagrange2.pytest_lagrange_2forcesr(   	   s    H%FBh*HC z"HAq"sAc
A 
T28	$BJJq#)	
T28	$BJJq#)
5"a
 Cr1u9q=C
5"a
 CR!|+a/C dSj133&'dSj133&')I
QS
!CsRH	KH%%'
,,q/C88C=B
,,q/C88C=B    N)
sympyr   sympy.physics.mechanicsr   r   r   r   r   r	   r(    r)   r'   <module>r-      s     2 C C ?
%r)   