! ClassicAbInitExcitationGenerator_t methods !!!
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ExcitationGenerator_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(ExcitationGenerator_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(ExcitationGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ExcitationGenerator_t), | intent(inout) | :: | this |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundGenAllExcits_t) , public :: gen_all_excits | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundGenAllExcits_t) , public :: gen_all_excits | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
procedure , public :: gen_all_excits => FCI_singles_gen_all_excits Subroutine |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundGenAllExcits_t) , public :: gen_all_excits | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
procedure , public :: gen_all_excits => FCI_doubles_gen_all_excits Subroutine |
procedure (BoundGenExc_t) , public :: gen_exc | |
procedure (BoundGetPgen_t) , public :: get_pgen | |
procedure (BoundGenAllExcits_t) , public :: gen_all_excits | |
procedure (BoundFinalize_t) , public :: finalize | This procedure finalizes. It has to be implemented in such a way, that one can call it on uninitialized instances and in particular it should be idempotent. |
this abstract excitation generator covers all ab initio Hamiltonians in the typical sense (i.e. up to double excitations)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(DoubleExcitationGenerator_t), | public, | allocatable | :: | doubles_generator | |||
class(SingleExcitationGenerator_t), | public, | allocatable | :: | singles_generator |
procedure , public :: gen_exc => abinit_gen_exc Subroutine | |
procedure , public :: get_pgen => abinit_get_pgen Function | |
procedure , public :: gen_all_excits => abinit_gen_all_excits Subroutine | |
procedure , public :: finalize => abinit_finalize Subroutine |
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) | |||
class(SingleExcitationGenerator_t), | intent(inout) | :: | singles_generator | |||
class(DoubleExcitationGenerator_t), | intent(inout) | :: | doubles_generator |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ClassicAbInitExcitationGenerator_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) |
@brief The excitation generator subroutine for singles and doubles
Type | Intent | Optional | 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) | :: | 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 | ||
class(SingleExcitationGenerator_t), | intent(inout) | :: | singles_generator | |||
class(DoubleExcitationGenerator_t), | intent(inout) | :: | doubles_generator |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) | ||
class(SingleExcitationGenerator_t), | intent(in) | :: | singles_generator | |||
class(DoubleExcitationGenerator_t), | intent(in) | :: | doubles_generator |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FCISingleExcitationGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FCIDoubleExcitationGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ClassicAbInitExcitationGenerator_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(ClassicAbInitExcitationGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ClassicAbInitExcitationGenerator_t), | intent(inout) | :: | this |