dodal neki plotov za porocilo
parent
747903f4e3
commit
db6af93ee8
Binary file not shown.
9
boris.py
9
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()
|
||||
|
||||
|
||||
|
|
17
report.py
17
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')
|
||||
|
|
Binary file not shown.
Binary file not shown.
24
zemlja.py
24
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')
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue