vilasini97

Untitled

Jul 8th, 2017
422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.44 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import math
  4.  
  5. #constants used
  6. H = 2.27e-18
  7. l = 1.5
  8. G = 6.637*(10**(-11))
  9. k = (8*3.14*G)**0.5
  10. om_de = 0.75
  11. omega_matter = 1 - om_de
  12. w0 = -0.85
  13. rho_c = 3*(H**2)/(k**2)
  14. c = ((om_de*(1 + w0)*rho_c)/(H**2))**0.5
  15. v0 = (om_de*(1 - w0)*rho_c)/(2*np.exp(-l*k))
  16.  
  17. #for iteration
  18. p = 0.0
  19. q = 1.0
  20. n = 10000.0
  21.  
  22. def f(y1,y2,y3):
  23.     return y1*(omega_matter/(y1**3) + (H**2)*(y3**2)/(2.0*rho_c) + (v0*np.exp(-l*y2*k))/(rho_c))**(1.0/2.0)
  24.    
  25. def g(y3):
  26.     return y3
  27.    
  28. def h(y1,y2,y3):
  29.     return -3*y3*(H**2)*(omega_matter/(y1**3) + (H**2)*(y3**2)/(2.0*rho_c) + (v0*np.exp(-l*y2*k))/(rho_c))**0.5 + (l*k*v0*np.exp(-l*y2*k))/(H**2)
  30.  
  31. #initial conditions
  32. y1 = [1.0]
  33. y2 = [1.0]
  34. y3 = [c]
  35.  
  36. #the parameters for integration
  37. dh = -(q-p)/n  
  38.  
  39. for j in range(0,int(n)):
  40.     k1 = f(y1[j],y2[j],y3[j])
  41.     r1 = g(y3[j])
  42.     s1 = h(y1[j],y2[j],y3[j])
  43.     k2 = f(y1[j] + k1*dh/2.0,y2[j] + r1*dh/2.0,y3[j] + s1*dh/2.0)
  44.     r2 = g(y3[j] + s1*dh/2.0)
  45.     s2 = h(y1[j] + k1*dh/2.0,y2[j] + r1*dh/2.0,y3[j] + s1*dh/2.0)
  46.     k3 = f(y1[j] + k2*dh/2.0,y2[j] + r2*dh/2.0,y3[j] + s2*dh/2.0)
  47.     r3 = g(y3[j] + s2*dh/2.0)
  48.     s3 = h(y1[j] + k2*dh/2.0,y2[j] + r2*dh/2.0,y3[j] + s2*dh/2.0)
  49.     k4 = f(y1[j] + dh*k3,y2[j] + dh*r3,y3[j] + dh*s3)
  50.     r4 = g(y3[j] + dh*s3)
  51.     s4 = h(y1[j] + dh*k3,y2[j] + dh*r3,y3[j] + dh*s3)
  52.     y1 == y1.append(y1[j] + (dh/6.0)*(k1 + 2.0*k2 + 2.0*k3 + k4))
  53.     y2 == y2.append(y2[j] + (dh/6.0)*(r1 + 2.0*r2 + 2.0*r3 + r4))
  54.     y3 == y3.append(y3[j] + (dh/6.0)*(s1 + 2.0*s2 + 2.0*s3 + s4))
  55.    
  56. def F(Y1,Y2,Y3):
  57.     return Y1*(omega_matter/(Y1**3) + (H**2)*(Y3**2)/(2.0*rho_c) + (v0*np.exp(-l*Y2*k))/(rho_c))**(1.0/2.0)
  58.    
  59. def G(Y3):
  60.     return Y3
  61.    
  62. def H(Y1,Y2,Y3):
  63.     return -3*Y3*(H**2)*(omega_matter/(Y1**3) + (H**2)*(Y3**2)/(2.0*rho_c) + (v0*np.exp(-l*Y2*k))/(rho_c))**0.5 + (l*k*v0*np.exp(-l*Y2*k))/(H**2)
  64.    
  65. dH = (q-p)/n
  66. Y1 = [y1[j]]
  67. Y2 = [y2[j]]
  68. Y3 = [y3[j]]
  69. print(Y1,Y2,Y3)
  70. abc = Y1*Y2
  71. print (abc)
  72.  
  73. for i in range(0,int(n)):
  74.     K1 = F(Y1[i],Y2[i],Y3[i])
  75.     R1 = G(Y3[i])
  76.     S1 = H(Y1[i],Y2[i],Y3[i])
  77.     K2 = F(Y1[i] + K1*dH/2.0,Y2[i] + R1*dH/2.0,Y3[i] + S1*dH/2.0)
  78.     R2 = G(Y3[i] + Y1*dH/2.0)
  79.     S2 = H(Y1[i] + K1*dH/2.0,Y2[i] + R1*dH/2.0,Y3[i] + S1*dH/2.0)
  80.     K3 = F(Y1[i] + K2*dH/2.0,Y2[i] + R2*dH/2.0,Y3[i] + S2*dH/2.0)
  81.     R3 = G(Y3[i] + S2*dH/2.0)
  82.     S3 = H(Y1[i] + K2*dH/2.0,Y2[i] + R2*dH/2.0,Y3[i] + S2*dH/2.0)
  83.     K4 = F(Y1[i] + dH*K3,Y2[i] + dH*R3,Y3[i] + dH*S3)
  84.     R4 = G(Y3[i] + dH*S3)
  85.     S4 = H(Y1[i] + dH*K3,Y2[i] + dH*R3,Y3[i] + dH*S3)
  86.     Y1 == Y1.append(Y1[i] + (dH/6.0)*(K1 + 2.0*K2 + 2.0*K3 + K4))
  87.     Y2 == Y2.append(Y2[i] + (dH/6.0)*(R1 + 2.0*R2 + 2.0*R3 + R4))
  88.     Y3 == Y3.append(Y3[i] + (dH/6.0)*(S1 + 2.0*S2 + 2.0*S3 + S4))          
  89.  
  90. #other calculations    
  91. A = [(H)*((omega_matter/(y1[i]**3) + (H**2)*(y3[i]**2)/(2.0*rho_c) + (v0*np.exp(-l*y2[i]*k))/(rho_c))**(1.0/2.0)) for i in range(len(y3))]
  92. A_1 = [(H)*((omega_matter/(Y1[i]**3) + (H**2)*(Y3[i]**2)/(2.0*rho_c) + (v0*np.exp(-l*Y2[i]*k))/(rho_c))**(1.0/2.0)) for i in range(len(Y3))]
  93.  
  94. B = [y2[i]/(10**4) for i in range(len(y2))]
  95. B_1 = [Y2[i]/(10**4) for i in range(len(Y2))]
  96.  
  97. C = [y3[i]/(10**4) for i in range(len(y3))]
  98. C_1 = [Y3[i]/(10**4) for i in range(len(Y3))]
  99.  
  100. w = [((H**2)*y3[i]**2 - 2.0*v0*np.exp(-l*k*y2[i]))/((H**2)*y3[i]**2 + 2.0*v0*np.exp(-l*k*y2[i])) for i in range(len(y3))]
  101. w_1 = [((H**2)*Y3[i]**2 - 2.0*v0*np.exp(-l*k*Y2[i]))/((H**2)*Y3[i]**2 + 2.0*v0*np.exp(-l*k*Y2[i])) for i in range(len(Y3))]
  102.  
  103. omde = [(((H**2)*(y3[i]**2))/2.0 + (v0*np.exp(-l*k*y2[i]))/rho_c) for i in range(len(y3))]
  104. omde_1 = [(((H**2)*(Y3[i]**2))/2.0 + (v0*np.exp(-l*k*Y2[i]))/rho_c) for i in range(len(Y3))]
  105.  
  106. omnr = [(1 - omde[i]) for i in range(len(omde))]
  107. omnr_1 = [(1 - omde_1[i]) for i in range(len(omde_1))]
  108.  
  109. phi_dot = [y3[i]*H for i in range(len(y3))]
  110. phi_dot_1 = [Y3[i]*H for i in range(len(Y3))]
  111.  
  112. a = np.linspace(start=1.0,stop=10**(-3),num=10001)
  113. N = np.log(a)  
  114.  
  115.  
  116. #plt.plot(a,phi_dot,'y',label='phi_dot')
  117. #plt.plot(N,phi_dot_1)
  118. #plt.plot(a,omnr,'-r',label='matter density')
  119. #plt.plot(a,omde,'-b',label='scalar density')
  120. plt.plot(N,w,'-k',label='eos')
  121. plt.plot(N,w_1,'-g',label='eos-f')
  122. #plt.plot(N,B,'-g',label='y2')
  123. #plt.plot(N,C,'-y',label='y3')
  124. #plt.plot(a,A,'-y',label='hubble parameter')
  125. #plt.plot(N,y1,'-g',label='y1')
  126. #plt.plot(N,y2,'-m',label='y2')
  127. #plt.plot(N,y3,'-y',label='y3')
  128. plt.xlabel('N')
  129. plt.title('exponential potential')
  130. plt.legend(loc='best')
  131. plt.show()
Add Comment
Please, Sign In to add comment