Merge pull request #357 from paulromano/fixed-fissionable

Allow fissionable materials in a fixed source calculation
This commit is contained in:
Bryan Herman 2015-01-31 21:21:28 -05:00
commit fa77543013
2 changed files with 6 additions and 14 deletions

View file

@ -94,7 +94,7 @@ contains
& scheme)
nuclides(i_nuclide) % E_min = nuclides_0K(n) % E_min
nuclides(i_nuclide) % E_max = nuclides_0K(n) % E_max
if (.not. already_read % contains(nuclides(i_nuclide) % &
if (.not. already_read % contains(nuclides(i_nuclide) % &
& name_0K)) then
i_listing = xs_listing_dict % get_key(nuclides(i_nuclide) % &
& name_0K)
@ -369,14 +369,6 @@ contains
call read_unr_res(nuc)
end if
! Currently subcritical fixed source calculations are not allowed. Thus,
! if any fissionable material is found in a fixed source calculation,
! abort the run.
if (run_mode == MODE_FIXEDSOURCE .and. nuc % fissionable) then
call fatal_error("Cannot have fissionable material in a fixed source &
&run.")
end if
! for fissionable nuclides, precalculate microscopic nu-fission cross
! sections so that we don't need to call the nu_total function during
! cross section lookups (except if we're dealing w/ 0K data for resonant
@ -444,7 +436,7 @@ contains
! Skip total and absorption
XSS_index = XSS_index + 2*NE
! Continue reading elastic scattering and heating
nuc % elastic_0K = get_real(NE)
@ -480,13 +472,13 @@ contains
! Read data from XSS -- only the energy grid, elastic scattering and heating
! cross section values are actually read from here. The total and absorption
! cross sections are reconstructed from the partial reaction data.
XSS_index = 1
nuc % energy = get_real(NE)
! Skip total and absorption
XSS_index = XSS_index + 2*NE
! Continue reading elastic scattering and heating
nuc % elastic = get_real(NE)

View file

@ -90,7 +90,7 @@ contains
! change when sampling fission sites. The following block handles all
! absorption (including fission)
if (nuc % fissionable) then
if (nuc % fissionable .and. run_mode == MODE_EIGENVALUE) then
call sample_fission(i_nuclide, i_reaction)
call create_fission_sites(p, i_nuclide, i_reaction)
end if