Only call tally_statistics if more than one active batch is used.

This commit is contained in:
Paul Romano 2013-06-18 21:19:47 -04:00
parent 5779389d1d
commit 0b67b5ac5e
3 changed files with 25 additions and 10 deletions

View file

@ -253,6 +253,7 @@ mesh.o: search.o
output.o: ace_header.o
output.o: constants.o
output.o: endf.o
output.o: error.o
output.o: geometry_header.o
output.o: global.o
output.o: math.o

View file

@ -32,7 +32,9 @@ contains
if (run_mode /= MODE_PLOTTING .and. run_mode /= MODE_PARTICLE) then
! Calculate statistics for tallies and write to tallies.out
if (master) call tally_statistics()
if (master) then
if (n_realizations > 1) call tally_statistics()
end if
if (output_tallies) then
if (master) call write_tallies()
end if

View file

@ -5,6 +5,7 @@ module output
use ace_header, only: Nuclide, Reaction, UrrData
use constants
use endf, only: reaction_name
use error, only: warning
use geometry_header, only: Cell, Universe, Surface, BASE_UNIVERSE
use global
use math, only: t_percentile
@ -1464,18 +1465,29 @@ contains
end if
! write global tallies
write(ou,102) "k-effective (Collision)", global_tallies(K_COLLISION) &
% sum, global_tallies(K_COLLISION) % sum_sq
write(ou,102) "k-effective (Track-length)", global_tallies(K_TRACKLENGTH) &
% sum, global_tallies(K_TRACKLENGTH) % sum_sq
write(ou,102) "k-effective (Absorption)", global_tallies(K_ABSORPTION) &
% sum, global_tallies(K_ABSORPTION) % sum_sq
if (n_active > 3) write(ou,102) "Combined k-effective", k_combined
write(ou,102) "Leakage Fraction", global_tallies(LEAKAGE) % sum, &
global_tallies(LEAKAGE) % sum_sq
if (n_realizations > 1) then
write(ou,102) "k-effective (Collision)", global_tallies(K_COLLISION) &
% sum, global_tallies(K_COLLISION) % sum_sq
write(ou,102) "k-effective (Track-length)", global_tallies(K_TRACKLENGTH) &
% sum, global_tallies(K_TRACKLENGTH) % sum_sq
write(ou,102) "k-effective (Absorption)", global_tallies(K_ABSORPTION) &
% sum, global_tallies(K_ABSORPTION) % sum_sq
if (n_realizations > 3) write(ou,102) "Combined k-effective", k_combined
write(ou,102) "Leakage Fraction", global_tallies(LEAKAGE) % sum, &
global_tallies(LEAKAGE) % sum_sq
else
message = "Could not compute uncertainties -- only one active batch simulated!"
call warning()
write(ou,103) "k-effective (Collision)", global_tallies(K_COLLISION) % sum
write(ou,103) "k-effective (Track-length)", global_tallies(K_TRACKLENGTH) % sum
write(ou,103) "k-effective (Absorption)", global_tallies(K_ABSORPTION) % sum
write(ou,103) "Leakage Fraction", global_tallies(LEAKAGE) % sum
end if
write(ou,*)
102 format (1X,A,T30,"= ",F8.5," +/- ",F8.5)
103 format (1X,A,T30,"= ",F8.5)
end subroutine print_results