perform_death_all_walkers Subroutine

public subroutine perform_death_all_walkers(iter_data)

Arguments

Type IntentOptional Attributes Name
type(fcimc_iter_data), intent(inout) :: iter_data

Contents


Source Code

    subroutine perform_death_all_walkers(iter_data)

        use DetBitOps, only: FindBitExcitLevel
        use global_det_data, only: det_diagH

        type(fcimc_iter_data), intent(inout) :: iter_data

        integer :: ex_level, nI(nel), j
        real(dp) :: sgn(lenof_sign), hdiag

        do j = 1, int(TotWalkers)

            call extract_sign(CurrentDets(:, j), sgn)
            if (IsUnoccDet(sgn)) cycle

            ex_level = FindBitExcitLevel(iLutRef(:, 1), CurrentDets(:, j))
            hdiag = det_diagH(j)

            call decode_bit_det(nI, CurrentDets(:, j))

            call walker_death(iter_data, nI, CurrentDets(:, j), hdiag, &
                              sgn, j, ex_level)
        end do

    end subroutine perform_death_all_walkers