allekco

mat model ver 3.0

Oct 29th, 2019
116
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import math
  2. import pylab
  3. from matplotlib import mlab
  4.  
  5.  
  6. p = 9678.1 #кг/м^3
  7. m = 0.61 * 0.000001
  8. energy = [0.01, 0.1, 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000]
  9. sigma_t_o = [4, 4, 4, 4, 5, 1, 6, 6, 6, 6]
  10. sigma_c_o = [3*10**(-4), 10**(-4), 3*10**(-5), 10**(-5), 5*10**(-6), 6*10**(-6),
  11.              10**(-5), 3*10**(-5), 10**(-4), 10**(-4)]
  12. sigma_f_238 = [3*10**(-5), 10**(-5), 3*10**(-6), 7*10**(-7), 10**(-6), 3*10**(-4),
  13.                2*10**(-4), 5*10**(-5), 3*10**(-2), 2]
  14. sigma_c_238 = [4, 1,  5*10**(-1), 9*10**(-1), 3*10, 4, 9*10**(-1), 2*10**(-1), 1*10**(-1), 2*10**(-4)]
  15. sigma_f_235 = [10**3, 300, 80, 70, 20, 9, 3, 2, 1, 2]
  16. sigma_c_235 = [200, 40, 10, 70, 10, 4, 1, 0.6, 0.1, 10**(-3)]
  17. for i in range(10):
  18.     sigma_t_o[i] = sigma_t_o[i] * 10**(-28)   #metres^2
  19.     sigma_c_o[i] = sigma_c_o[i] * 10**(-28)
  20.     sigma_c_235[i] = sigma_c_235[i] * 10**(-28)
  21.     sigma_c_238[i] = sigma_c_238[i] * 10**(-28)
  22.     sigma_f_235[i] = sigma_f_235[i] * 10**(-28)
  23.     sigma_f_238[i] = sigma_f_238[i] * 10**(-28)
  24.  
  25. Na = 6.022*10**23
  26. Mr = ((0.007*235 + 0.993*238)*0.001)
  27. Mr_UO2 = 0.27
  28. N_238_nat = Na*19050/Mr
  29. N_235_nat = Na*18700/Mr
  30. N_o = Na*p/Mr_UO2
  31. Rf_nat = []
  32. Rc_nat = []
  33. Rf_o = []
  34. Rc_o = []
  35. fi1 = 5.0*10**13/0.0001 # 1/(metr^2*sec)
  36. fi2 = 2.5*10**13/0.0001
  37. for i in range(10):
  38.     if energy[i] < 1:
  39.         fi = fi1
  40.     else:
  41.         fi = fi2
  42.     Rf_nat.append(fi * (N_235_nat * sigma_f_235[i] + N_238_nat * sigma_f_238[i]))
  43.  
  44. for i in range(10):
  45.     if energy[i] < 1:
  46.         fi = fi1
  47.     else:
  48.         fi = fi2
  49.     Rc_nat.append(fi * (N_235_nat * sigma_c_235[i] + N_238_nat * sigma_c_238[i]))
  50.  
  51. for i in range(10):
  52.     if energy[i] < 1:
  53.         fi = fi1
  54.     else:
  55.         fi = fi2
  56.     Rf_o.append(fi * (32.4 * N_o * sigma_f_238[i] + 0.9 * N_o * sigma_f_235[i]))
  57.  
  58. for i in range(10):
  59.     if energy[i] < 1:
  60.         fi = fi1
  61.     else:
  62.         fi = fi2
  63.     Rc_o.append(fi * (32.4 * N_o * sigma_c_238[i]+ 0.9 * N_o * sigma_c_235[i])
  64.                 + 33.3 * N_o * sigma_c_o[i])
  65.  
  66.  
  67. pylab.subplot(2, 2, 1) #Текущая ячейка - 1; Две строки, три столбца
  68. pylab.plot(energy, Rc_nat)
  69. pylab.grid(linestyle='--', linewidth=0.5)
  70. pylab.xlabel('Neutron Energy (eV)')
  71. pylab.ylabel('R capture')
  72. pylab.xscale('log')
  73. pylab.yscale('log')
  74. pylab.title("R capture for nature uran")
  75.  
  76. pylab.subplot(2, 2, 2)
  77. pylab.plot(energy, Rc_o)
  78. pylab.grid(linestyle='--', linewidth=0.5)
  79. pylab.xlabel('Neutron Energy (eV)')
  80. pylab.ylabel('R capture')
  81. pylab.xscale('log')
  82. pylab.yscale('log')
  83. pylab.title("R capture for UO2")
  84.  
  85. pylab.subplot(2, 2, 3)
  86. pylab.plot(energy, Rf_nat)
  87. pylab.grid(linestyle='--', linewidth=0.5)
  88. pylab.xlabel('Neutron Energy (eV)')
  89. pylab.ylabel('R fission')
  90. pylab.xscale('log')
  91. pylab.yscale('log')
  92. pylab.title("R fission for nature uran")
  93.  
  94. pylab.subplot(2, 2, 4)
  95. pylab.plot(energy, Rf_o)
  96. pylab.grid(linestyle='--', linewidth=0.5)
  97. pylab.xlabel('Neutron Energy (eV)')
  98. pylab.ylabel('R fission')
  99. pylab.xscale('log')
  100. pylab.yscale('log')
  101. pylab.title("R fission for UO2")
  102.  
  103. pylab.show()
RAW Paste Data