Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. from numba import jit
  2. from scipy.integrate import quad
  3. import numpy as np
  4.  
  5. @jit(nopython = True)
  6. def integrand1(x,e,delta,r):
  7. return (-2*np.sqrt(e*r)/np.pi)*(x/np.sqrt(1-x**2))/(1+(delta+2*x*np.sqrt(e*r))**2)
  8.  
  9. @jit(nopython = True)
  10. def f1(e,delta,r):
  11. return quad(integrand1, -1, 1, args=(e,delta,r))[0]
  12.  
  13. @jit(nopython = True)
  14. def runge1(e,dtau,delta,r):
  15. k1 = f1(e,delta,r)
  16. k2 = f1((e+k1*dtau/2),delta,r)
  17. k3 = f1((e+k2*dtau/2),delta,r)
  18. k4 = f1((e+k3*dtau),delta,r)
  19. return e + (dtau/6)*(k1+2*k2+2*k3+k4)
  20.  
  21. time_steps = 60
  22. e = 10
  23. dtau=1
  24. r=1
  25. delta=-1
  26.  
  27. e_array = np.zeros(time_steps)
  28. time = np.zeros(time_steps)
  29. for i in range(time_steps):
  30. e_array[i] = e
  31. time[i] = i*dtau
  32. e = runge1(e,dtau,delta,r)
  33.  
  34. e_array = pythoncode.py(time_steps = 60, e = 10, dtau = 1, r = 1, delta = -1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement