o
    h                     @   s4   d dl mZmZ d dlmZ d dlmZ dd ZdS )    )Symbolsymbols)Truss)sqrtc            
      C   s
  t d} t d}t d}td\}}}t d}t }|jg ks!J |jg ks(J |jg ks/J |ji ks6J |ji ks=J |ji ksDJ |j	i ksKJ |j
i ksRJ || ddf|ddf|ddf |j| ddf|ddf|ddfgksuJ |j| ||gksJ |jg d	ksJ |ji ksJ |ji ksJ |j	i ksJ || |j| ddf|ddfgksJ |j| |gksJ |jd
dgksJ |ji ksJ |ji ksJ ||ddf ||| |f|||f|| |f |j|| |g|||g|| |giksJ |j
|d|d|diks
J || |j|| |g|| |giksJ |j
|d|diks+J ||||f td\}}	|||f |j| ddf|ddf|ddfgksTJ |j| ||gks_J |ji ksgJ |ji ksoJ |j|| |g|||g|| |giksJ |||	f |j|| |g|	||g|| |giksJ |j
|d|	d|diksJ || |df| |d df| d| df||d df |j| |dg|d dgd| dgg||d dggiksJ |j|  |dg|d dgd| dggksJ || |d df |j| |dgd| dgg||d dggiksJ |j|  |dgd| dggks0J || df|df |j| d|diksFJ |j	i ksNJ |j| |dgd| dgt ddgt ddgg||d dgt ddggiksvJ ||  |j|diksJ |j	i ksJ |j| |dgd| dgg||d dgt ddggiksJ || df |  |j	d td | ksJ |j	d td | | ksJ |j	d | d ksJ |j
| | dksJ |j
|	 dksJ |j
| dksJ d S )NABCz
AB, BC, ACPr         )r   r   r
   r
   )r   r   r   r   zD, CDZ      -   pinnedrollerR_A_xR_A_yR_D_y)r   r   r   nodesnode_labelsnode_positionsmembersloadssupportsreaction_loadsinternal_forcesadd_noderemove_node
add_memberremove_memberchange_node_labelchange_member_label
apply_loadremove_loadapply_supportremove_supportsolver   )
r   r   r   ABBCACr	   tDCD r/   f/var/www/vscode/kcb/lib/python3.10/site-packages/sympy/physics/continuum_mechanics/tests/test_truss.py
test_truss   s    &
 &
 (((4<.2$P
<"r1   N)sympy.core.symbolr   r   'sympy.physics.continuum_mechanics.trussr   sympyr   r1   r/   r/   r/   r0   <module>   s    