single-particle-motion/zemlja.py

33 lines
699 B
Python

#!/usr/bin/python3
### koda za generiranje rezultatov za seminar
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font',**{'family':'serif','serif':['Computer Modern']})
rc('text', usetex=True)
from boris import *
Rz = 6378137 # radii zemlje [m]
q = e
m = m_pr
K = 1e7 # kineticna energija 10MeV
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
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
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)