
    g!&h
                     l    d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZ d Zd Zd Zd Zy	)
    )raises)symbols)	RigidBodyParticleReferenceFramePointouterdynamicsymbolsForceTorque)gravity_parse_loadc                  T   t        d      } t        d      }t        || j                        }|j                  |k(  sJ |j
                  | j                  k(  sJ |j                         dk(  sJ t        |t              sJ |d   |k(  sJ |d   | j                  k(  sJ ||| j                  fk(  sJ || j                  |fk7  sJ ||| j                  | j                  z   fk7  sJ |t        d      | j                  fk7  sJ t        d|      }t        || j                        }||k(  sJ y )NNPozForce(point=Po, force=N.x)r      CoP)r   r   r   xpointforce__repr__
isinstancetupleyr   )r   r   f1r   f2s        ~/var/www/pru.catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_loads.pytest_force_defaultr   	   s   sA	tB	r133B88r>>88qss??;;=8888b%   a5B;;a5ACC<<"acc??!##r??"accACCi   %+qss####bA	q!##B8O8    c                  @   t        d      } t        | | j                        }|j                  | k(  sJ |j                  | j                  k(  sJ |j                         dk(  sJ t        |t              sJ |d   | k(  sJ |d   | j                  k(  sJ || | j                  fk(  sJ || j                  | fk7  sJ || | j                  | j                  z   fk7  sJ |t        d      | j                  fk7  sJ t        d|       }t        || j                        }||k(  sJ y )Nr   zTorque(frame=N, torque=N.x)r   r   Ar   )frame)
r   r   r   r#   torquer   r   r   r   r   )r   r   rbr   s       r   test_torque_defaultr&      s   sA	133B88q==99;;=9999b%   a5A::a5ACC<<!QSS>>!##q>>!QSS133Y.%qss++++	3a	 B	ACCB8O8r    c                  `   t        d      } t        d      \  }}}t        d      \  }}t        d      }t	        d||      }t        d      }t        d      }	t        |j                  |j                        }
t        d|	|||
|	f      }||f|	|fg}|j                  t        || j                  z  ||             ||f|	|f|||z  | j                  z  f|	||z  | j                  z  fg}t        t        |            D ]1  }t        t        ||               D ]  }||   |   ||   |   k(  rJ  3 y )	Nr   zm M gzF1 F2popar"   r   B)r   r   r
   r   r   r	   r   r   extendr   r   rangelen)r   mMgF1F2r(   r)   r"   r   Ir*   	forceListlijs                   r   test_gravityr8   2   s7   sAgGAq!G$FB	tB	$A	BsAc
Aacc133A#q!QA'AbAr7#IWQWb!,-
bAr7RQ-1q5133;/?@A3q6] .s1Q4y! 	.AQ<?ad1g---	..r    c                     t        d      t        d      t        t        j                              j                  fk(  sJ t        t        j                              j                  fk(  sJ t        j                  f      } t        | t              sJ | t        j                        k(  sJ t        j                  f      }t        |t
              sJ |t        j                        k(  sJ t        t        fd       t        t        fd       t        t        fd       t        t        fd       y )Nr   r(   c                  F    t        t        d       j                  f      S Nr)   )r   r   r   r   r(   s   r   <lambda>z"test_parse_loads.<locals>.<lambda>Q   s    {HT2,>+DE r    c                  H    t        t        d        j                  f      S r;   )r   r   r   r<   s   r   r=   z"test_parse_loads.<locals>.<lambda>R   s    {IdB,BACC+HI r    c                  J    t         j                   j                  f      S Nr   r   r<   s   r   r=   z"test_parse_loads.<locals>.<lambda>T   s    {BR+=> r    c                  2    t         j                  g      S r@   rA   r<   s   r   r=   z"test_parse_loads.<locals>.<lambda>V   s    k2qss)4 r    )r   r   r   r   zr   r   r   r   r   
ValueError	TypeError)r   t1r   r(   s     @@r   test_parse_loadsrG   E   s    sA	tBuR~&2qss)333va~&1acc(222	b!##Y	Bb%   r133	aX	Bb&!!!133
:EF
:IJ
:>?
945r    N)pytestr   sympyr   sympy.physics.mechanicsr   r   r   r   r	   r
   r   r   sympy.physics.mechanics.loadsr   r   r   r&   r8   rG    r    r   <module>rM      s4     K K K >*(.&6r    