diff --git a/src/physics.F90 b/src/physics.F90 index c85f102b6e..ae0a5fdd1b 100644 --- a/src/physics.F90 +++ b/src/physics.F90 @@ -253,15 +253,19 @@ contains p % last_wgt = p % wgt ! Score implicit absorption estimate of keff - tally_absorption = tally_absorption + p % absorb_wgt * & - micro_xs(i_nuclide) % nu_fission / micro_xs(i_nuclide) % absorption + if (run_mode == MODE_EIGENVALUE) then + tally_absorption = tally_absorption + p % absorb_wgt * & + micro_xs(i_nuclide) % nu_fission / micro_xs(i_nuclide) % absorption + end if else ! See if disappearance reaction happens if (micro_xs(i_nuclide) % absorption > & prn() * micro_xs(i_nuclide) % total) then ! Score absorption estimate of keff - tally_absorption = tally_absorption + p % wgt * & - micro_xs(i_nuclide) % nu_fission / micro_xs(i_nuclide) % absorption + if (run_mode == MODE_EIGENVALUE) then + tally_absorption = tally_absorption + p % wgt * & + micro_xs(i_nuclide) % nu_fission / micro_xs(i_nuclide) % absorption + end if p % alive = .false. p % event = EVENT_ABSORB diff --git a/src/tracking.F90 b/src/tracking.F90 index 59c31c6b17..b40faa314c 100644 --- a/src/tracking.F90 +++ b/src/tracking.F90 @@ -1,5 +1,6 @@ module tracking + use constants, only: MODE_EIGENVALUE use cross_section, only: calculate_xs use error, only: fatal_error, warning use geometry, only: find_cell, distance_to_boundary, cross_surface, & @@ -110,8 +111,10 @@ contains call score_tracklength_tally(p, distance) ! Score track-length estimate of k-eff - tally_tracklength = tally_tracklength + p % wgt * distance * & - material_xs % nu_fission + if (run_mode == MODE_EIGENVALUE) then + tally_tracklength = tally_tracklength + p % wgt * distance * & + material_xs % nu_fission + end if if (d_collision > d_boundary) then ! ==================================================================== @@ -136,8 +139,10 @@ contains ! PARTICLE HAS COLLISION ! Score collision estimate of keff - tally_collision = tally_collision + p % wgt * & - material_xs % nu_fission / material_xs % total + if (run_mode == MODE_EIGENVALUE) then + tally_collision = tally_collision + p % wgt * & + material_xs % nu_fission / material_xs % total + end if ! score surface current tallies -- this has to be done before the collision ! since the direction of the particle will change and we need to use the