diff --git a/src/global.F90 b/src/global.F90 index 1a3289e1cf..bc414c84c8 100644 --- a/src/global.F90 +++ b/src/global.F90 @@ -165,7 +165,7 @@ module global type(Timer) :: time_ic_sendrecv ! timer for intercycle SEND/RECV type(Timer) :: time_inactive ! timer for inactive cycles type(Timer) :: time_active ! timer for active cycles - type(Timer) :: time_compute ! timer for computation + type(Timer) :: time_transport ! timer for transport only type(Timer) :: time_finalize ! timer for finalization ! =========================================================================== diff --git a/src/hdf5_interface.F90 b/src/hdf5_interface.F90 index f255fb1215..07289d32a7 100644 --- a/src/hdf5_interface.F90 +++ b/src/hdf5_interface.F90 @@ -615,7 +615,7 @@ contains call hdf5_make_double(timing_group, "time_initialize", time_initialize % elapsed) call hdf5_make_double(timing_group, "time_read_xs", time_read_xs % elapsed) call hdf5_make_double(timing_group, "time_unionize", time_unionize % elapsed) - call hdf5_make_double(timing_group, "time_compute", time_compute % elapsed) + call hdf5_make_double(timing_group, "time_transport", time_transport % elapsed) call hdf5_make_double(timing_group, "time_intercycle", time_intercycle % elapsed) call hdf5_make_double(timing_group, "time_tallies", time_ic_tallies % elapsed) call hdf5_make_double(timing_group, "time_sample", time_ic_sample % elapsed) @@ -632,8 +632,8 @@ contains "description", "Time reading cross-section libraries (s)", hdf5_err) call h5ltset_attribute_string_f(timing_group, "time_unionize", & "description", "Time unionizing energy grid (s)", hdf5_err) - call h5ltset_attribute_string_f(timing_group, "time_compute", & - "description", "Total time in computation (s)", hdf5_err) + call h5ltset_attribute_string_f(timing_group, "time_transport", & + "description", "Time in transport only (s)", hdf5_err) call h5ltset_attribute_string_f(timing_group, "time_intercycle", & "description", "Total time between cycles (s)", hdf5_err) call h5ltset_attribute_string_f(timing_group, "time_tallies", & @@ -653,7 +653,8 @@ contains ! Write calculation rate total_particles = n_particles * n_cycles - speed = real(total_particles) / time_compute % elapsed + speed = real(total_particles) / (time_inactive % elapsed + & + time_active % elapsed) call hdf5_make_double(timing_group, "neutrons_per_second", speed) ! Close timing group diff --git a/src/main.F90 b/src/main.F90 index 094ea20b2e..4aa5633b9c 100644 --- a/src/main.F90 +++ b/src/main.F90 @@ -69,9 +69,6 @@ contains ! LOOP OVER CYCLES CYCLE_LOOP: do current_cycle = 1, n_cycles - ! Start timer for computation - call timer_start(time_compute) - message = "Simulating cycle " // trim(to_str(current_cycle)) // "..." call write_message(8) @@ -80,6 +77,10 @@ contains ! ======================================================================= ! LOOP OVER HISTORIES + + ! Start timer for transport + call timer_start(time_transport) + HISTORY_LOOP: do i = 1, work ! grab source particle from bank @@ -90,8 +91,8 @@ contains end do HISTORY_LOOP - ! Accumulate time for computation - call timer_stop(time_compute) + ! Accumulate time for transport + call timer_stop(time_transport) ! ======================================================================= ! WRAP UP FISSION BANK AND COMPUTE TALLIES, KEFF, ETC diff --git a/src/output.F90 b/src/output.F90 index 52036143bb..72256f063a 100644 --- a/src/output.F90 +++ b/src/output.F90 @@ -930,13 +930,15 @@ contains write(ou,100) "Total time for initialization", time_initialize % elapsed write(ou,100) " Reading cross sections", time_read_xs % elapsed write(ou,100) " Unionizing energy grid", time_unionize % elapsed - write(ou,100) "Total time in computation", time_compute % elapsed - write(ou,100) "Total time between cycles", time_intercycle % elapsed - write(ou,100) " Accumulating tallies", time_ic_tallies % elapsed - write(ou,100) " Sampling source sites", time_ic_sample % elapsed - write(ou,100) " SEND/RECV source sites", time_ic_sendrecv % elapsed - write(ou,100) "Total time in inactive cycles", time_inactive % elapsed - write(ou,100) "Total time in active cycles", time_active % elapsed + write(ou,100) "Total time in simulation", time_inactive % elapsed + & + time_active % elapsed + write(ou,100) " Time in transport only", time_transport % elapsed + write(ou,100) " Time in inactive cycles", time_inactive % elapsed + write(ou,100) " Time in active cycles", time_active % elapsed + write(ou,100) " Time between cycles", time_intercycle % elapsed + write(ou,100) " Accumulating tallies", time_ic_tallies % elapsed + write(ou,100) " Sampling source sites", time_ic_sample % elapsed + write(ou,100) " SEND/RECV source sites", time_ic_sendrecv % elapsed write(ou,100) "Total time for finalization", time_finalize % elapsed write(ou,100) "Total time elapsed", time_total % elapsed @@ -945,7 +947,8 @@ contains ! display calculate rate and final keff total_particles = n_particles * n_cycles - speed = real(total_particles) / time_compute % elapsed + speed = real(total_particles) / (time_inactive % elapsed + & + time_active % elapsed) string = to_str(speed) write(ou,101) "Calculation Rate", trim(string) write(ou,102) "Final Keff", keff, keff_std