This module contains functions for GAS that are not bound to a specific GAS excitation generator.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | t_output_GAS_sizes | = | .false. |
@brief Build up a cumulative list of matrix elements.
@details Calculate the matrix elements for the possible excitations from det_I to the possible holes using the incomplete defined excitation.
@param[in] det_I, Reference determinant in “nI-format”. @param[in] incomplete_exc, An excitation where the last target is unknown. @param[in] possible_holes, Possible holes for the last target.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | det_I(:) | |||
| type(Excite_1_t), | intent(in) | :: | incomplete_exc | |||
| integer, | intent(in) | :: | possible_holes(:) |
@brief Build up a cumulative list of matrix elements.
@details Calculate the matrix elements for the possible excitations from det_I to the possible holes using the incomplete defined excitation.
@param[in] det_I, Reference determinant in “nI-format”. @param[in] incomplete_exc, An excitation where the last target is unknown. @param[in] possible_holes, Possible holes for the last target.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | det_I(:) | |||
| type(Excite_2_t), | intent(in) | :: | incomplete_exc | |||
| integer, | intent(in) | :: | possible_holes(:) |
@brief Get all single excitated determinants from det_I that are allowed under GAS constraints.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | GAS_spec | |||
| 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) | :: | GAS_spec | |||
| integer, | intent(in) | :: | det_I(:) |
@brief Build up a cumulative list of matrix elements.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | det_I(:) | |||
| type(Excite_1_t), | intent(in) | :: | incomplete_exc | |||
| integer, | intent(in) | :: | possible_holes(:) |
@brief Build up a cumulative list of matrix elements.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | det_I(:) | |||
| type(Excite_2_t), | intent(in) | :: | incomplete_exc | |||
| integer, | intent(in) | :: | possible_holes(:) |
Return the possible supergroups/distributions for alpha electrons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | sg(:) |
The overall supergroup |
||
| integer, | intent(in) | :: | n_orbs(size(sg)) |
The number of spatial orbitals per GAS space |
||
| type(SpinProj_t), | intent(in) | :: | S_z |
The Spin projection |
All possible distributions of alpha electrons among the GAS spaces.
Return the number of Slater-determinants. These are the number of alpha/beta electrons and the number of spatial orbitals per GAS space
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | GAS_spec |
GAS specification. |
||
| integer, | intent(in) | :: | N |
The number of particles |
||
| type(SpinProj_t), | intent(in) | :: | S_z |
Spin projection |
@brief Get all excitated determinants from det_I that are allowed under GAS constraints.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | GAS_spec | |||
| integer, | intent(in) | :: | nI(:) | |||
| integer, | intent(out) | :: | n_excits | |||
| integer(kind=n_int), | intent(out), | allocatable | :: | det_list(:,:) | ||
| integer, | intent(in), | optional | :: | ic |
@brief Draw from a cumulative list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | c_sum(:) | |||
| integer, | intent(out) | :: | idx | |||
| real(kind=dp), | intent(out) | :: | pgen |
Write info about the GAS constraints to iunit
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GASSpec_t), | intent(in) | :: | GAS_spec |
GAS constraints. |
||
| integer, | intent(in) | :: | N |
The particle number. |
||
| type(SpinProj_t), | intent(in) | :: | S_z |
The total spin projection. |
||
| integer, | intent(in) | :: | iunit |