The precomputed GAS uniform excitation generator
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=n_int), | private, | allocatable | :: | allowed_holes(:,:,:) | |||
class(GASSpec_t), | private, | allocatable | :: | GAS_spec | |||
type(SuperGroupIndexer_t), | private, | pointer | :: | indexer | => | null() | |
logical, | public | :: | use_lookup | = | .false. |
Use a lookup for the supergroup index in global_det_data. |
|
logical, | public | :: | create_lookup | = | .false. |
Create and manage! the supergroup index lookup in global_det_data. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(inout) | :: | this | |||
class(GASSpec_t), | intent(in) | :: | GAS_spec | |||
logical, | intent(in) | :: | use_lookup | |||
logical, | intent(in) | :: | create_lookup |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(inout) | :: | this |
Get the GAS allowed holes for a given determinant and a chosen particle.
@brief For a determinant nI and a spin orbital src return the GAS allowed orbitals with the same spin as src which are not occupied in nI.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nel) | |||
integer(kind=n_int), | intent(in) | :: | ilutI(0:nIfD) | |||
integer, | intent(in) | :: | src | |||
logical, | intent(in) | :: | use_lookup | |||
type(excit_gen_store_type), | intent(in), | optional | :: | store |
@brief This is the uniform singles excitation generator which uses precomputed indices to generate only GAS allowed excitations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(inout) | :: | this | |||
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) | :: | ex(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 | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(inout) | :: | this | |||
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) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_PC_uniform_ExcGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |