CSF_Info_t Derived Type

type, public :: CSF_Info_t


Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: stepvector(:)
integer, public, allocatable :: Occ_int(:)
integer, public, allocatable :: B_int(:)
real(kind=dp), public, allocatable :: Occ_real(:)
real(kind=dp), public, allocatable :: B_real(:)
real(kind=dp), public, allocatable :: cum_list(:)

also use a fake cum-list of the non-doubly occupied orbital to increase preformance in the picking of orbitals (a)

integer, public :: idx_curr_dets = -1

The index in the current dets array. Needed for faster lookup of stuff.


Constructor

public interface CSF_Info_t

  • private pure function construct_CSF_Info_t(ilut, idx_curr_dets) result(csf_i)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    integer, intent(in), optional :: idx_curr_dets

    Return Value type(CSF_Info_t)

  • private pure function construct_CSF_Info_t_StepVector_t(csf, idx_curr_dets) result(res)

    Arguments

    Type IntentOptional Attributes Name
    type(StepVector_t), intent(in) :: csf(:)
    integer, intent(in), optional :: idx_curr_dets

    Return Value type(CSF_Info_t)


Type-Bound Procedures

procedure, private :: eq_CSF_Info_t

  • private elemental function eq_CSF_Info_t(csf_i, csf_j) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: csf_i
    class(CSF_Info_t), intent(in) :: csf_j

    Return Value logical

procedure, private :: neq_CSF_Info_t

  • private elemental function neq_CSF_Info_t(csf_i, csf_j) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: csf_i
    class(CSF_Info_t), intent(in) :: csf_j

    Return Value logical

generic, public :: operator(==) => eq_CSF_Info_t

  • private elemental function eq_CSF_Info_t(csf_i, csf_j) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: csf_i
    class(CSF_Info_t), intent(in) :: csf_j

    Return Value logical

generic, public :: operator(/=) => neq_CSF_Info_t

  • private elemental function neq_CSF_Info_t(csf_i, csf_j) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: csf_i
    class(CSF_Info_t), intent(in) :: csf_j

    Return Value logical

procedure, public :: to_nI => to_nI_CSF_Info_t

  • private pure function to_nI_CSF_Info_t(this) result(nI)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: this

    Return Value integer, (nel)

procedure, public :: to_ilut => to_ilut_CSF_Info_t

  • private pure function to_ilut_CSF_Info_t(this) result(ilut)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: this

    Return Value integer(kind=n_int), (0:niftot)

procedure, public :: to_tokens => to_Token_t_CSF_Info_t

  • private pure function to_Token_t_CSF_Info_t(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: this

    Return Value type(Token_t), (size(this%stepvector))

procedure, public :: to_str => to_str_CSF_Info_t

  • private pure function to_str_CSF_Info_t(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CSF_Info_t), intent(in) :: this

    Return Value character(len=:), allocatable