Advertisement
Guest User

new

a guest
Nov 22nd, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.53 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import math as m
  4. #Definiendo par'ametros de entrada
  5. N=4.016
  6. Lambda=0.348
  7. M=0.941
  8. nu=0.3
  9. Gamma=3.720
  10. Kappa=0.052
  11. H=0.678
  12. p0=300  #kPa#
  13. q0=0    #kPa#
  14. v=1.946
  15. n=10
  16. pf=m.exp((Gamma-v)/Lambda)
  17. qf=M*pf
  18. pfe=(m.exp((Gamma-v)/(Lambda-Kappa)))/(p0**(Kappa/(Lambda-Kappa)))
  19. qfe=M*pfe
  20. pj=m.e*pfe
  21. pe=p0 #por condiciones no drenadas
  22. qe=M*pe*(1-m.log(pe/pfe))
  23. Delta_p=pf-pe
  24. dp=Delta_p/n  #Incremento en p
  25. #-----------
  26. #Pared 1
  27. K=(v*p0)/Kappa
  28. E=3*K*(1-2*nu)
  29. G=E/(2*(1+nu)) #;print(G)
  30. p_i=p0
  31. q_i=qe
  32. j=2
  33. p=[p0]
  34. q=[q0]
  35. d_evole=[0]
  36. for x in range (j,n+2):
  37.     p_f=p_i+(j-1)*dp
  38.     q_f=((M*p_f)/(Lambda-Kappa))*((Lambda-Kappa)-Lambda*m.log(p_f)+(Gamma-v))
  39.     dq=q_f-q_i
  40.     dEvol_e=dp/K
  41.     dEvol_p=((Lambda-Kappa)/(v*M*p_f))*((M-(q_f/p_f))*dp + dq)
  42.     dEvol=dEvol_e+dEvol_p
  43.     dEs_e=dq/(3*G)#; print(dEs_e)
  44.     dEs_p=((Lambda-Kappa)/(v*M*p_f))*(dp+(dq/(M-(q_f/p_f))))
  45.     dEs=dEs_e+dEs_p
  46.     #dEa=dEs_p*(((1/3)*M*m.log(q_f/(3*pf)))+1) ;print(dEa)
  47.     ####
  48.     K=(v*p_f)/Kappa
  49.     E=3*K*(1-2*nu)
  50.     #G=E/(2*(1+nu)) #;print(G)
  51.     p_i=p_f
  52.     q_i=q_f
  53.     p=p+[p_i]
  54.     q=q+[q_i]
  55.     d_evole=d_evole+[dEvol_e]
  56. print(d_evole)
  57. #Dibuja la linea de estado critico
  58. pLEC=np.array(range(1,300,1))
  59. qLEC=M*pLEC
  60. #Dibuja la supericie linea de falla de ROSCOE
  61. pSELR=np.array(range(int(pf),440,1))
  62. qSELR=M*pSELR*(1-(np.log((pSELR)/pf)))
  63. #Dibuja la trayectoria de esfuerzos no drenada
  64. plt.plot(p_1, q_1)
  65. plt.plot(pLEC, qLEC)
  66. plt.plot(pSELR, qSELR)
  67. plt.xlabel("$p' (kPa)$", fontsize = 20)
  68. plt.ylabel("$q (kPa)$", fontsize = 20)
  69. plt.grid(True)
  70. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement