DetBitOps Module



Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=n_int), public, parameter :: MaskBeta = 6148914691236517205_n_int
integer(kind=n_int), public, parameter :: MaskAlpha = IShft(MaskBeta, 1)

Interfaces

public interface CountBits

  • public pure function CountBits_elemental(iLut, nLast, nBitsMax) result(nbits)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: iLut(0:nLast)
    integer, intent(in) :: nLast
    integer, intent(in), optional :: nBitsMax

    Return Value integer


Functions

public pure function CountBits_elemental(iLut, nLast, nBitsMax) result(nbits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLut(0:nLast)
integer, intent(in) :: nLast
integer, intent(in), optional :: nBitsMax

Return Value integer

public elemental function count_set_bits(a) result(nbits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: a

Return Value integer

public pure function count_open_orbs(iLut)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLut(0:NIfD)

Return Value integer

public pure function FindBitExcitLevel(iLutnI, iLutnJ, maxExLevel, t_hphf_ic) result(IC)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutnI(0:NIfD)
integer(kind=n_int), intent(in) :: iLutnJ(0:NIfD)
integer, intent(in), optional :: maxExLevel
logical, intent(in), optional :: t_hphf_ic

Return Value integer

public function FindSpatialBitExcitLevel(iLutI, iLutJ, maxExLevel) result(IC)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:NIfD)
integer(kind=n_int), intent(in) :: iLutJ(0:NIfD)
integer, intent(in), optional :: maxExLevel

Return Value integer

public pure function DetBitEQ(iLutI, iLutJ, nLast, t_hphf_in) result(res)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:)
integer(kind=n_int), intent(in) :: iLutJ(0:)
integer, intent(in), optional :: nLast
logical, intent(in), optional :: t_hphf_in

Return Value logical

public pure function return_hphf_sym_det(ilut_in) result(ilut_out)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut_in(0:niftot)

Return Value integer(kind=n_int), (0:niftot)

public pure function sign_lt(iLutI, iLutJ) result(bLt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:)
integer(kind=n_int), intent(in) :: iLutJ(0:)

Return Value logical

public pure function sign_gt(iLutI, iLutJ) result(bGt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:)
integer(kind=n_int), intent(in) :: iLutJ(0:)

Return Value logical

public pure function ilut_lt(iLutI, iLutJ) result(bLt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:)
integer(kind=n_int), intent(in) :: iLutJ(0:)

Return Value logical

public pure function ilut_gt(iLutI, iLutJ) result(bGt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:)
integer(kind=n_int), intent(in) :: iLutJ(0:)

Return Value logical

public pure function DetBitZero(iLutI, nLast)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:NIfTot)
integer, intent(in), optional :: nLast

Return Value logical

public pure function DetBitLT(iLutI, iLutJ, nLast)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:NIfTot)
integer(kind=n_int), intent(in) :: iLutJ(0:NIfTot)
integer, intent(in), optional :: nLast

Return Value integer

public pure function spatial_bit_det(ilut) result(ilut_s)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)

Return Value integer(kind=n_int), (0:NIfTot)

public pure function return_ms(ilut, n_el) result(ms_local)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)
integer, intent(in), optional :: n_el

Return Value integer

public pure function TestClosedShellDet(iLut) result(tClosed)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLut(0:NIfTot)

Return Value logical

public function IsAllowedHPHF(ilut, sym_ilut) result(bAllowed)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfD)
integer(kind=n_int), intent(out), optional :: sym_ilut(0:NIfD)

Return Value logical

public pure function get_single_parity(ilut, src, tgt) result(par)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)
integer, intent(in) :: src
integer, intent(in) :: tgt

Return Value integer

public pure function tAccumEmptyDet(iLut) result(tAccum)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLut(0:NIfD)

Return Value logical

private pure function FindBitExcitLevel_hphf(ilutnI, ilutnJ) result(ic)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutnI(0:nifd)
integer(kind=n_int), intent(in) :: ilutnJ(0:nifd)

Return Value integer


Subroutines

public pure subroutine get_bit_excitmat(iLutI, iLutJ, ex, IC)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutI(0:NIfD)
integer(kind=n_int), intent(in) :: iLutJ(0:NIfD)
integer, intent(out) :: ex(2,IC)
integer, intent(inout) :: IC

public pure subroutine EncodeBitDet(nI, iLut)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(:)
integer(kind=n_int), intent(out) :: iLut(0:NIfTot)

public subroutine FindExcitBitDet(iLutnI, iLutnJ, IC, ExcitMat)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutnI(0:NIfTot)
integer(kind=n_int), intent(inout) :: iLutnJ(0:NIfTot)
integer, intent(in) :: IC
integer, intent(in) :: ExcitMat(2,ic)

public pure subroutine CalcOpenOrbs(ilut, OpenOrbs)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfD)
integer, intent(out) :: OpenOrbs

public pure subroutine spin_sym_ilut(ilutI, ilutJ)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:NIfD)
integer(kind=n_int), intent(out) :: ilutJ(0:NIfD)

public pure subroutine GetBitExcitation(iLutnI, iLutnJ, Ex, tSign)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutnI(0:NIfD)
integer(kind=n_int), intent(in) :: iLutnJ(0:NIfD)
integer, intent(inout) :: Ex(2,*)
logical, intent(out) :: tSign