back_spawn Module



Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=n_int), public, allocatable :: mask_virt_ilut(:,:)
integer, public, allocatable :: mask_virt_ni(:,:)

Functions

public function check_electron_location(src, ic, part_type) result(loc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: src(2)
integer, intent(in) :: ic
integer, intent(in) :: part_type

Return Value integer

public function check_electron_location_spatial(orbs, ic, part_type) result(loc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orbs(2)
integer, intent(in) :: ic
integer, intent(in) :: part_type

Return Value integer

public function check_orbital_location(src, ic, part_type) result(loc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: src(2)
integer, intent(in) :: ic
integer, intent(in) :: part_type

Return Value integer

public function check_orbital_location_spatial(orbs, ic, part_type) result(loc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orbs(2)
integer, intent(in) :: ic
integer, intent(in) :: part_type

Return Value integer

public function is_in_ref(orb, part_type)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb
integer, intent(in), optional :: part_type

Return Value logical

private function is_in_ref_spatial(orb, part_type)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb
integer, intent(in), optional :: part_type

Return Value logical

public function is_in_virt_mask(orb, part_type)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb
integer, intent(in), optional :: part_type

Return Value logical

private function is_in_virt_mask_spatial(orb, part_type)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb
integer, intent(in), optional :: part_type

Return Value logical

public function is_allowed_ueg_k_vector(orbi, orbj, orba) result(is_allowed)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orbi
integer, intent(in) :: orbj
integer, intent(in) :: orba

Return Value logical


Subroutines

public subroutine init_back_spawn()

Arguments

None

public subroutine setup_virtual_mask()

Arguments

None

public pure subroutine encode_mask_virt(nI, ilut)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nBasis-nel)
integer(kind=n_int), intent(out) :: ilut(0:niftot)

public subroutine pick_virtual_electrons_double(nI, part_type, elecs, src, ispn, sum_ml, pgen, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(in) :: part_type
integer, intent(out) :: elecs(2)
integer, intent(out) :: src(2)
integer, intent(out) :: ispn
integer, intent(out) :: sum_ml
real(kind=dp), intent(out) :: pgen
logical, intent(in), optional :: calc_pgen

public subroutine pick_occupied_orbital_single(ilut, src, cc_index, part_type, pgen, orb, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:niftot)
integer, intent(in) :: src
integer, intent(in) :: cc_index
integer, intent(in) :: part_type
real(kind=dp), intent(out) :: pgen
integer, intent(out) :: orb
logical, intent(in), optional :: calc_pgen

public subroutine pick_occupied_orbital_hubbard(ilutI, part_type, pgen, orb, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: part_type
real(kind=dp), intent(out) :: pgen
integer, intent(out) :: orb
logical, intent(in), optional :: calc_pgen

public subroutine pick_occupied_orbital_ueg(ilutI, src, ispn, part_type, cpt, cum_sum, orb, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: src(2)
integer, intent(in) :: ispn
integer, intent(in) :: part_type
real(kind=dp), intent(out) :: cpt
real(kind=dp), intent(out) :: cum_sum
integer, intent(out) :: orb
logical, intent(in), optional :: calc_pgen

public subroutine pick_occupied_orbital(ilutI, src, ispn, part_type, cpt, cum_sum, orb, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: src(2)
integer, intent(in) :: ispn
integer, intent(in) :: part_type
real(kind=dp), intent(out) :: cpt
real(kind=dp), intent(out) :: cum_sum
integer, intent(out) :: orb
logical, intent(in), optional :: calc_pgen

public subroutine pick_second_occupied_orbital(ilutI, cc_b, orb_a, ispn, part_type, cpt, cum_sum, orb, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: cc_b
integer, intent(in) :: orb_a
integer, intent(in) :: ispn
integer, intent(in) :: part_type
real(kind=dp), intent(out) :: cpt
real(kind=dp), intent(out) :: cum_sum
integer, intent(out) :: orb
logical, intent(in), optional :: calc_pgen

public subroutine pick_virtual_electrons_double_hubbard(nI, part_type, elecs, src, ispn, pgen, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(in) :: part_type
integer, intent(out) :: elecs(2)
integer, intent(out) :: src(2)
integer, intent(out) :: ispn
real(kind=dp), intent(out) :: pgen
logical, intent(in), optional :: calc_pgen

public subroutine pick_virtual_electron_single(nI, part_type, elec, pgen_elec, calc_pgen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(in) :: part_type
integer, intent(out) :: elec
real(kind=dp), intent(out) :: pgen_elec
logical, intent(in), optional :: calc_pgen