check_real_time_iteration Subroutine

public subroutine check_real_time_iteration()

Arguments

None

Contents


Source Code

    subroutine check_real_time_iteration()
        ! routine to check if somthing wrong happened during the main
        ! real-time fciqmc loop or the external CHANGEVARS utility does smth
        character(*), parameter :: this_routine = "check_real_time_iteration"
        logical :: tSingBiasChange, tWritePopsFound, tStartedFromCoreGround

        if (mod(iter, StepsSft) == 0) then
            call ChangeVars(tSingBiasChange, tWritePopsFound)
            if (tWritePopsFound) call WriteToPopsfileParOneArr(CurrentDets, TotWalkers)
            if (tSingBiasChange) call CalcApproxpDoubles()

            ! also re-read the trajectory if in live-trajectory mode
            if (tLiveTrajectory) call read_in_trajectory()
        end if

        if (semistoch_shift_iter /= 0) then
            if (Iter == semistoch_shift_iter + 1) then
                tSemiStochastic = .true.
                call init_semi_stochastic(ss_space_in, tStartedFromCoreGround)
            end if
        end if

    end subroutine check_real_time_iteration