symrandexcit3 Module



Contents


Functions

public function gen_double(nI, nJ, ExcitMat, tParity, CCUnocc, virt_list) result(pGen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: nJ(nel)
integer, intent(out) :: ExcitMat(2,2)
logical, intent(out) :: tParity
integer, intent(in) :: CCUnocc(ScratchSize)
integer, intent(in) :: virt_list(:,:)

Return Value real(kind=dp)

public function count_orb_pairs(sym_prod, spn, CCUnocc, num_pairs) result(tot_pairs)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: sym_prod
integer, intent(inout) :: spn(2)
integer, intent(in) :: CCUnocc(ScratchSize)
integer, intent(inout) :: num_pairs(0:nSymLabels-1)

Return Value integer

public function gen_single(nI, nJ, ExcitMat, tParity, CCOcc, CCUnocc, pair_list, occ_list, virt_list) result(pGen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: nJ(nel)
integer, intent(out) :: ExcitMat(2,maxExcit)
logical, intent(out) :: tParity
integer, intent(in) :: CCOcc(ScratchSize)
integer, intent(in) :: CCUnocc(ScratchSize)
integer, intent(out) :: pair_list(ScratchSize)
integer, intent(in) :: occ_list(:,:)
integer, intent(in) :: virt_list(:,:)

Return Value real(kind=dp)


Subroutines

public subroutine gen_rand_excit3(nI, ilutI, nJ, ilutJ, exFlag, IC, ExcitMat, tParity, pgen, HElGen, store, part_type)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(out) :: nJ(nel)
integer(kind=n_int), intent(out) :: ilutJ(0:niftot)
integer, intent(in) :: exFlag
integer, intent(out) :: IC
integer, intent(out) :: ExcitMat(2,maxExcit)
logical, intent(out) :: tParity
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(out) :: HElGen
type(excit_gen_store_type), intent(inout), target :: store
integer, intent(in), optional :: part_type

public subroutine pick_elec_pair(nI, elecs, sym_prod, spn)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: elecs(2)
integer, intent(out) :: sym_prod
integer, intent(out) :: spn(2)

public subroutine select_syms(rint, sym_inds, sym_prod, spn, num_pairs)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: rint
integer, intent(out) :: sym_inds(2)
integer, intent(in) :: sym_prod
integer, intent(inout) :: spn(2)
integer, intent(in) :: num_pairs(0:nSymLabels-1)

public subroutine select_orb_pair(rint, sym_inds, orbs, CCUnocc, virt_list)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: rint
integer, intent(in) :: sym_inds(2)
integer, intent(out) :: orbs(2)
integer, intent(in) :: CCUnocc(ScratchSize)
integer, intent(in) :: virt_list(:,:)

public subroutine create_excit_det2(nI, nJ, tParity, ExcitMat, elecs, orbs)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: nJ(nel)
logical, intent(out) :: tParity
integer, intent(out) :: ExcitMat(2,2)
integer, intent(in) :: elecs(2)
integer, intent(in) :: orbs(2)

public subroutine construct_class_counts(nI, CCOcc, CCUnocc, pair_list)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: CCOcc(ScratchSize)
integer, intent(out) :: CCUnocc(ScratchSize)
integer, intent(out) :: pair_list(ScratchSize)

public subroutine test_sym_excit3(nI, Iterations, pDoub, exFlag)

CALL ChangeVars(tDummy,tSoftExitFound,tDummy2) IF(tSoftExitFound) EXIT

Arguments

Type IntentOptional Attributes Name
integer :: nI(NEl)
integer :: Iterations
real(kind=dp) :: pDoub
integer :: exFlag