Return the possible holes where a particle can be created under GAS constraints.
This function uses get_possible_spaces
to find possible GAS spaces
where a particle can be created and returns only unoccupied
sites of correct spin.
“Trivial” excitations are avoided. That means, that a site is only counted as unoccupied if it was unoccupied in nI from the beginning on. (A double excitation where a particle is deleted, but immediately recreated would be such a trivial excitations.)
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). |