from numpy import *
%pylab inline
import sympy as s
from sympy.abc import theta
r, mu, i, d, k, eps, w = s.symbols('r \mu_0 I_0 d k \epsilon_0 \omega')
s.init_printing()
A_r = mu*i*d*s.exp(-s.I*k*r)/(4*s.pi*r)*s.cos(theta)
A_th = -mu*i*d*s.exp(-s.I*k*r)/(4*s.pi*r)*s.sin(theta)
dA_rdr = s.diff( (r*r)*A_r, r)
dA_thdth = s.diff( A_th*s.sin(theta), theta)
div_A = s.simplify((1/r**2)*dA_rdr + 1/(r*s.sin(theta))*dA_thdth)
print "div A = ",
div_A
grad_r_div_A = s.diff(div_A,r)
grad_th_div_A = s.diff(div_A,theta)/r
res_r = s.simplify(1/(s.I * w * mu * eps) * grad_r_div_A - s.I * w * A_r)
res_th = s.simplify(1/(s.I * w * mu * eps) * grad_th_div_A - s.I * w * A_th)
res_th
res_r
def poynting_mag(W,r):
return W/(4*pi*r**2)
def peak_E(W,r):
return sqrt(poynting_mag(W,r)*377)
print "Magnitude of poynting vector: %.2e J/m^2"%poynting_mag(1e3,1e3)
print "Peak E field: %.2e V/m"%peak_E(1e3,1e3)