ParticleSelector_t Derived Type

type, public, abstract :: ParticleSelector_t


Contents


Type-Bound Procedures

procedure(Draw_t), public, deferred :: draw

  • subroutine Draw_t(this, nI, ilutI, i_sg, elecs, srcs, p) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ParticleSelector_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)

    The determinant in nI-format and the supergroup index

    integer(kind=n_int), intent(in) :: ilutI(0:nIfD)

    The determinant in bitmask format

    integer, intent(in) :: i_sg

    The determinant in nI-format and the supergroup index

    integer, intent(out) :: elecs(2)

    The chosen particles and their index in nI. It is guaranteed that scrs(1) < srcs(2).

    integer, intent(out) :: srcs(2)

    The chosen particles and their index in nI. It is guaranteed that scrs(1) < srcs(2).

    real(kind=dp), intent(out) :: p

    The probability of drawing . This is the probability of drawing two particles from a given determinant regardless of order.

procedure(GetPgen_t), public, deferred :: get_pgen

  • pure function GetPgen_t(this, nI, i_sg, I, J) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ParticleSelector_t), intent(in) :: this
    integer, intent(in) :: nI(nEl)

    The determinant in nI-format and the supergroup index

    integer, intent(in) :: i_sg

    The determinant in nI-format and the supergroup index

    integer, intent(in) :: I

    The particles.

    integer, intent(in) :: J

    The particles.

    Return Value real(kind=dp)

procedure(Finalize_t), public, deferred :: finalize

  • subroutine Finalize_t(this) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(ParticleSelector_t), intent(inout) :: this