This routine will take a HPHF nI, and find Iterations number of excitations of it.
the excitation. This means that all excitations should be 0 or 1 after enough iterations.
number of excitations generated using the full enumeration excitation generation.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
procedure(generate_excitation_t), | public, | pointer | :: | exc_generator_for_HPHF | => | null() |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nel) | |||
integer(kind=n_int), | intent(in) | :: | iLutnI(0:niftot) | |||
integer, | intent(in) | :: | nJ(nel) | |||
integer(kind=n_int), | intent(in) | :: | iLutnJ(0:niftot) | |||
integer, | intent(in) | :: | ex(2,maxExcit) | |||
integer, | intent(in) | :: | ClassCount(ScratchSize) | |||
integer, | intent(in) | :: | ClassCountUnocc(ScratchSize) | |||
real(kind=dp), | intent(in) | :: | pDoubles | |||
real(kind=dp), | intent(out) | :: | pGen | |||
logical, | intent(out) | :: | tSameFunc |
We cannot guarentee that the pGens are going to be the same - in fact, generally, they wont be.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nel) | |||
integer(kind=n_int), | intent(in) | :: | iLutnI(0:niftot) | |||
integer, | intent(out) | :: | nJ(nel) | |||
integer(kind=n_int), | intent(out) | :: | iLutnJ(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) | :: | HEl | |||
type(excit_gen_store_type), | intent(inout), | target | :: | store | ||
integer, | intent(in), | optional | :: | part_type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | nI(NEl) | |||
integer, | intent(inout) | :: | nJ(NEl) | |||
integer(kind=n_int), | intent(inout) | :: | iLutnI(0:NIfTot) | |||
integer(kind=n_int), | intent(inout) | :: | iLutSym(0:NIfTot) | |||
logical, | intent(in) | :: | tCalciLutSym | |||
logical, | intent(in) | :: | tCalcnISym | |||
logical, | intent(out) | :: | tSwapped |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(NEl) | |||
integer, | intent(out) | :: | nJ(NEl) | |||
integer, | intent(in) | :: | NEl |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=n_int), | intent(in) | :: | iLut(0:NIfTot) | |||
integer(kind=n_int), | intent(out) | :: | iLutSym(0:NIfTot) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=n_int) | :: | iLut(0:NIfTot) | ||||
integer(kind=n_int) | :: | List(0:NIfTot,Length) | ||||
integer | :: | Length | ||||
integer | :: | MinInd | ||||
integer | :: | MaxInd | ||||
integer | :: | PartInd | ||||
logical | :: | tSuccess |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nel) | |||
integer(kind=n_int), | intent(in) | :: | ilutI(0:NIfTot) | |||
integer, | intent(in) | :: | ex(2,maxExcit) | |||
integer, | intent(in) | :: | ic | |||
integer, | intent(in) | :: | ClassCount2(ScratchSize) | |||
integer, | intent(in) | :: | ClassCountUnocc2(ScratchSize) | |||
real(kind=dp), | intent(in) | :: | pDoub | |||
real(kind=dp), | intent(out) | :: | pGen | |||
integer, | intent(in), | optional | :: | part_type |