| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | tGAS | = | .false. |
Are we restricting excitations |
|
| type(possible_GAS_exc_gen_t), | public, | parameter | :: | possible_GAS_exc_gen | = | possible_GAS_exc_gen_t() | |
| type(GAS_exc_gen_t), | public, | allocatable | :: | GAS_exc_gen | |||
| type(GAS_SpecKind_vals_t), | public, | parameter | :: | GAS_spec_kind_vals | = | GAS_SpecKind_vals_t() | |
| class(GASSpec_t), | public, | allocatable | :: | GAS_specification | |||
| class(GASSpec_t), | public, | allocatable | :: | P_specification |
Constructor of LocalGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n_min(:) |
Minimum particle number per GAS space. |
||
| integer, | intent(in) | :: | n_max(:) |
Maximum particle number per GAS space. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| integer, | intent(in) | :: | nEl |
Number of particles. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
Constructor of CumulGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | cn_min(:) |
Cumulative minimum particle number. |
||
| integer, | intent(in) | :: | cn_max(:) |
Cumulative maximum particle number. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| integer, | intent(in) | :: | nEl |
Number of particles. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
Constructor of FlexibleGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | supergroups(:,:) |
The allowed supergroups. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | supergroup(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in), | optional | :: | n_basis |
Return the GAS spaces, where one particle can be created.
The returned array can be empty (allocated, but size == 0).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in) | :: | supergroup(size(this%GAS_sizes)) |
The particles per GAS space. |
||
| integer, | intent(in), | optional | :: | add_holes(:) |
An index of orbitals where particles should be deleted before creating the new particle. |
|
| integer, | intent(in), | optional | :: | add_particles(:) |
Index of orbitals where particles should be created before creating the new particle. |
|
| integer, | intent(in), | optional | :: | n_total |
The total number of particles that will be created. Defaults to one. (Relevant for double excitations) |
Write a string representation of this GAS specification to iunit
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iunit |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | val |
| generic, public :: operator(==) => eq_EnumBase_t | |
| generic, public :: operator(/=) => neq_EnumBase_t |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(GAS_exc_gen_t), | public | :: | DISCONNECTED | = | GAS_exc_gen_t(1) | ||
| type(GAS_exc_gen_t), | public | :: | ON_FLY_HEAT_BATH | = | GAS_exc_gen_t(2) | ||
| type(GAS_exc_gen_t), | public | :: | DISCARDING | = | GAS_exc_gen_t(3) | ||
| type(GAS_exc_gen_t), | public | :: | PCHB | = | GAS_exc_gen_t(4) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | val |
| generic, public :: operator(==) => eq_EnumBase_t | |
| generic, public :: operator(/=) => neq_EnumBase_t |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(GAS_SpecKind_t), | public | :: | LOCAL | = | GAS_SpecKind_t(1) | ||
| type(GAS_SpecKind_t), | public | :: | CUMULATIVE | = | GAS_SpecKind_t(2) | ||
| type(GAS_SpecKind_t), | public | :: | FLEXIBLE | = | GAS_SpecKind_t(3) |
Speficies the GAS spaces.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private, | allocatable | :: | GAS_table(:) |
GAS_table(i) returns the GAS space for the i-th spin orbital |
||
| integer, | private, | allocatable | :: | GAS_sizes(:) |
The number of spin orbitals per GAS space |
||
| integer, | private | :: | largest_GAS_size |
maxval(GAS_sizes) |
|||
| integer, | private, | allocatable | :: | splitted_orbitals(:,:) |
This is the preimage of |
||
| logical, | private | :: | lookup_is_connected |
These lookup variables stay valid, because the data structure is immutable |
|||
| logical, | private | :: | exchange_recoupling |
Do we do exchange recoupling? |
|||
| integer, | private | :: | N_particle |
The particle number |
| procedure(contains_supergroup_t), public, deferred :: contains_supergroup | |
| procedure(is_valid_t), public, deferred :: is_valid | |
| procedure(write_to_t), public, deferred :: write_to | |
| procedure(get_possible_spaces_t), public, deferred :: get_possible_spaces | |
| procedure, public :: get_possible_holes | |
| procedure, private :: contains_conf_nI | |
| procedure, private :: contains_conf_csf | |
| generic, public :: contains_conf => contains_conf_nI | |
| generic, public :: contains_conf => contains_conf_csf | |
| procedure, public :: contains_ilut | |
| procedure, public :: is_connected => get_is_connected | |
| procedure, public :: nGAS => get_nGAS | |
| procedure, public :: max_GAS_size => get_max_GAS_size | |
| procedure, public :: recoupling | |
| procedure, public :: n_spin_orbs => get_nOrbs | |
| procedure, public :: nEl => get_nEl | |
| generic, public :: GAS_size => get_GAS_size_i, get_GAS_size_idx, get_GAS_size_all | |
| procedure, private :: get_GAS_size_i | |
| procedure, private :: get_GAS_size_idx | |
| procedure, private :: get_GAS_size_all | |
| procedure, public :: get_iGAS | |
| procedure, public :: get_orb_idx | |
| procedure, private :: count_per_GAS_nI | |
| procedure, private :: count_per_GAS_csf | |
| generic, public :: count_per_GAS => count_per_GAS_nI, count_per_GAS_csf | |
| procedure, private :: is_allowed_single | |
| procedure, private :: is_allowed_double | |
| procedure, private :: is_allowed_triple | |
| procedure, private :: is_allowed_distinct_double | |
| generic, public :: is_allowed => is_allowed_single, is_allowed_double, is_allowed_triple, is_allowed_distinct_double | |
| procedure, private :: excite_single | |
| procedure, private :: excite_double | |
| procedure, private :: excite_triple | |
| generic, public :: excite => excite_single, excite_double, excite_triple | |
| procedure, public :: get_available_singles | |
| procedure, public :: get_available_doubles | |
| procedure, public :: gen_all_excits |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private, | allocatable | :: | min(:) |
The indices are:
|
||
| integer, | private, | allocatable | :: | max(:) |
The indices are:
|
| private pure function construct_LocalGASSpec_t (n_min, n_max, spat_GAS_orbs, nEl, recoupling) | Constructor of LocalGASSpec_t |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private, | allocatable | :: | c_min(:) |
The indices are:
|
||
| integer, | private, | allocatable | :: | c_max(:) |
The indices are:
|
| private pure function construct_CumulGASSpec_t (cn_min, cn_max, spat_GAS_orbs, nEl, recoupling) | Constructor of CumulGASSpec_t |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | allocatable | :: | supergroups(:,:) |
List the allowed supergroups. The indices are: (nGAS, n_supergroups) |
||
| integer(kind=int64), | public, | allocatable | :: | composition_indices(:) |
| private pure function construct_FlexibleGASSpec_t (supergroups, spat_GAS_orbs, recoupling) | Constructor of FlexibleGASSpec_t |
Returns the total number of GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Returns the size of the largest GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Returns the size of the i-th GAS space in number of spin orbitals.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iGAS |
Returns the sizes for GAS spaces specified in idx.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | idx(:) |
Returns the sizes for all GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Returns the GAS space for a given spin orbital index.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | spin_orb_idx |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Returns the i-th spin orbital in the iGAS GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i | |||
| integer, | intent(in) | :: | iGAS |
Query if there are connected GAS spaces under the GAS specification.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
Query wether a determinant is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in) | :: | nI(:) |
An index of occupied spin orbitals. |
Query wether a CSF is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| type(CSF_Info_t), | intent(in) | :: | csf_i |
Query whether we do exchange recoupling.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Get the number of electrons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Query wether a determinant in bitmask format is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer(kind=n_int), | intent(in) | :: | ilut(0:nIfTot) |
An index of occupied spin orbitals. |
Count the particles per GAS space. i.e. return the supergroup.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | occupied(:) |
Count the particles per GAS space. i.e. return the supergroup.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(GAS_exc_gen_t), | intent(in) | :: | impl |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_1_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_2_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_3_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
Check if a single excitation is allowed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_1_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
Check if a double excitation is allowed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_2_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
Check if a triple excitation is allowed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(Excite_3_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| type(DistinctDouble_t), | intent(in) | :: | exc | |||
| integer, | intent(in) | :: | supergroup(:) |
Return the possible holes where a particle can be created under GAS constraints.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in) | :: | det_I(:) |
The starting determinant |
||
| integer, | intent(in), | optional | :: | add_holes(:) |
An index of orbitals where particles should be deleted before creating the new particle. |
|
| integer, | intent(in), | optional | :: | add_particles(:) |
An index of orbitals where particles should be created before creating the new particle. |
|
| integer, | intent(in), | optional | :: | n_total |
The total number of particles that will be created. Defaults to one. |
|
| type(SpinProj_t), | intent(in), | optional | :: | excess |
The current excess of spin projections. If a beta electron was deleted, the excess is (1 \cdot \alpha). |
Constructor of LocalGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n_min(:) |
Minimum particle number per GAS space. |
||
| integer, | intent(in) | :: | n_max(:) |
Maximum particle number per GAS space. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| integer, | intent(in) | :: | nEl |
Number of particles. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
Query wether a supergroup is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in) | :: | supergroup(:) |
A supergroup. |
Check if the GAS specification is valid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces with local constraints. |
||
| integer, | intent(in), | optional | :: | n_basis |
Returns the minimum particle number for a given GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iGAS |
Returns the minimum particle number for all GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this |
Returns the maximum particle number for a given GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iGAS |
Returns the maximum particle number for all GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | supergroup(size(this%GAS_sizes)) | |||
| integer, | intent(in), | optional | :: | add_holes(:) | ||
| integer, | intent(in), | optional | :: | add_particles(:) | ||
| integer, | intent(in), | optional | :: | n_total |
Constructor of CumulGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | cn_min(:) |
Cumulative minimum particle number. |
||
| integer, | intent(in) | :: | cn_max(:) |
Cumulative maximum particle number. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| integer, | intent(in) | :: | nEl |
Number of particles. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
Query wether a supergroup is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | supergroup(:) |
Check if the GAS specification is valid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in), | optional | :: | n_basis |
The number of spin orbitals. |
Returns the minimum particle number for a given GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iGAS |
Returns the minimum particle number for all GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this |
Returns the maximum particle number for a given GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iGAS |
Returns the maximum particle number for all GAS spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | supergroup(size(this%GAS_sizes)) | |||
| integer, | intent(in), | optional | :: | add_holes(:) | ||
| integer, | intent(in), | optional | :: | add_particles(:) | ||
| integer, | intent(in), | optional | :: | n_total |
Lower and upper bound for spaces where a particle can be created. If no particle can be created, then spaces == 0 .
Query wether a supergroup is contained in the GAS space.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(FlexibleGASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces. |
||
| integer, | intent(in) | :: | supergroup(:) |
A supergroup. |
Check if the GAS specification is valid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(FlexibleGASSpec_t), | intent(in) | :: | this |
Specification of GAS spaces with local constraints. |
||
| integer, | intent(in), | optional | :: | n_basis |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(FlexibleGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | supergroup(size(this%GAS_sizes)) | |||
| integer, | intent(in), | optional | :: | add_holes(:) | ||
| integer, | intent(in), | optional | :: | add_particles(:) | ||
| integer, | intent(in), | optional | :: | n_total |
Constructor of FlexibleGASSpec_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | supergroups(:,:) |
The allowed supergroups. |
||
| integer, | intent(in) | :: | spat_GAS_orbs(:) |
GAS space for the i-th spatial orbital. |
||
| logical, | intent(in), | optional | :: | recoupling |
Exchange double excitations that recouple the spin are allowed |
Doing GAS in Slater Determinant (SD) space
Doing GAS in GUGA space
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n_el | |||
| integer, | intent(in) | :: | n_spat_orbs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
Get all single excitated determinants from det_I that are allowed under GAS constraints. |
||
| integer, | intent(in) | :: | det_I(:) |
Dimension is (nEl, n_configurations)
@brief Get all double excitated determinants from det_I that are allowed under GAS constraints.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | det_I(:) |
! Count the frequency of numbers in the array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | N(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LocalGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iunit |
Write a string representation of this GAS specification to iunit
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CumulGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iunit |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(FlexibleGASSpec_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | iunit |
Get all excitated determinants from det_I that are allowed under GAS constraints.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | this |
GAS specification |
||
| integer, | intent(in) | :: | nI(:) |
Starting determinant |
||
| integer, | intent(out) | :: | n_excits |
Number of determinants |
||
| integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) |
Allocatable array of determinants in ilut format |
|
| integer, | intent(in), | optional | :: | ic |
Optional input for excitation level (ic=1 => singles, ic=2 => doubles) If ommited generate all. |