store_ci_coeff Subroutine

public subroutine store_ci_coeff()

Arguments

None

Contents

Source Code


Source Code

    subroutine store_ci_coeff
        integer :: ic, ex(2, 4), nIEx(nel)
        integer(int64) :: i
        real(dp) :: sign_tmp(lenof_sign)
        nCyc = nCyc + 1

        ! loop through all occupied determinants
        do i = 1, TotWalkers
            ! definition of the max ic as input for get_bit_excitmat
            ic = n_store_ci_level + 1
            ! extraction of the excitation level from every determinant
            call get_bit_excitmat(iLutRef(:, 1), CurrentDets(:, i), ex, ic)
            if (ic <= n_store_ci_level) then
                call extract_sign(CurrentDets(:, i), sign_tmp)
                call decode_bit_det(nIEx, CurrentDets(:, i))
                call cache_sign(sign_tmp, nIEx)
            end if
        end do
    end subroutine store_ci_coeff