| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | TotWalkersNew |
subroutine end_iter_stats(TotWalkersNew) integer, intent(in) :: TotWalkersNew integer :: proc, pos, i, k real(dp) :: sgn(lenof_sign) integer :: run ! SumWalkersCyc calculates the total number of walkers over an update ! cycle on each process. (used for shift update) call add_part_number(SumWalkersCyc) ! SumWalkersOut is the total walker number over an output cycle (used for acc. rate) call add_part_number(SumWalkersOut) ! Write initiator histograms if on the correct iteration. ! Why is this done here - before annihilation! if ((tHistInitPops .and. mod(iter, HistInitPopsIter) == 0) & .or. tPrintHighPop) then call FindHighPopDet(TotWalkersNew) if (tHistInitPops) then root_write(stdout, '(a)') 'Writing out the spread of the ' & // 'initiator determinant populations.' call WriteInitPops(iter + PreviousCycles) end if end if contains subroutine add_part_number(var) real(dp), intent(inout) :: var(inum_runs) #ifdef CMPLX_ do run = 1, inum_runs var(run) = var(run) + sum(TotParts(min_part_type(run):max_part_type(run))) end do #else var = var + TotParts #endif end subroutine add_part_number end subroutine end_iter_stats