/ examples / Old Format / prob_not_solenoidal.py
prob_not_solenoidal.py
 1  from __future__ import print_function
 2  
 3  from sympy import symbols,sin,cos,factor_terms,simplify
 4  from galgebra.printer import enhance_print
 5  from galgebra.deprecated import MV
 6  
 7  def main():
 8      enhance_print()
 9  
10      X = (x,y,z) = symbols('x y z')
11      (ex,ey,ez,grad) = MV.setup('e_x e_y e_z',metric='[1,1,1]',coords=(x,y,z))
12  
13      A = x*(ey^ez) + y*(ez^ex) + z*(ex^ey)
14      print('A =', A)
15      print('grad^A =',(grad^A).simplify())
16      print()
17  
18      f = MV('f','scalar',fct=True)
19      f = (x**2 + y**2 + z**2)**(-1.5)
20      print('f =', f)
21      print('grad*f =',(grad*f).expand())
22      print()
23  
24      B = f*A
25      print('B =', B)
26      print()
27  
28      Curl_B = grad^B
29  
30      print('grad^B =', Curl_B.simplify())
31  
32      def Symplify(A):
33          return(factor_terms(simplify(A)))
34  
35      print(Curl_B.func(Symplify))
36      return
37  
38  if __name__ == "__main__":
39      main()