Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import scipy.integrate as sp
  4. import math
  5.  
  6. #Table 1 Parameters
  7. M=1280
  8. m=120
  9. g=9.8
  10. a=1.15
  11. b=1.35
  12. h=0.4
  13. r=0.35
  14. J=1.8
  15. mudry=0.8
  16. muwet=0.4
  17. ab=a+b
  18. k=0.3
  19.  
  20. #Table 2 Parameters (dry asphalt)
  21. c1=1.28
  22. c2=24
  23. c3=0.52
  24.  
  25. #Initial Conditions
  26. #72 km/h = 20 m/s
  27. x0list=[0,20,20/.35,20/.35]
  28.  
  29. t=np.linspace(0.5,1.5,51)
  30. C2=5000
  31. C3=k*C2
  32.  
  33. def ODE1(X,t,C2,C3):
  34. [x, dotx, omega2, omega3]=X
  35.  
  36.  
  37. if omega2 == omega3:
  38. omega3=omega2+0.000001
  39.  
  40. s2=1-((r*omega2)/dotx)
  41. s3=1-((r*omega3)/dotx)
  42. mu_s2=c1*(1-math.exp(-c2*s2))-(c3*s2)
  43. mu_s3=c1*(1-math.exp(-c2*s3))-(c3*s3)
  44.  
  45. ddotx1=(((mu_s3-mu_s2)*(C2+C3+(M*g*b)+(m*g*(a+b))-r*g*mu_s3*(M+2*m)))-(g*mu_s3*(M+2*m)*(mu_s2*r-mu_s3*r+ab)))
  46. ddotx2=(((M+2*m)*(mu_s2*r-mu_s3*r+a+b))+((2*m*r+M*h)*(mu_s3-mu_s2)))
  47. ddotx=ddotx1/ddotx2
  48. N2=((M+2*m)*((ddotx)+mu_s3*g))/(mu_s3-mu_s2)
  49. N3=((M+2*m)*g)-N2
  50. omegadot2=((r*mu_s2*(N2))-C2)/J
  51. omegadot3=((r*mu_s3*(N3))-C3)/J
  52.  
  53. return [dotx, ddotx, omegadot2, omegadot3]
  54.  
  55. sol=sp.odeint(ODE1,x0list,t,args=(C2,C3))
  56. print(sol)
  57.  
  58. plt.plot(t,sol[:,1], color='r')
  59. plt.plot(t,sol[:,2], color='g')
  60. plt.plot(t,sol[:,3], color='b')
  61. plt.axis([0,3.5,-100,100])
  62. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement