UnoccupiedGetter_t Derived Type

type, public :: UnoccupiedGetter_t

This class efficiently returns unoccupied orbitals from an ilut-bitmask.


Components

Type Visibility Attributes Name Initial
integer(kind=n_int), private :: last_possible_occupied

The last element of the ilut array has some elements which are not used, if the number of spinorbitals is not a multiple of bitsize_n_int. To correctly zero them this bitmask is 1 wherever a determinant could be occupied in the last element, and 0 otherwise.


Constructor

public interface UnoccupiedGetter_t


Type-Bound Procedures

procedure, public :: get => get_UnoccupiedGetter_t

  • private pure subroutine get_UnoccupiedGetter_t(this, ilutI, ilut_unoccupied, unoccupied)

    Return a bitmask and enumeration of the unoccupied spin orbitals.

    Arguments

    Type IntentOptional Attributes Name
    class(UnoccupiedGetter_t), intent(in) :: this
    integer(kind=n_int), intent(in) :: ilutI(0:nIfD)
    integer(kind=n_int), intent(out) :: ilut_unoccupied(0:nIfD)
    integer, intent(out) :: unoccupied(nBasis-nEl)