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 |