
from SpiresCoaxiales import *
import numpy
from matplotlib.pyplot import *

systeme = SystemeSpires(-5.0,5.0,-5.0,5.0)
systeme.ajouter(Spire(1.0,0.0,1.0))
z = numpy.arange(-10.0,10.0,0.01)
bz = systeme.Bz_z(0.0,z)
figure()
plot(z,bz)
xlabel(r"$z/a$")
ylabel(r"$B_z/B_0$")
grid()
            

bz_axe = numpy.pi/(1+z**2)**1.5
figure()
plot(z,bz)
plot(z,bz_axe,'r--')
xlabel(r"$z/a$")
ylabel(r"$B_z/B_0$")
grid()
            

x = numpy.arange(-3.0,3.0,0.01)
bz = systeme.Bz_x(x,0.1)
figure()
plot(x,bz)
xlabel(r"$x/a$")
ylabel(r"$B_z/B_0$")
grid()
            

bx = systeme.Bx_x(x,1.0)
figure()
plot(x,bx)
xlabel(r"$x/a$")
ylabel(r"$B_z/B_0$")
grid()
            

figure(figsize=(7,7))
systeme.plot_lignes([[0.0,0.0],[0.1,0.0],[0.3,0.0],[0.5,0.0],[0.7,0.0],[0.9,0.0]],'b')
axis([-5.0,5.0,-5.0,5.0])
grid()
xlabel('z/a')
ylabel('x/a')
            

figure()
tmax=200.0
te=0.1
alpha = 1.0
r0 = 0.00
z0 = -4.0
dz0 =2.0
[r,theta,z] = systeme.trajectoire(alpha,r0,z0,0.05,dz0,tmax,te)
plot(z,r,'r')
[r,theta,z] = systeme.trajectoire(alpha,r0,z0,0.02,dz0,tmax,te)
plot(z,r,'g')
[r,theta,z] = systeme.trajectoire(alpha,r0,z0,0.1,dz0,tmax,te)
plot(z,r,'b')
axis([-5.0,5.0,-1.0,1.0])
xlabel('z/a')
ylabel('x/a')
grid()
            
