Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
The heath bath GAS on-the-fly excitation generator
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(GASSpec_t), | private, | allocatable | :: | GAS_spec |
private pure function construct_GAS_singles_heat_bath_ExcGen_t (GAS_spec) |
procedure , public :: finalize => GAS_singles_do_nothing Subroutine | |
procedure , public :: get_possible_holes => GAS_singles_possible_holes Function | Get the GAS allowed holes for a given determinant and a chosen particle. |
procedure , public :: gen_exc => GAS_singles_gen_exc Subroutine | |
procedure , public :: get_pgen => GAS_singles_get_pgen Function | |
procedure , public :: gen_all_excits => GAS_singles_gen_all_excits Subroutine |
The heath bath GAS on-the-fly excitation generator
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(GASSpec_t), | private, | allocatable | :: | GAS_spec |
private pure function construct_GAS_doubles_heat_bath_ExcGen_t (GAS_spec) |
procedure , public :: finalize => GAS_doubles_do_nothing Subroutine | |
procedure , public :: get_possible_holes => GAS_doubles_possible_holes Function | Get the GAS allowed holes for a given determinant and a chosen particle. |
procedure , public :: gen_exc => GAS_doubles_gen_exc Subroutine | |
procedure , public :: get_pgen => GAS_doubles_get_pgen Function | |
procedure , public :: gen_all_excits => GAS_doubles_gen_all_excits Subroutine |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(GAS_singles_heat_bath_ExcGen_t), | private | :: | singles_generator | ||||
type(GAS_doubles_heat_bath_ExcGenerator_t), | private | :: | doubles_generator |
private pure function construct_GAS_heat_bath_ExcGenerator_t (GAS_spec) |
procedure , public :: finalize => GAS_heat_bath_finalize Subroutine | |
procedure , public :: gen_exc => GAS_heat_bath_gen_exc Subroutine | |
procedure , public :: get_pgen => GAS_heat_bath_get_pgen Function | |
procedure , public :: gen_all_excits => GAS_heat_bath_gen_all_excits Subroutine |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GASSpec_t), | intent(in) | :: | GAS_spec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_heat_bath_ExcGen_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(:) | |||
integer, | intent(in) | :: | src |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_heat_bath_ExcGen_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_doubles_heat_bath_ExcGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(:) | |||
integer, | intent(in) | :: | src(2) | |||
integer, | intent(in), | optional | :: | tgt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_doubles_heat_bath_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_heat_bath_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_heat_bath_ExcGen_t), | intent(inout) | :: | this |
@brief Generate a single excitation under GAS constraints.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_singles_heat_bath_ExcGen_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_heat_bath_ExcGen_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(GAS_doubles_heat_bath_ExcGenerator_t), | intent(inout) | :: | this |
@brief Generate a single excitation under GAS constraints.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_doubles_heat_bath_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_doubles_heat_bath_ExcGenerator_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(GAS_heat_bath_ExcGenerator_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_heat_bath_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_heat_bath_ExcGenerator_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | nI(nEl) | |||
integer, | intent(out) | :: | n_excits | |||
integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |