
    sg                        d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZmZ d dlmZ  ed      Z ed      Zej1                  d	d
eej2                  g      Zd Zd Zd Zded    dz  z  ed   z  ed   z  Z eee      Zed   dz  ej@                  z  ded    z  ejB                  z  z   ded   z  ed   z  ej2                  z  z   Z" ee"e      Z#d Z$d Z%d Z&d Z'y)    )S)Symbol)cossin)ReferenceFrameVectorPointdynamicsymbols)
divergencegradientcurlis_conservativeis_solenoidalscalar_potentialscalar_potential_difference)raisesRqPAxisc                  n   t        t        d      t              t        d      k(  sJ t        t        j                  t              t        d      k(  sJ t        dt        d   dz  z  t        j                  z  t              t        d      k(  sJ t        t        d   t        d   z  t        j
                  z  t              t        d   t        j                  z  t        d   t        j                  z  z
  k(  sJ t        t        d   t        d   z  t        d   z  t        j                  t        j                  z   t        j
                  z   z  t              t        d    t        d   z  t        d   t        d   z  z   t        j                  z  t        d   t        d   z  t        d   t        d   z  z
  t        j                  z  z   t        d    t        d   z  t        d   t        d   z  z   t        j
                  z  z   k(  sJ t        dt        d   dz  z  t        j                  z  t              dt        d   z  t        j
                  z  k(  sJ t        t        d   dz  t        j                  z  t        j                  z   t              dt        d   t        t              z  t        d   t        t              z  z   z  t        t              z  t        j
                  z  k(  sJ t        t        d   t        j                  z  t              t        t              t        j
                  z  k(  sJ y )Nr            )
r   r   r   xyzr   r   r   r        a/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/vector/tests/test_fieldfunctions.py	test_curlr"      sK   q	1***Q<6!9$$$!A$'	!##q!VAY...!QqT	!##q!QqT!##X!QSS%8888!QqT	!A$!##acc'!##+.2qTE!A$J1ad"ACC'1Q4!9qtAaDy+@!##*EEqTE!A$J1ad"ACC'(( ( ( !A$'	!##q!QqtVACCZ///!aacc!1%!SVad3q6k)*3q61!##56 6 6!QSS!Aqss
***r    c                     t        t        d      t              t        j                  u sJ t        t        j
                  t              t        j                  u sJ t        t        d   dz  t        j
                  z  t              dt        d   z  k(  sJ t        t        d   t        d   z  t        d   z  t        j
                  t        j                  z   t        j                  z   z  t              t        d   t        d   z  t        d   t        d   z  z   t        d   t        d   z  z   k(  sJ t        dt        d   t        d   z  t        d   z  z  t        j
                  t        j                  z   t        j                  z   z  t              dt        d   t        d   z  t        d   dz  z  z  dt        d   t        d   dz  z  t        d   z  z  z
  dt        d   dz  t        d   z  t        d   z  z  z
  k(  sJ t        d   t        j
                  z  t        d   t        j                  z  z   t        d   t        j                  z  z   } t        | t              dk(  sJ t        | t              j                         dk(  sJ t        t        d   t        j
                  z  t        d   t        j
                  z  z   t              dt        t              z  k(  sJ y )Nr   r   r      )r   r   r   r   Zeror   r   r   r   simplifyr   r   )vs    r!   test_divergencer)      s7   fQi#qvv---acc1'''adAgacck1%1Q4///ad1Q4i!nACC4a8Q4!9qtAaDy 1Q4!9,- - -q!A$qt)AaD.)acc!##gacck:A>qtAaDy1q !AqtAaD!G|AaD'8$99adAgadl1Q4 !! ! ! 	
!QSS1Q48ad133h&Aaq   a$$&!+++ad133h1acc)1-3q6999r    c                     t        d      } t        dt              t        d      k(  sJ t        t        d   t              t        j                  k(  sJ t        t        d   t        d   z  t        d   z  t              t        d   t        d   z  t        j                  z  t        d   t        d   z  t        j
                  z  z   t        d   t        d   z  t        j                  z  z   k(  sJ t        dt        d   dz  z  t              dt        d   z  t        j                  z  k(  sJ t        | t        t        d         z  t        d   z  t              |  t        t        d         z  t        d   dz  z  t        j                  z  | t        t        d         z  t        d   z  t        j
                  z  z   k(  sJ t        t        d   t        d   z  t              t        d    t        t              z  t        d   t        t              z  z   t        t              z  t        d   t        t              z  t        d   t        t              z  z   t        t              z  z
  t        j                  z  t        d    t        t              z  t        d   t        t              z  z   t        t              z  t        d   t        t              z  t        d   t        t              z  z   t        t              z  z   t        j
                  z  z   k(  sJ t        t        d   t        d   z  t              t        d   t        j                  z  t        d   t        j                  z  z   k(  sJ y )Nar   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )r+   s    r!   test_gradientr,   -   s   sAAq>VAY&&&AaD!###AaD1IadNA&Q4!9QSS=1Q4!9QSS=(1Q4!9QSS=89 9 9AadAgIq!QqtVACCZ///Ac!A$iK!$a(3s1Q4y=1q $qQqT{1Q4'7';;< < <AaD1Iq!dU3q6\AaDQK'Q/1Q4A;1c!f3LcRSf2TTVWVYVYYdU3q6\AaDQK'Q/1Q4A;1c!f3LcRSf2TTVWVYVYYZZ Z Z AaD1Iq!QqT!##X!QSS%8888r    r   r   r%      c                     t        d      du sJ t        t        j                        du sJ t        dt        j                  z  dt        j                  z  z   dt        j                  z  z         du sJ t        t        d   t        d   z  t        j                  z  t        d   t        d   z  t        j                  z  z   t        d   t        d   z  t        j                  z  z         du sJ t        t        d   t        j                  z        du sJ t        t
              du sJ t        t              du sJ t        dt        d   z  t        d   z  t        d   z  t        j                  z  dt        d   dz  z  t        d   z  t        j                  z  z         du sJ t        t        d   t        j                  z  t        d   t        j                  z  z         du sJ y )Nr   Tr   r%   r   r   F)r   r   r   r   r   
grad_field
curl_fieldr   r   r    r!   test_conservativer1   B   s   1%%%1334'''1qss7QW,q133w674???1Q4!9QSS=1Q4!9QSS=81Q4!9QSS=HI  1Q4!##:&%///:&$...:&%///1QqT6!A$;qt+ACC/!AaD!G)AaD.2DDE ! ! !1Q48ad133h./4777r    c                  8   t        d      du sJ t        t        j                        du sJ t        dt        j                  z  dt        j                  z  z   dt        j                  z  z         du sJ t        t        d   t        d   z  t        j                  z  t        d   t        d   z  t        j                  z  z   t        d   t        d   z  t        j                  z  z         du sJ t        t        d   t        j                  z        du sJ t        t
              du sJ t        t              du sJ t        dt        d   z  dz   t        j                  z        du sJ t        t        t              t        j                  z  t        t              t        j                  z  z   t        t              t        j                  z  z         du sJ t        t        d   t        j                  z  t        d   t        j                  z  z         du sJ y )	Nr   Tr   r%   r   r   Fr   )r   r   r   r   r   r/   r0   r   r   r   r   r   r    r!   test_solenoidalr3   P   s   t###%%%QSS1qss7*QW45===1ad1331ad13361ad133FG  1$---$---$,,,"QqT'A+qss*+t333Qc!fQSSj03q6!##:=>$FFF1accAaDH,-555r    c                     t        dt              dk(  sJ t        t        j                  t              t        d   k(  sJ t        t        j                  t              t        d   k(  sJ t        t        j                  t              t        d   k(  sJ t        t        d   t        d   z  t        j                  z  t        d   t        d   z  t        j                  z  z   t        d   t        d   z  t        j                  z  z   t              t        d   t        d   z  t        d   z  k(  sJ t        t
        t              t        k(  sJ t        t        d   t        j                  z  t        d   t        j                  z  z   t              t        d   t        d   z  t        t              z  t        d   t        d   z  t        t              z  z   k(  sJ t        t        d   t        j                  z  t        d   t        j                  z  z   t              t        d   t        d   z  k(  sJ t        t        d        y )Nr   r   r   c                  R    t        t        d   t        j                  z  t              S )Nr   )r   r   r   r   r    r!   <lambda>z'test_scalar_potential.<locals>.<lambda>i   s    /!qss
A> r    )r   r   r   r   r   r/   scalar_fieldr   r   r   r   r   
ValueErrorr   r    r!   test_scalar_potentialr9   ^   s   Aq!Q&&&ACC#qt+++ACC#qt+++ACC#qt+++AaD1IaccMAaD1IaccM9aD1IaccM*+,.121ad1Q4@ @ @J*l:::AaDHqtACCx/3Q4!9SVad1Q4iA../ / /AaDHqtACCx/3qtAaDy@@@
:>?r    c                  P   t        d      } | j                  ddt        j                  z  dt        j                  z  z   dt        j
                  z  z         }| j                  ddt        j                  z  dt        j                  z  z   d	t        j
                  z  z         }| j                  d
t        d   t        j                  z  t        d   t        j                  z  z   t        d   t        j
                  z  z         }| j                  dt        d   t        j                  z  t        d   t        j                  z  z   t        d   t        j
                  z  z         }t        t        j                  t        |||       dk(  sJ t        t        t        | ||       t        k(  sJ t        t        t        | ||       t        k(  sJ t        t        t        |||       dk(  sJ t        t        d   t        d   z  t        j                  z  t        d   t        d   z  t        j                  z  z   t        d   t        d   z  t        j
                  z  z   t        |||       t        d   t        d   z  t        d   z  d	z
  k(  sJ dt        d   z  t        d   t        t              z  t        d   t        t              z  z   z  t        d   t        t              z  t        d   t        t              z  z
  dz  z  }t        t        t        | ||       j                         |k(  sJ y )NOP1r   r   r%   P2r   r-      RPr   PPi  )r	   	locatenewr   r   r   r   r   r   r   r&   r7   r/   r   r   r   r'   )originpoint1point2genericpointRgenericpointPpotential_diff_Ps         r!    test_scalar_potential_differencerH   l   s   3ZFdAaccEAaccEMAaccE$9:FdAaccEAaccEMAaccE$9:F$$T1Q48ad133h+>1acc+IJM$$T1Q48ad133h+>1acc+IJM&qvvq&&'-/234 4 4&|Q'4f>'34 4 4 'z1f'4f>'34 4 4 'z1ff'-/256 6 6&qtAaDy}qtAaDy}'D'(tAaDy}(567'4f> ()tAaDy1~'9: : : 1vqtCF{QqT#a&[89!SVad3q6k1A56&z1f'4'-//7xz'78 8 8r    N)(sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.trigonometricr   r   sympy.physics.vectorr   r   r	   r
   #sympy.physics.vector.fieldfunctionsr   r   r   r   r   r   r   sympy.testing.pytestr   r   r   	orientnewr   r   r"   r)   r,   r7   r/   r   r   vector_fieldr0   r1   r3   r9   rH   r   r    r!   <module>rQ      s   " $ ? 3 3 3 (33KKVaX&+:9 1qy1~ad"lA&
tQwqss{QqtVACCZ'!AaD&1+acc/9,"
86@8r    