# 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