SHARE
TWEET

mat model ver 2.0

allekco Oct 29th, 2019 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top