Advertisement
allekco

mat model ver 2.0

Oct 29th, 2019
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.06 KB | None | 0 0
  1. import math
  2. import matplotlib.pyplot as plt
  3.  
  4.  
  5. t = 2700.0 + 273.0
  6. T = 2973.0
  7. p = 9678.1
  8. Cp = 619.0
  9. small_lambda = 3.64 #теплопроводность
  10. big_lambda = 10196.0
  11. m = 0.61 * 0.000001
  12. beta = 8.555 * 0.00001 #температурный коэффициент линейного расширения
  13. energy = [0.01, 0.1, 0, 10, 100, 1000, 10000, 100000, 1000000, 10000000]
  14. sigma_t_o = [(4, 0.01), (4, 0.1), (4, 0), (4, 10), (5, 100), (1, 1000),
  15.              (6, 10000), (6, 100000), (6, 1000000), (6, 10000000)]
  16. sigma_c_o = [(3*10**(-4), 0.01), (10**(-4), 0.1), (3*10**(-5), 0), (10**(-5), 10), (5*10**(-6), 100), (6*10**(-6), 1000),
  17.              (10**(-5), 10000), (3*10**(-5), 100000), (10**(-4), 1000000), (10**(-4), 10000000)]
  18. sigma_f_238 = [(3*10**(-5), 0.01), (10**(-5), 0.1), (3*10**(-6), 0), (7*10**(-7), 10), (10**(-6), 100), (3*10**(-4), 1000),
  19.                (2*10**(-4), 10000), (5*10**(-5), 100000), (3*10**(-2), 1000000), (2, 10000000)]
  20. sigma_c_238 = [(4, 0.01), (1, 0.1), (5*10**(-1), 0), (9*10**(-1), 10), (3*10, 100), (4, 1000),
  21.                (9*10**(-1), 10000), (2*10**(-1), 100000), (1*10**(-1), 1000000), (2*10**(-4), 10000000)]
  22. sigma_f_235 = [(10**3, 0.01), (300, 0.1), (80, 0), (70, 10), (20, 100), (9, 1000),
  23.                (3, 10000), (2, 100000), (1, 1000000), (2, 10000000)]
  24. sigma_c_235 = [(200, 0.01), (40, 0.1), (10, 0), (70, 10), (10, 100), (4, 1000),
  25.                (1, 10000), (0.6, 100000), (0.1, 1000000), (10**(-3), 10000000)]
  26. Na = 6.022*10**23
  27. N_238_nat = Na*19.05*10**6/(0.007*235 + 0.993*238) #metr^(-3)
  28. N_235_nat = Na*2.1*10**14/(0.007*235 + 0.993*238)
  29. N_o = Na*p/270.03
  30. Rf_nat = []
  31. Rc_nat = []
  32. Rf_o = []
  33. Rc_o = []
  34. for i in range(10):
  35.     if energy[i] < 1:
  36.         fi = 5.0*10**13/0.0001
  37.     else:
  38.         fi = 2.5*10**13/0.0001
  39.     Rf_nat.append(fi * (N_235_nat * sigma_f_235[i][0] + N_238_nat * sigma_f_238[i][0]))
  40.  
  41. for i in range(10):
  42.     if energy[i] < 1:
  43.         fi = 5.0*10**13/0.0001
  44.     else:
  45.         fi = 2.5*10**13/0.0001
  46.     Rc_nat.append(fi * (N_235_nat * sigma_c_235[i][0] + N_238_nat * sigma_c_238[i][0]))
  47.  
  48. for i in range(10):
  49.     if energy[i] < 1:
  50.         fi = 5.0*10**13/0.0001
  51.     else:
  52.         fi = 2.5*10**13/0.0001
  53.     Rf_o.append(fi * (32.4 * N_o * sigma_f_238[i][0] + 0.9 * N_o * sigma_f_235[i][0]))
  54.  
  55. for i in range(10):
  56.     if energy[i] < 1:
  57.         fi = 5.0*10**13/0.0001
  58.     else:
  59.         fi = 2.5*10**13/0.0001
  60.     Rc_o.append(fi * (32.4 * N_o * sigma_c_238[i][0] + 0.9 * N_o * sigma_c_235[i][0])
  61.                 + 33.3 * N_o * sigma_c_o[i][0])
  62. #for i in range(10):
  63.  #   Rf_o[i] = math.log10(Rf_o[i])
  64.   #  energy[i] = math.log10(energy[i])
  65. plt.plot(energy, Rf_nat)
  66. plt.title('R fission for nature uran')
  67. plt.yscale('log')
  68. plt.xscale('log')
  69. plt.show()
  70.  
  71. plt.plot(energy, Rf_o)
  72. plt.title('R fission for UO2')
  73. plt.yscale('log')
  74. plt.xscale('log')
  75. plt.show()
  76.  
  77. plt.plot(energy, Rc_nat)
  78. plt.title('R capture for nature uran')
  79. plt.yscale('log')
  80. plt.xscale('log')
  81. plt.show()
  82.  
  83. plt.plot(energy, Rc_o)
  84. plt.title('R capture for nature UO2')
  85. plt.yscale('log')
  86. plt.xscale('log')
  87. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement