diff --git a/__pycache__/boris.cpython-37.pyc b/__pycache__/boris.cpython-37.pyc index e9bc86a..29e0a13 100644 Binary files a/__pycache__/boris.cpython-37.pyc and b/__pycache__/boris.cpython-37.pyc differ diff --git a/boris.py b/boris.py index a478979..650fe2e 100644 --- a/boris.py +++ b/boris.py @@ -66,6 +66,7 @@ def plot3(X,enote='m',zemlja=False): y = np.outer(np.sin(u), np.sin(v)) z = np.outer(np.ones(np.size(u)), np.cos(v)) ax.plot_surface(x,y,z,zorder=-4) + #ax.set_box_aspect(np.ptp(X,axis=0)) ax.plot(X[:,0],X[:,1],X[:,2],zorder=4) ax.set_xlabel(r'$x$ [{}]'.format(enote)) @@ -74,17 +75,19 @@ def plot3(X,enote='m',zemlja=False): plt.show() -def rplot(X, enote='m', xy=[0,1],os='xy'): +def rplot(X, enote='m', xy=[0,1],os='xy', fname=None): fig = plt.figure() ax = fig.subplots() ax.plot(X[:,xy[0]],X[:,xy[1]], 'k') ax.grid() dx = X[-1,xy[0]]-X[-2,xy[0]] dy = X[-1,xy[1]]-X[-2,xy[1]] - ax.arrow(X[-1,xy[0]],X[-1,xy[1]],dx,dy,head_width=0.1,head_length=0.2, - overhang=0.3, zorder=10,color='k') + #ax.arrow(X[-1,xy[0]],X[-1,xy[1]],dx,dy,head_width=0.1,head_length=0.2, + # overhang=0.3, zorder=10,color='k') ax.set_xlabel(r'${}$ [{}]'.format(os[0],enote)) ax.set_ylabel(r'${}$ [{}]'.format(os[1],enote)) + if fname: + plt.savefig(fname,bbox_inches='tight') plt.show() diff --git a/radii.pdf b/radii.pdf new file mode 100644 index 0000000..c1d8a3b Binary files /dev/null and b/radii.pdf differ diff --git a/report.py b/report.py index d4f97f1..edd73ce 100644 --- a/report.py +++ b/report.py @@ -12,12 +12,17 @@ B = lambda x: np.array([0.,0.,x[0]**2+x[1]**2]) E = lambda x: np.array([0.,0.,0.]) x0 = np.array([0.,-1.,0.]) -v0 = np.array([0.,1.,0.]) - -B = lambda x: np.array([0.,0.,1.]) -E = lambda x: np.array([0.,-1.,0.]) -E = lambda x: np.array([np.cos(x[0]),0.3,0.]) -X,V = boris(x0,v0,E,B,1e-3, 100) +v0 = np.array([-0.2,2.5,0.]) +X,V = boris(x0,v0,E,B,1e-2, 100) plot3(X) rplot(X) + +B = lambda x: np.array([0.,0.,1.]) +E = lambda x: np.array([-0.,0.8,0.]) +x0 = np.array([0.,0.,0.]) +v0 = np.array([0.,2.5,0.]) +X,V = boris(x0,v0,E,B,1e-2, 20) + +plot3(X) +rplot(X,fname='statika.pdf') diff --git a/statika.pdf b/statika.pdf new file mode 100644 index 0000000..dcf1118 Binary files /dev/null and b/statika.pdf differ diff --git a/zemlja.pdf b/zemlja.pdf new file mode 100644 index 0000000..acb6330 Binary files /dev/null and b/zemlja.pdf differ diff --git a/zemlja.py b/zemlja.py index f9fffb8..c5c3fc3 100644 --- a/zemlja.py +++ b/zemlja.py @@ -19,8 +19,9 @@ K = K*e # v Jouleih get_v0 = lambda K: c*np.sqrt(1-1/(K/(m*c**2)+1)**2) -x0 = np.array([4*Rz,0.,0.]) -vpad = 30 + +x0 = np.array([2*Rz,0.,0.]) +vpad = 45 v0 = get_v0(K)*np.array([0., np.sin(vpad*np.pi/180), np.cos(vpad*np.pi/180)]) E = lambda x: np.array([0.,0.,0.]) # elektricno polje je nula @@ -28,5 +29,22 @@ dt = 1e-3 tsim = 20 X, V = boris(x0, v0, E, B_zemlja, dt, tsim, q=q,m=m) -plot3(X/Rz,enote="Rz", zemlja=True) +x0 = np.array([4*Rz,0.,0.]) +X2, V2 = boris(x0, v0, E, B_zemlja, dt, tsim, q=q,m=m) +def plot(X,X2,r=[2,4], fname=None): + fig = plt.figure() + ax = fig.subplots() + ax.plot(X[:,0],X[:,1],label='${}R_z$'.format(r[0])) + ax.plot(X2[:,0],X2[:,1],label='${}R_z$'.format(r[1])) + ax.grid() + ax.set_xlabel(r'$x$ [$R_z$]') + ax.set_ylabel(r'$y$ [$R_z$]') + ax.legend() + if fname: + plt.savefig(fname,bbox_inches='tight') + plt.show() + +plot3(X2/Rz, enote="$R_z$",zemlja=True) + +plot(X/Rz,X2/Rz,fname='radii.pdf') diff --git a/zemlja2.pdf b/zemlja2.pdf new file mode 100644 index 0000000..a8499ca Binary files /dev/null and b/zemlja2.pdf differ