mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Merge branch 'master' into cmfd
This commit is contained in:
commit
a6b7894165
9 changed files with 676 additions and 52 deletions
|
|
@ -212,9 +212,9 @@ contains
|
|||
end subroutine read_xs
|
||||
|
||||
!===============================================================================
|
||||
! READ_ACE_BINARY reads a single cross section table in binary format. This
|
||||
! routine reads the header data for each table and then calls appropriate
|
||||
! subroutines to parse the actual data.
|
||||
! READ_ACE_TABLE reads a single cross section table in either ASCII or binary
|
||||
! format. This routine reads the header data for each table and then calls
|
||||
! appropriate subroutines to parse the actual data.
|
||||
!===============================================================================
|
||||
|
||||
subroutine read_ace_table(index_table, index_list)
|
||||
|
|
|
|||
|
|
@ -194,6 +194,10 @@ module ace_header
|
|||
! Information for S(a,b) use
|
||||
logical :: use_sab ! in S(a,b) energy range?
|
||||
real(8) :: elastic_sab ! microscopic elastic scattering on S(a,b) table
|
||||
|
||||
! Information for URR probability table use
|
||||
logical :: use_ptable ! in URR range with probability tables?
|
||||
logical :: recalculate ! indicate whether we need to recalculate ptables
|
||||
end type NuclideMicroXS
|
||||
|
||||
!===============================================================================
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ module constants
|
|||
! VERSIONING NUMBERS
|
||||
|
||||
integer, parameter :: VERSION_MAJOR = 0
|
||||
integer, parameter :: VERSION_MINOR = 3
|
||||
integer, parameter :: VERSION_RELEASE = 3
|
||||
integer, parameter :: VERSION_MINOR = 4
|
||||
integer, parameter :: VERSION_RELEASE = 0
|
||||
|
||||
! ============================================================================
|
||||
! ADJUSTABLE PARAMETERS
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ contains
|
|||
! Initialize sab treatment to false
|
||||
micro_xs(index_nuclide) % use_sab = .false.
|
||||
micro_xs(index_nuclide) % elastic_sab = ZERO
|
||||
micro_xs(index_nuclide) % use_ptable = .false.
|
||||
|
||||
! Initialize nuclide cross-sections to zero
|
||||
micro_xs(index_nuclide) % fission = ZERO
|
||||
|
|
@ -167,9 +168,11 @@ contains
|
|||
! probability tables, we need to determine cross sections from the table
|
||||
|
||||
if (urr_ptables_on .and. nuc % urr_present) then
|
||||
if (p % E > nuc % urr_data % energy(1) .and. &
|
||||
p % E < nuc % urr_data % energy(nuc % urr_data % n_energy)) then
|
||||
call calculate_urr_xs(p, index_nuclide)
|
||||
if (micro_xs(index_nuclide) % recalculate) then
|
||||
if (p % E > nuc % urr_data % energy(1) .and. &
|
||||
p % E < nuc % urr_data % energy(nuc % urr_data % n_energy)) then
|
||||
call calculate_urr_xs(p, index_nuclide)
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
|
|
@ -276,18 +279,15 @@ contains
|
|||
integer :: i_table ! index for table
|
||||
real(8) :: f ! interpolation factor
|
||||
real(8) :: r ! pseudo-random number
|
||||
real(8) :: elastic ! smooth elastic cross section
|
||||
real(8) :: absorption ! smooth absorption cross section
|
||||
real(8) :: fission ! smooth fission cross section
|
||||
real(8) :: inelastic ! smooth inelastic cross section
|
||||
real(8) :: elastic ! elastic cross section
|
||||
real(8) :: capture ! (n,gamma) cross section
|
||||
real(8) :: fission ! fission cross section
|
||||
real(8) :: inelastic ! inelastic cross section
|
||||
type(UrrData), pointer :: urr => null()
|
||||
type(Nuclide), pointer :: nuc => null()
|
||||
type(Reaction), pointer :: rxn => null()
|
||||
|
||||
! copy cross-sections already calculated
|
||||
elastic = micro_xs(index_nuclide) % elastic
|
||||
absorption = micro_xs(index_nuclide) % absorption
|
||||
fission = micro_xs(index_nuclide) % fission
|
||||
micro_xs(index_nuclide) % use_ptable = .true.
|
||||
|
||||
! get pointer to probability table
|
||||
nuc => nuclides(index_nuclide)
|
||||
|
|
@ -315,15 +315,11 @@ contains
|
|||
! determine elastic, fission, and capture cross sections from probability
|
||||
! table
|
||||
if (urr % interp == LINEAR_LINEAR) then
|
||||
micro_xs(index_nuclide) % elastic = &
|
||||
(ONE - f) * urr % prob(i_energy, URR_ELASTIC, i_table) + &
|
||||
elastic = (ONE - f) * urr % prob(i_energy, URR_ELASTIC, i_table) + &
|
||||
f * urr % prob(i_energy + 1, URR_ELASTIC, i_table)
|
||||
micro_xs(index_nuclide) % fission = &
|
||||
(ONE - f) * urr % prob(i_energy, URR_FISSION, i_table) + &
|
||||
fission = (ONE - f) * urr % prob(i_energy, URR_FISSION, i_table) + &
|
||||
f * urr % prob(i_energy + 1, URR_FISSION, i_table)
|
||||
micro_xs(index_nuclide) % absorption = &
|
||||
micro_xs(index_nuclide) % fission + &
|
||||
(ONE - f) * urr % prob(i_energy, URR_N_GAMMA, i_table) + &
|
||||
capture = (ONE - f) * urr % prob(i_energy, URR_N_GAMMA, i_table) + &
|
||||
f * urr % prob(i_energy + 1, URR_N_GAMMA, i_table)
|
||||
elseif (urr % interp == LOG_LOG) then
|
||||
message = "Log-log interpolation on probability table not yet supported."
|
||||
|
|
@ -349,23 +345,29 @@ contains
|
|||
|
||||
! Multiply by smooth cross-section if needed
|
||||
if (urr % multiply_smooth) then
|
||||
micro_xs(index_nuclide) % elastic = elastic * &
|
||||
micro_xs(index_nuclide) % elastic
|
||||
micro_xs(index_nuclide) % absorption = absorption * &
|
||||
micro_xs(index_nuclide) % absorption
|
||||
micro_xs(index_nuclide) % fission = fission * &
|
||||
micro_xs(index_nuclide) % fission
|
||||
elastic = elastic * micro_xs(index_nuclide) % elastic
|
||||
capture = capture * (micro_xs(index_nuclide) % absorption - &
|
||||
micro_xs(index_nuclide) % fission)
|
||||
fission = fission * micro_xs(index_nuclide) % fission
|
||||
end if
|
||||
|
||||
! Set elastic, absorption, fission, and total cross sections. Note that the
|
||||
! total cross section is calculated as sum of partials rather than using the
|
||||
! table-provided value
|
||||
micro_xs(index_nuclide) % elastic = elastic
|
||||
micro_xs(index_nuclide) % absorption = capture + fission
|
||||
micro_xs(index_nuclide) % fission = fission
|
||||
micro_xs(index_nuclide) % total = elastic + inelastic + capture + fission
|
||||
|
||||
! Determine nu-fission cross section
|
||||
if (nuc % fissionable) then
|
||||
micro_xs(index_nuclide) % nu_fission = nu_total(nuc, p % E) * &
|
||||
micro_xs(index_nuclide) % fission
|
||||
end if
|
||||
|
||||
! Calculate total cross section as sum of partials
|
||||
micro_xs(index_nuclide) % total = micro_xs(index_nuclide) % elastic + &
|
||||
inelastic + micro_xs(index_nuclide) % absorption
|
||||
! As long as the energy of the neutron doesn't change, we don't need to
|
||||
! recalculate probability table data
|
||||
micro_xs(index_nuclide) % recalculate = .false.
|
||||
|
||||
end subroutine calculate_urr_xs
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ module global
|
|||
real(8), allocatable :: e_grid(:) ! energies on unionized grid
|
||||
|
||||
! Unreoslved resonance probablity tables
|
||||
logical :: urr_ptables_on = .false.
|
||||
logical :: urr_ptables_on = .true.
|
||||
|
||||
! ============================================================================
|
||||
! TALLY-RELATED VARIABLES
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ contains
|
|||
! Initialize number of events to zero
|
||||
n_event = 0
|
||||
|
||||
! Set recalculate ptables to true by default
|
||||
micro_xs(:) % recalculate = .true.
|
||||
|
||||
! find energy index, interpolation factor
|
||||
do while (p % alive)
|
||||
|
||||
|
|
@ -197,6 +200,10 @@ contains
|
|||
! Reset number of particles banked during collision
|
||||
p % n_bank = 0
|
||||
|
||||
! Since a collision has occurred, we need to recalculate probability tables
|
||||
! for any nuclide
|
||||
micro_xs(:) % recalculate = .true.
|
||||
|
||||
end subroutine collision
|
||||
|
||||
!===============================================================================
|
||||
|
|
@ -331,28 +338,42 @@ contains
|
|||
! just like any other reaction. Here we loop through the fission
|
||||
! reactions for the nuclide and see if any of them occur
|
||||
|
||||
do i = 1, nuc % n_fission
|
||||
rxn => nuc % reactions(nuc % index_fission(i))
|
||||
if (micro_xs(index_nuclide) % use_ptable) then
|
||||
|
||||
! if energy is below threshold for this reaction, skip it
|
||||
if (IE < rxn%IE) cycle
|
||||
|
||||
! add to cumulative probability
|
||||
if (nuc % has_partial_fission) then
|
||||
prob = prob + ((ONE-f)*rxn%sigma(IE-rxn%IE+1) &
|
||||
+ f*(rxn%sigma(IE-rxn%IE+2)))
|
||||
else
|
||||
prob = prob + micro_xs(index_nuclide) % fission
|
||||
end if
|
||||
|
||||
! Create fission bank sites if fission occus
|
||||
prob = prob + micro_xs(index_nuclide) % fission
|
||||
if (prob > cutoff) then
|
||||
rxn => nuc % reactions(nuc % index_fission(1))
|
||||
call create_fission_sites(p, index_nuclide, rxn, .true.)
|
||||
p % alive = .false.
|
||||
MT = rxn % MT
|
||||
return
|
||||
end if
|
||||
end do
|
||||
else
|
||||
|
||||
do i = 1, nuc % n_fission
|
||||
rxn => nuc % reactions(nuc % index_fission(i))
|
||||
|
||||
! if energy is below threshold for this reaction, skip it
|
||||
if (IE < rxn%IE) cycle
|
||||
|
||||
! add to cumulative probability
|
||||
if (nuc % has_partial_fission) then
|
||||
prob = prob + ((ONE-f)*rxn%sigma(IE-rxn%IE+1) &
|
||||
+ f*(rxn%sigma(IE-rxn%IE+2)))
|
||||
else
|
||||
prob = prob + micro_xs(index_nuclide) % fission
|
||||
end if
|
||||
|
||||
! Create fission bank sites if fission occus
|
||||
if (prob > cutoff) then
|
||||
call create_fission_sites(p, index_nuclide, rxn, .true.)
|
||||
p % alive = .false.
|
||||
MT = rxn % MT
|
||||
return
|
||||
end if
|
||||
end do
|
||||
|
||||
end if
|
||||
end if
|
||||
|
||||
end if
|
||||
|
|
@ -396,7 +417,7 @@ contains
|
|||
rxn => nuc % reactions(1)
|
||||
|
||||
! Perform collision physics for elastic scattering
|
||||
call elastic_scatter(p, nuc, rxn)
|
||||
call elastic_scatter(p, index_nuclide, rxn)
|
||||
|
||||
end if
|
||||
|
||||
|
|
@ -454,10 +475,10 @@ contains
|
|||
! need to be fixed
|
||||
!===============================================================================
|
||||
|
||||
subroutine elastic_scatter(p, nuc, rxn)
|
||||
subroutine elastic_scatter(p, index_nuclide, rxn)
|
||||
|
||||
type(Particle), pointer :: p
|
||||
type(Nuclide), pointer :: nuc
|
||||
integer, intent(in) :: index_nuclide
|
||||
type(Reaction), pointer :: rxn
|
||||
|
||||
real(8) :: awr ! atomic weight ratio of target
|
||||
|
|
@ -470,6 +491,10 @@ contains
|
|||
real(8) :: v ! y-direction
|
||||
real(8) :: w ! z-direction
|
||||
real(8) :: E ! energy
|
||||
type(Nuclide), pointer :: nuc => null()
|
||||
|
||||
! get pointer to nuclide
|
||||
nuc => nuclides(index_nuclide)
|
||||
|
||||
vel = sqrt(p % E)
|
||||
awr = nuc % awr
|
||||
|
|
@ -478,7 +503,9 @@ contains
|
|||
v_n = vel * p % coord0 % uvw
|
||||
|
||||
! Sample velocity of target nucleus
|
||||
call sample_target_velocity(p, nuc, v_t)
|
||||
if (.not. micro_xs(index_nuclide) % use_ptable) then
|
||||
call sample_target_velocity(p, nuc, v_t)
|
||||
end if
|
||||
|
||||
! Velocity of center-of-mass
|
||||
v_cm = (v_n + awr*v_t)/(awr + ONE)
|
||||
|
|
|
|||
289
src/utils/abundances.txt
Normal file
289
src/utils/abundances.txt
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
# Isotopic abundance from IUPAC Isotopic Compositions of the Element 1997 (atom fraction)
|
||||
1 H 1 99.9885
|
||||
1 H 2 0.0115
|
||||
2 He 3 0.000137
|
||||
2 He 4 99.999863
|
||||
3 Li 6 7.59
|
||||
3 Li 7 92.41
|
||||
4 Be 9 100
|
||||
5 B 10 19.9
|
||||
5 B 11 80.1
|
||||
6 C 12 98.93
|
||||
6 C 13 1.07
|
||||
7 N 14 99.632
|
||||
7 N 15 0.368
|
||||
8 O 16 99.757
|
||||
8 O 17 0.038
|
||||
8 O 18 0.205
|
||||
9 F 19 100
|
||||
10 Ne 20 90.48
|
||||
10 Ne 21 0.27
|
||||
10 Ne 22 9.25
|
||||
11 Na 23 100
|
||||
12 Mg 24 78.99
|
||||
12 Mg 25 10.00
|
||||
12 Mg 26 11.01
|
||||
13 Al 27 100
|
||||
14 Si 28 92.2297
|
||||
14 Si 29 4.68315
|
||||
14 Si 30 3.08715
|
||||
15 P 31 100
|
||||
16 S 32 94.93
|
||||
16 S 33 0.76
|
||||
16 S 34 4.29
|
||||
16 S 36 0.02
|
||||
17 Cl 35 75.78
|
||||
17 Cl 37 24.22
|
||||
18 Ar 36 0.3365
|
||||
18 Ar 38 0.0632
|
||||
18 Ar 40 99.6003
|
||||
19 K 39 93.2581
|
||||
19 K 40 0.0117
|
||||
19 K 41 6.7302
|
||||
20 Ca 40 96.941
|
||||
20 Ca 42 0.647
|
||||
20 Ca 43 0.135
|
||||
20 Ca 44 2.086
|
||||
20 Ca 46 0.004
|
||||
20 Ca 48 0.187
|
||||
21 Sc 45 100
|
||||
22 Ti 46 8.25
|
||||
22 Ti 47 7.44
|
||||
22 Ti 48 73.72
|
||||
22 Ti 49 5.41
|
||||
22 Ti 50 5.18
|
||||
23 V 50 0.250
|
||||
23 V 51 99.750
|
||||
24 Cr 50 4.345
|
||||
24 Cr 52 83.789
|
||||
24 Cr 53 9.501
|
||||
24 Cr 54 2.365
|
||||
25 Mn 55 100
|
||||
26 Fe 54 5.845
|
||||
26 Fe 56 91.754
|
||||
26 Fe 57 2.119
|
||||
26 Fe 58 0.282
|
||||
27 Co 59 100
|
||||
28 Ni 58 68.0769
|
||||
28 Ni 60 26.2231
|
||||
28 Ni 61 1.1399
|
||||
28 Ni 62 3.6345
|
||||
28 Ni 64 0.9256
|
||||
29 Cu 63 69.17
|
||||
29 Cu 65 30.83
|
||||
30 Zn 64 48.63
|
||||
30 Zn 66 27.90
|
||||
30 Zn 67 4.10
|
||||
30 Zn 68 18.75
|
||||
30 Zn 70 0.62
|
||||
31 Ga 69 60.108
|
||||
31 Ga 71 39.892
|
||||
32 Ge 70 20.84
|
||||
32 Ge 72 27.54
|
||||
32 Ge 73 7.73
|
||||
32 Ge 74 36.28
|
||||
32 Ge 76 7.61
|
||||
33 As 75 100
|
||||
34 Se 74 0.89
|
||||
34 Se 76 9.37
|
||||
34 Se 77 7.63
|
||||
34 Se 78 23.77
|
||||
34 Se 80 49.61
|
||||
34 Se 82 8.73
|
||||
35 Br 79 50.69
|
||||
35 Br 81 49.31
|
||||
36 Kr 78 0.35
|
||||
36 Kr 80 2.28
|
||||
36 Kr 82 11.58
|
||||
36 Kr 83 11.49
|
||||
36 Kr 84 57.00
|
||||
36 Kr 86 17.30
|
||||
37 Rb 85 72.17
|
||||
37 Rb 87 27.83
|
||||
38 Sr 84 0.56
|
||||
38 Sr 86 9.86
|
||||
38 Sr 87 7.00
|
||||
38 Sr 88 82.58
|
||||
39 Y 89 100
|
||||
40 Zr 90 51.45
|
||||
40 Zr 91 11.22
|
||||
40 Zr 92 17.15
|
||||
40 Zr 94 17.38
|
||||
40 Zr 96 2.80
|
||||
41 Nb 93 100
|
||||
42 Mo 92 14.84
|
||||
42 Mo 94 9.25
|
||||
42 Mo 95 15.92
|
||||
42 Mo 96 16.68
|
||||
42 Mo 97 9.55
|
||||
42 Mo 98 24.13
|
||||
42 Mo 100 9.63
|
||||
44 Ru 96 5.54
|
||||
44 Ru 98 1.87
|
||||
44 Ru 99 12.76
|
||||
44 Ru 100 12.60
|
||||
44 Ru 101 17.06
|
||||
44 Ru 102 31.55
|
||||
44 Ru 104 18.62
|
||||
45 Rh 103 100
|
||||
46 Pd 102 1.02
|
||||
46 Pd 104 11.14
|
||||
46 Pd 105 22.33
|
||||
46 Pd 106 27.33
|
||||
46 Pd 108 26.46
|
||||
46 Pd 110 11.72
|
||||
47 Ag 107 51.839
|
||||
47 Ag 109 48.161
|
||||
48 Cd 106 1.25
|
||||
48 Cd 108 0.89
|
||||
48 Cd 110 12.49
|
||||
48 Cd 111 12.80
|
||||
48 Cd 112 24.13
|
||||
48 Cd 113 12.22
|
||||
48 Cd 114 28.73
|
||||
48 Cd 116 7.49
|
||||
49 In 113 4.29
|
||||
49 In 115 95.71
|
||||
50 Sn 112 0.97
|
||||
50 Sn 114 0.66
|
||||
50 Sn 115 0.34
|
||||
50 Sn 116 14.54
|
||||
50 Sn 117 7.68
|
||||
50 Sn 118 24.22
|
||||
50 Sn 119 8.59
|
||||
50 Sn 120 32.58
|
||||
50 Sn 122 4.63
|
||||
50 Sn 124 5.79
|
||||
51 Sb 121 57.21
|
||||
51 Sb 123 42.79
|
||||
52 Te 120 0.09
|
||||
52 Te 122 2.55
|
||||
52 Te 123 0.89
|
||||
52 Te 124 4.74
|
||||
52 Te 125 7.07
|
||||
52 Te 126 18.84
|
||||
52 Te 128 31.74
|
||||
52 Te 130 34.08
|
||||
53 I 127 100
|
||||
54 Xe 124 0.09
|
||||
54 Xe 126 0.09
|
||||
54 Xe 128 1.92
|
||||
54 Xe 129 26.44
|
||||
54 Xe 130 4.08
|
||||
54 Xe 131 21.18
|
||||
54 Xe 132 26.89
|
||||
54 Xe 134 10.44
|
||||
54 Xe 136 8.87
|
||||
55 Cs 133 100
|
||||
56 Ba 130 0.106
|
||||
56 Ba 132 0.101
|
||||
56 Ba 134 2.417
|
||||
56 Ba 135 6.592
|
||||
56 Ba 136 7.854
|
||||
56 Ba 137 11.232
|
||||
56 Ba 138 71.698
|
||||
57 La 138 0.090
|
||||
57 La 139 99.910
|
||||
58 Ce 136 0.185
|
||||
58 Ce 138 0.251
|
||||
58 Ce 140 88.450
|
||||
58 Ce 142 11.114
|
||||
59 Pr 141 100
|
||||
60 Nd 142 27.2
|
||||
60 Nd 143 12.2
|
||||
60 Nd 144 23.8
|
||||
60 Nd 145 8.3
|
||||
60 Nd 146 17.2
|
||||
60 Nd 148 5.7
|
||||
60 Nd 150 5.6
|
||||
62 Sm 144 3.07
|
||||
62 Sm 147 14.99
|
||||
62 Sm 148 11.24
|
||||
62 Sm 149 13.82
|
||||
62 Sm 150 7.38
|
||||
62 Sm 152 26.75
|
||||
62 Sm 154 22.75
|
||||
63 Eu 151 47.81
|
||||
63 Eu 153 52.19
|
||||
64 Gd 152 0.20
|
||||
64 Gd 154 2.18
|
||||
64 Gd 155 14.80
|
||||
64 Gd 156 20.47
|
||||
64 Gd 157 15.65
|
||||
64 Gd 158 24.84
|
||||
64 Gd 160 21.86
|
||||
65 Tb 159 100
|
||||
66 Dy 156 0.06
|
||||
66 Dy 158 0.10
|
||||
66 Dy 160 2.34
|
||||
66 Dy 161 18.91
|
||||
66 Dy 162 25.51
|
||||
66 Dy 163 24.90
|
||||
66 Dy 164 28.18
|
||||
67 Ho 165 100
|
||||
68 Er 162 0.14
|
||||
68 Er 164 1.61
|
||||
68 Er 166 33.61
|
||||
68 Er 167 22.93
|
||||
68 Er 168 26.78
|
||||
68 Er 170 14.93
|
||||
69 Tm 169 100
|
||||
70 Yb 168 0.13
|
||||
70 Yb 170 3.04
|
||||
70 Yb 171 14.28
|
||||
70 Yb 172 21.83
|
||||
70 Yb 173 16.13
|
||||
70 Yb 174 31.83
|
||||
70 Yb 176 12.76
|
||||
71 Lu 175 97.41
|
||||
71 Lu 176 2.59
|
||||
72 Hf 174 0.16
|
||||
72 Hf 176 5.26
|
||||
72 Hf 177 18.60
|
||||
72 Hf 178 27.28
|
||||
72 Hf 179 13.62
|
||||
72 Hf 180 35.08
|
||||
73 Ta 180 0.012
|
||||
73 Ta 181 99.988
|
||||
74 W 180 0.12
|
||||
74 W 182 26.50
|
||||
74 W 183 14.31
|
||||
74 W 184 30.64
|
||||
74 W 186 28.43
|
||||
75 Re 185 37.40
|
||||
75 Re 187 62.60
|
||||
76 Os 184 0.02
|
||||
76 Os 186 1.59
|
||||
76 Os 187 1.96
|
||||
76 Os 188 13.24
|
||||
76 Os 189 16.15
|
||||
76 Os 190 26.26
|
||||
76 Os 192 40.78
|
||||
77 Ir 191 37.3
|
||||
77 Ir 193 62.7
|
||||
78 Pt 190 0.014
|
||||
78 Pt 192 0.782
|
||||
78 Pt 194 32.967
|
||||
78 Pt 195 33.832
|
||||
78 Pt 196 25.242
|
||||
78 Pt 198 7.163
|
||||
79 Au 197 100
|
||||
80 Hg 196 0.15
|
||||
80 Hg 198 9.97
|
||||
80 Hg 199 16.87
|
||||
80 Hg 200 23.10
|
||||
80 Hg 201 13.18
|
||||
80 Hg 202 29.86
|
||||
80 Hg 204 6.87
|
||||
81 Tl 203 29.524
|
||||
81 Tl 205 70.476
|
||||
82 Pb 204 1.4
|
||||
82 Pb 206 24.1
|
||||
82 Pb 207 22.1
|
||||
82 Pb 208 52.4
|
||||
83 Bi 209 100
|
||||
90 Th 232 100
|
||||
91 Pa 231 100
|
||||
92 U 234 0.0055
|
||||
92 U 235 0.7200
|
||||
92 U 238 99.2745
|
||||
284
src/utils/abundances_modified.txt
Normal file
284
src/utils/abundances_modified.txt
Normal file
|
|
@ -0,0 +1,284 @@
|
|||
# Isotopic abundance from IUPAC Isotopic Compositions of the Element 1997
|
||||
# Modified to use only nuclides which exist in ENDF/B-VII.0
|
||||
1 H 1 99.9885
|
||||
1 H 2 0.0115
|
||||
2 He 3 0.000137
|
||||
2 He 4 99.999863
|
||||
3 Li 6 7.59
|
||||
3 Li 7 92.41
|
||||
4 Be 9 100
|
||||
5 B 10 19.9
|
||||
5 B 11 80.1
|
||||
6 C Nat 100.0
|
||||
7 N 14 99.632
|
||||
7 N 15 0.368
|
||||
8 O 16 99.962
|
||||
8 O 17 0.038
|
||||
9 F 19 100
|
||||
10 Ne 20 90.48
|
||||
10 Ne 21 0.27
|
||||
10 Ne 22 9.25
|
||||
11 Na 23 100
|
||||
12 Mg 24 78.99
|
||||
12 Mg 25 10.00
|
||||
12 Mg 26 11.01
|
||||
13 Al 27 100
|
||||
14 Si 28 92.2297
|
||||
14 Si 29 4.68315
|
||||
14 Si 30 3.08715
|
||||
15 P 31 100
|
||||
16 S 32 94.93
|
||||
16 S 33 0.76
|
||||
16 S 34 4.29
|
||||
16 S 36 0.02
|
||||
17 Cl 35 75.78
|
||||
17 Cl 37 24.22
|
||||
18 Ar 36 0.3365
|
||||
18 Ar 38 0.0632
|
||||
18 Ar 40 99.6003
|
||||
19 K 39 93.2581
|
||||
19 K 40 0.0117
|
||||
19 K 41 6.7302
|
||||
20 Ca 40 96.941
|
||||
20 Ca 42 0.647
|
||||
20 Ca 43 0.135
|
||||
20 Ca 44 2.086
|
||||
20 Ca 46 0.004
|
||||
20 Ca 48 0.187
|
||||
21 Sc 45 100
|
||||
22 Ti 46 8.25
|
||||
22 Ti 47 7.44
|
||||
22 Ti 48 73.72
|
||||
22 Ti 49 5.41
|
||||
22 Ti 50 5.18
|
||||
23 V 50 0.250
|
||||
23 V 51 99.750
|
||||
24 Cr 50 4.345
|
||||
24 Cr 52 83.789
|
||||
24 Cr 53 9.501
|
||||
24 Cr 54 2.365
|
||||
25 Mn 55 100
|
||||
26 Fe 54 5.845
|
||||
26 Fe 56 91.754
|
||||
26 Fe 57 2.119
|
||||
26 Fe 58 0.282
|
||||
27 Co 59 100
|
||||
28 Ni 58 68.0769
|
||||
28 Ni 60 26.2231
|
||||
28 Ni 61 1.1399
|
||||
28 Ni 62 3.6345
|
||||
28 Ni 64 0.9256
|
||||
29 Cu 63 69.17
|
||||
29 Cu 65 30.83
|
||||
30 Zn Nat 100.0
|
||||
31 Ga 69 60.108
|
||||
31 Ga 71 39.892
|
||||
32 Ge 70 20.84
|
||||
32 Ge 72 27.54
|
||||
32 Ge 73 7.73
|
||||
32 Ge 74 36.28
|
||||
32 Ge 76 7.61
|
||||
33 As 75 100
|
||||
34 Se 74 0.89
|
||||
34 Se 76 9.37
|
||||
34 Se 77 7.63
|
||||
34 Se 78 23.77
|
||||
34 Se 80 49.61
|
||||
34 Se 82 8.73
|
||||
35 Br 79 50.69
|
||||
35 Br 81 49.31
|
||||
36 Kr 78 0.35
|
||||
36 Kr 80 2.28
|
||||
36 Kr 82 11.58
|
||||
36 Kr 83 11.49
|
||||
36 Kr 84 57.00
|
||||
36 Kr 86 17.30
|
||||
37 Rb 85 72.17
|
||||
37 Rb 87 27.83
|
||||
38 Sr 84 0.56
|
||||
38 Sr 86 9.86
|
||||
38 Sr 87 7.00
|
||||
38 Sr 88 82.58
|
||||
39 Y 89 100
|
||||
40 Zr 90 51.45
|
||||
40 Zr 91 11.22
|
||||
40 Zr 92 17.15
|
||||
40 Zr 94 17.38
|
||||
40 Zr 96 2.80
|
||||
41 Nb 93 100
|
||||
42 Mo 92 14.84
|
||||
42 Mo 94 9.25
|
||||
42 Mo 95 15.92
|
||||
42 Mo 96 16.68
|
||||
42 Mo 97 9.55
|
||||
42 Mo 98 24.13
|
||||
42 Mo 100 9.63
|
||||
44 Ru 96 5.54
|
||||
44 Ru 98 1.87
|
||||
44 Ru 99 12.76
|
||||
44 Ru 100 12.60
|
||||
44 Ru 101 17.06
|
||||
44 Ru 102 31.55
|
||||
44 Ru 104 18.62
|
||||
45 Rh 103 100
|
||||
46 Pd 102 1.02
|
||||
46 Pd 104 11.14
|
||||
46 Pd 105 22.33
|
||||
46 Pd 106 27.33
|
||||
46 Pd 108 26.46
|
||||
46 Pd 110 11.72
|
||||
47 Ag 107 51.839
|
||||
47 Ag 109 48.161
|
||||
48 Cd 106 1.25
|
||||
48 Cd 108 0.89
|
||||
48 Cd 110 12.49
|
||||
48 Cd 111 12.80
|
||||
48 Cd 112 24.13
|
||||
48 Cd 113 12.22
|
||||
48 Cd 114 28.73
|
||||
48 Cd 116 7.49
|
||||
49 In 113 4.29
|
||||
49 In 115 95.71
|
||||
50 Sn 112 0.97
|
||||
50 Sn 114 0.66
|
||||
50 Sn 115 0.34
|
||||
50 Sn 116 14.54
|
||||
50 Sn 117 7.68
|
||||
50 Sn 118 24.22
|
||||
50 Sn 119 8.59
|
||||
50 Sn 120 32.58
|
||||
50 Sn 122 4.63
|
||||
50 Sn 124 5.79
|
||||
51 Sb 121 57.21
|
||||
51 Sb 123 42.79
|
||||
52 Te 120 0.09
|
||||
52 Te 122 2.55
|
||||
52 Te 123 0.89
|
||||
52 Te 124 4.74
|
||||
52 Te 125 7.07
|
||||
52 Te 126 18.84
|
||||
52 Te 128 31.74
|
||||
52 Te 130 34.08
|
||||
53 I 127 100
|
||||
54 Xe 124 0.09
|
||||
54 Xe 126 0.09
|
||||
54 Xe 128 1.92
|
||||
54 Xe 129 26.44
|
||||
54 Xe 130 4.08
|
||||
54 Xe 131 21.18
|
||||
54 Xe 132 26.89
|
||||
54 Xe 134 10.44
|
||||
54 Xe 136 8.87
|
||||
55 Cs 133 100
|
||||
56 Ba 130 0.106
|
||||
56 Ba 132 0.101
|
||||
56 Ba 134 2.417
|
||||
56 Ba 135 6.592
|
||||
56 Ba 136 7.854
|
||||
56 Ba 137 11.232
|
||||
56 Ba 138 71.698
|
||||
57 La 138 0.090
|
||||
57 La 139 99.910
|
||||
58 Ce 136 0.185
|
||||
58 Ce 138 0.251
|
||||
58 Ce 140 88.450
|
||||
58 Ce 142 11.114
|
||||
59 Pr 141 100
|
||||
60 Nd 142 27.2
|
||||
60 Nd 143 12.2
|
||||
60 Nd 144 23.8
|
||||
60 Nd 145 8.3
|
||||
60 Nd 146 17.2
|
||||
60 Nd 148 5.7
|
||||
60 Nd 150 5.6
|
||||
62 Sm 144 3.07
|
||||
62 Sm 147 14.99
|
||||
62 Sm 148 11.24
|
||||
62 Sm 149 13.82
|
||||
62 Sm 150 7.38
|
||||
62 Sm 152 26.75
|
||||
62 Sm 154 22.75
|
||||
63 Eu 151 47.81
|
||||
63 Eu 153 52.19
|
||||
64 Gd 152 0.20
|
||||
64 Gd 154 2.18
|
||||
64 Gd 155 14.80
|
||||
64 Gd 156 20.47
|
||||
64 Gd 157 15.65
|
||||
64 Gd 158 24.84
|
||||
64 Gd 160 21.86
|
||||
65 Tb 159 100
|
||||
66 Dy 156 0.06
|
||||
66 Dy 158 0.10
|
||||
66 Dy 160 2.34
|
||||
66 Dy 161 18.91
|
||||
66 Dy 162 25.51
|
||||
66 Dy 163 24.90
|
||||
66 Dy 164 28.18
|
||||
67 Ho 165 100
|
||||
68 Er 162 0.14
|
||||
68 Er 164 1.61
|
||||
68 Er 166 33.61
|
||||
68 Er 167 22.93
|
||||
68 Er 168 26.78
|
||||
68 Er 170 14.93
|
||||
69 Tm 169 100
|
||||
70 Yb 168 0.13
|
||||
70 Yb 170 3.04
|
||||
70 Yb 171 14.28
|
||||
70 Yb 172 21.83
|
||||
70 Yb 173 16.13
|
||||
70 Yb 174 31.83
|
||||
70 Yb 176 12.76
|
||||
71 Lu 175 97.41
|
||||
71 Lu 176 2.59
|
||||
72 Hf 174 0.16
|
||||
72 Hf 176 5.26
|
||||
72 Hf 177 18.60
|
||||
72 Hf 178 27.28
|
||||
72 Hf 179 13.62
|
||||
72 Hf 180 35.08
|
||||
73 Ta 180 0.012
|
||||
73 Ta 181 99.988
|
||||
74 W 180 0.12
|
||||
74 W 182 26.62
|
||||
74 W 183 14.31
|
||||
74 W 184 30.64
|
||||
74 W 186 28.43
|
||||
75 Re 185 37.40
|
||||
75 Re 187 62.60
|
||||
76 Os 184 0.02
|
||||
76 Os 186 1.59
|
||||
76 Os 187 1.96
|
||||
76 Os 188 13.24
|
||||
76 Os 189 16.15
|
||||
76 Os 190 26.26
|
||||
76 Os 192 40.78
|
||||
77 Ir 191 37.3
|
||||
77 Ir 193 62.7
|
||||
78 Pt 190 0.014
|
||||
78 Pt 192 0.782
|
||||
78 Pt 194 32.967
|
||||
78 Pt 195 33.832
|
||||
78 Pt 196 25.242
|
||||
78 Pt 198 7.163
|
||||
79 Au 197 100
|
||||
80 Hg 196 0.15
|
||||
80 Hg 198 9.97
|
||||
80 Hg 199 16.87
|
||||
80 Hg 200 23.10
|
||||
80 Hg 201 13.18
|
||||
80 Hg 202 29.86
|
||||
80 Hg 204 6.87
|
||||
81 Tl 203 29.524
|
||||
81 Tl 205 70.476
|
||||
82 Pb 204 1.4
|
||||
82 Pb 206 24.1
|
||||
82 Pb 207 22.1
|
||||
82 Pb 208 52.4
|
||||
83 Bi 209 100
|
||||
90 Th 232 100
|
||||
91 Pa 231 100
|
||||
92 U 234 0.0055
|
||||
92 U 235 0.7200
|
||||
92 U 238 99.2745
|
||||
18
src/utils/split_nuclide.py
Executable file
18
src/utils/split_nuclide.py
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
print "Must supply element and atom/b-cm"
|
||||
exit
|
||||
|
||||
element = sys.argv[1]
|
||||
ao = float(sys.argv[2])
|
||||
|
||||
for line in open('abundances_modified.txt','r'):
|
||||
words = line.split()
|
||||
if words[1] == element:
|
||||
print('<nuclide name="{0}-{1}" ao="{2}" />'.format(
|
||||
element, words[2], float(words[3])*ao*0.01))
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue