update_elapsed_time Subroutine

public subroutine update_elapsed_time()

Arguments

None

Contents

Source Code


Source Code

    subroutine update_elapsed_time()
        implicit none
        integer :: run
        ! bookkeeping of timestats
        ! each iteration step constist of two tau-steps -> factor of 2
        elapsedRealTime = elapsedRealTime + tau_real
        elapsedImagTime = elapsedImagTime + tau_imag
        if (tStaticShift) then
            do run = 1, inum_runs
                if (.not. tSinglePartPhase(run)) DiagSft(run) = asymptoticShift
            end do
        end if

        ! normally, we strictly forbid negative shifts
        if (tOnlyPositiveShift) then
            do run = 1, inum_runs
                if (DiagSft(run) < 0.0_dp) DiagSft(run) = 0.0_dp
            end do
        end if

        ! cheap way of removing all initiators
        if (tInfInit) InitiatorWalkNo = TotWalkers + 1

    end subroutine update_elapsed_time