guga_excitations Module



Contents

csf_vector_to_sds csf_to_sds_ilut calcFullStartFullStopMixedStochastic calc_orbital_pgen_contr_mol calc_orbital_pgen_contr_ueg calcDoubleR2L_stochastic calcDoubleL2R_stochastic calcDoubleL2R2L_stochastic calcDoubleRaisingStochastic calcDoubleR2L2R_stochastic calcDoubleLoweringStochastic calcFullStopL2R_stochastic calc_mixed_end_contr_approx calcFullStopR2L_stochastic doubleUpdateStochastic mixedFullStopStochastic calcRaisingSemiStartStochastic calcLoweringSemiStartStochastic calcRaisingSemiStopStochastic calcLoweringSemiStopStochastic calcFullStartR2L_stochastic calc_mixed_start_contr_approx calcFullStartL2R_stochastic calc_mixed_x2x_ueg calc_orbital_pgen_contrib_end_def calc_orbital_pgen_contrib_start_def forced_mixed_start mixedFullStartStochastic calcSingleOverlapMixedStochastic calcFullstopRaisingStochastic calcFullstopLoweringStochastic calcFullStartLoweringStochastic calcFullStartRaisingStochastic singleStochasticEnd singleStochasticUpdate createStochasticStart_single actHamiltonian calcAllExcitations_excitInfo_single calcAllExcitations_single doubleUpdate singleUpdate singleEnd createSingleStart calcAllExcitations_double calcDoubleR2L calcDoubleL2R calcDoubleRaising calcDoubleLowering calcFullStartFullStopAlike calcFullStartFullStopMixed calcFullStartR2L calcFullStartL2R calcRaisingSemiStop calcLoweringSemiStop mixedFullStart calcFullStartRaising calcFullStartLowering calcFullStopR2L calcFullStopL2R mixedFullStop calcLoweringSemiStart calcRaisingSemiStart calcFullstopLowering calcFullstopRaising calcSingleOverlapLowering calcSingleOverlapRaising calcSingleOverlapMixed calcNonOverlapDouble calcDoubleExcitation_withWeight checkCompatibility get_orbs_from_excit_info pickOrbs_sym_uniform_mol_single gen_cum_list_real_hub_1 gen_cum_list_real_hub_2 gen_cum_list_real_hub_3 pickOrbs_real_hubbard_double pickOrbs_real_hubbard_single gen_cum_list_guga_single_1 gen_cum_list_guga_single_2 gen_cum_list_guga_single_3 pickOrbs_sym_uniform_ueg_double pickOrbs_sym_uniform_ueg_single gen_ab_cum_list_ueg gen_ab_cum_list_1_1 gen_ab_cum_list_3_3 gen_ab_cum_list_3 pickOrbs_sym_uniform_mol_double pgen_select_orb_guga_mol pick_b_orb_guga_mol pick_a_orb_guga_mol gen_a_orb_cum_list_guga_mol pick_elec_pair_uniform_guga pickRandomOrb_restricted pickRandomOrb_vector pickRandomOrb_forced pickRandomOrb_scalar calcRemainingSwitches_single print_indices print_excitInfo

Variables

Type Visibility Attributes Name Initial
type(ExcitationInformation_t), public :: global_excitInfo

Interfaces

public interface excitationIdentifier

public interface calcAllExcitations

  • public subroutine calcAllExcitations_single(ilut, csf_i, i, j, excitations, nExcits, t_full)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:nifguga)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: i
    integer, intent(in) :: j
    integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
    integer, intent(out) :: nExcits
    logical, intent(in), optional :: t_full
  • public subroutine calcAllExcitations_double(ilut, csf_i, i, j, k, l, excitations, nExcits, t_full)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:nifguga)
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: i
    integer, intent(in) :: j
    integer, intent(in) :: k
    integer, intent(in) :: l
    integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
    integer, intent(out) :: nExcits
    logical, intent(in), optional :: t_full
  • private subroutine calcAllExcitations_excitInfo_single(ilut, csf_i, excitInfo, posSwitches, negSwitches, tmatFlag, excitations, nExcits)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:nifguga)
    type(CSF_Info_t), intent(in) :: csf_i
    type(ExcitationInformation_t), intent(in) :: excitInfo
    real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
    real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
    logical, intent(in) :: tmatFlag
    integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
    integer, intent(out) :: nExcits

Abstract Interfaces

abstract interface

  • private function calc_pgen_general(csf_i, i) result(pgen)

    Arguments

    Type IntentOptional Attributes Name
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: i

    Return Value real(kind=dp)


Functions

public function calc_off_diag_guga_ref_direct(ilut, csf_i, run, exlevel) result(hel)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:niftot)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in), optional :: run
integer, intent(out), optional :: exlevel

Return Value real(kind=dp)

private function calc_guga_mat_wrapper(ilutI, csf_i, ilutJ, csf_j) result(mat_ele)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(in) :: ilutJ(0:niftot)
type(CSF_Info_t), intent(in) :: csf_j

Return Value real(kind=dp)

public function create_hamiltonian_guga(ilut_list) result(hamil)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut_list(:,:)

Return Value real(kind=dp), (size(ilut_list,2),size(ilut_list,2))

private elemental function init_forced_end_exchange_weight(csf_i, sOrb) result(forced_double)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb

Return Value type(WeightObj_t)

private function init_forced_end_semistart_weight(csf_i, sOrb, pOrb, negSwitches, posSwitches, bVal) result(forced_semistart)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
integer, intent(in) :: pOrb
real(kind=dp), intent(in) :: negSwitches
real(kind=dp), intent(in) :: posSwitches
real(kind=dp), intent(in) :: bVal

Return Value type(WeightObj_t)

private function init_fullDoubleWeight(csf_i, sOrb, pOrb, oOrb, negSwitches1, negSwitches2, posSwitches1, posSwitches2, bVal1, bVal2) result(fullDouble)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
integer, intent(in) :: pOrb
integer, intent(in) :: oOrb
real(kind=dp), intent(in) :: negSwitches1
real(kind=dp), intent(in) :: negSwitches2
real(kind=dp), intent(in) :: posSwitches1
real(kind=dp), intent(in) :: posSwitches2
real(kind=dp), intent(in) :: bVal1
real(kind=dp), intent(in) :: bVal2

Return Value type(WeightObj_t)

private function init_singleOverlapRaising(csf_i, sOrb, pOrb, negSwitches, posSwitches, bVal) result(singleRaising)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
integer, intent(in) :: pOrb
real(kind=dp), intent(in) :: negSwitches
real(kind=dp), intent(in) :: posSwitches
real(kind=dp), intent(in) :: bVal

Return Value type(WeightObj_t)

private function getMinus_overlapRaising(nSwitches, bVal, dat) result(minusWeight)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: nSwitches
real(kind=dp), intent(in) :: bVal
type(WeightData_t), intent(in) :: dat

Return Value real(kind=dp)

private function getPlus_overlapRaising(nSwitches, bVal, dat) result(plusWeight)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: nSwitches
real(kind=dp), intent(in) :: bVal
type(WeightData_t), intent(in) :: dat

Return Value real(kind=dp)

private function init_singleOverlapLowering(csf_i, sOrb, pOrb, negSwitches, posSwitches, bVal) result(singleLowering)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
integer, intent(in) :: pOrb
real(kind=dp), intent(in) :: negSwitches
real(kind=dp), intent(in) :: posSwitches
real(kind=dp), intent(in) :: bVal

Return Value type(WeightObj_t)

private function getMinus_overlapLowering(nSwitches, bVal, dat) result(minusWeight)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: nSwitches
real(kind=dp), intent(in) :: bVal
type(WeightData_t), intent(in) :: dat

Return Value real(kind=dp)

private function getPlus_overlapLowering(nSwitches, bVal, dat) result(plusWeight)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: nSwitches
real(kind=dp), intent(in) :: bVal
type(WeightData_t), intent(in) :: dat

Return Value real(kind=dp)

private elemental function endLx(csf_i, ind) result(ret)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: ind

Return Value real(kind=dp)

public function get_excit_level_from_excitInfo(excitInfo) result(ic)

Arguments

Type IntentOptional Attributes Name
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value integer

public function calc_pgen_mol_guga_single(ilutI, nI, csf_i, ilutJ, nJ, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(in) :: ilutJ(0:niftot)
integer, intent(in) :: nJ(nel)
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)

private function calc_pgen_mol_guga_single_guga(ilutI, nI, ilutJ, nJ, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:niftot)
integer, intent(in) :: nI(nel)
integer(kind=n_int), intent(in) :: ilutJ(0:niftot)
integer, intent(in) :: nJ(nel)
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)

private function calc_pgen_mol_guga_single_orbs(ilut, nI, csf_i, excitInfo) result(pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:niftot)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value real(kind=dp)

public function get_guga_integral_contrib_spat(occ_orbs, orb_a, orb_b) result(cpt)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_a
integer, intent(in) :: orb_b

Return Value real(kind=dp)

public function get_guga_integral_contrib(occ_orbs, orb_a, orb_b) result(cpt)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_a
integer, intent(in) :: orb_b

Return Value real(kind=dp)

public function excitationIdentifier_double(i, j, k, l) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l

Return Value type(ExcitationInformation_t)

public function excitationIdentifier_single(i, j) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j

Return Value type(ExcitationInformation_t)

public function assign_excitInfo_values_double(typ, gen1, gen2, currentGen, firstGen, lastGen, i, j, k, l, fullStart, secondStart, firstEnd, fullEnd, weight, excitLvl, order, order1, overlap) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: typ
integer, intent(in) :: gen1
integer, intent(in) :: gen2
integer, intent(in) :: currentGen
integer, intent(in) :: firstGen
integer, intent(in) :: lastGen
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l
integer, intent(in) :: fullStart
integer, intent(in) :: secondStart
integer, intent(in) :: firstEnd
integer, intent(in) :: fullEnd
integer, intent(in) :: weight
integer, intent(in) :: excitLvl
real(kind=dp), intent(in) :: order
real(kind=dp), intent(in) :: order1
integer, intent(in), optional :: overlap

Return Value type(ExcitationInformation_t)

public function assign_excitInfo_values_single(gen, i, j, fullStart, fullEnd, typ) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: gen
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: fullStart
integer, intent(in) :: fullEnd
integer, intent(in), optional :: typ

Return Value type(ExcitationInformation_t)

public function checkCompatibility_single(csf_i, excitInfo) result(flag)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value logical


Subroutines

public subroutine csf_vector_to_sds(csfs, csf_coeffs, sds, sd_coeffs, ms)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: csfs(:,:)
real(kind=dp), intent(in) :: csf_coeffs(:)
integer(kind=n_int), intent(out), allocatable :: sds(:,:)
real(kind=dp), intent(out), allocatable :: sd_coeffs(:)
real(kind=dp), intent(in), optional :: ms

public subroutine csf_to_sds_ilut(csf, sds, weights, ms, coeff)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: csf(0:GugaBits%len_tot)
integer(kind=n_int), intent(out), allocatable :: sds(:,:)
real(kind=dp), intent(out), allocatable :: weights(:)
real(kind=dp), intent(in), optional :: ms
real(kind=dp), intent(in), optional :: coeff

public subroutine calcFullStartFullStopMixedStochastic(ilut, csf_i, excitInfo, t, pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calc_orbital_pgen_contr_mol(csf_i, occ_orbs, cpt_a, cpt_b)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cpt_a
real(kind=dp), intent(out) :: cpt_b

public subroutine calc_orbital_pgen_contr_ueg(csf_i, occ_orbs, above_cpt, below_cpt)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: above_cpt
real(kind=dp), intent(out) :: below_cpt

public subroutine calcDoubleR2L_stochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcDoubleL2R_stochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcDoubleL2R2L_stochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcDoubleRaisingStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcDoubleR2L2R_stochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcDoubleLoweringStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcFullStopL2R_stochastic(ilut, csf_i, excitInfo, t, pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

private subroutine calc_mixed_end_contr_approx(t, csf_i, excitInfo, integral)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: t(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(out) :: integral

public subroutine calcFullStopR2L_stochastic(ilut, csf_i, excitInfo, t, pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine doubleUpdateStochastic(ilut, csf_i, s, excitInfo, weights, negSwitches, posSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: s
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
integer(kind=n_int), intent(inout) :: t(0:nifguga)
real(kind=dp), intent(inout) :: probWeight

public subroutine mixedFullStopStochastic(ilut, csf_i, excitInfo, t)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout) :: t(0:nifguga)

public subroutine calcRaisingSemiStartStochastic(ilut, csf_i, excitInfo, weights, negSwitches, posSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
integer(kind=n_int), intent(inout) :: t(0:nifguga)
real(kind=dp), intent(inout) :: probWeight

public subroutine calcLoweringSemiStartStochastic(ilut, csf_i, excitInfo, weights, negSwitches, posSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
integer(kind=n_int), intent(inout) :: t(0:nifguga)
real(kind=dp), intent(inout) :: probWeight

public subroutine calcRaisingSemiStopStochastic(ilut, csf_i, excitInfo, weights, negSwitches, posSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
integer(kind=n_int), intent(inout) :: t(0:nifguga)
real(kind=dp), intent(inout) :: probWeight

public subroutine calcLoweringSemiStopStochastic(ilut, csf_i, excitInfo, weights, negSwitches, posSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
integer(kind=n_int), intent(inout) :: t(0:nifguga)
real(kind=dp), intent(inout) :: probWeight

public subroutine calcFullStartR2L_stochastic(ilut, csf_i, excitInfo, t, pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

private subroutine calc_mixed_start_contr_approx(t, csf_i, excitInfo, integral)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: t(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(out) :: integral

public subroutine calcFullStartL2R_stochastic(ilut, csf_i, excitInfo, t, pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calc_mixed_x2x_ueg(ilut, csf_i, t, excitInfo, branch_pgen, pgen, integral, rdm_ind, rdm_mat)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(in) :: t(0:nifguga)
type(ExcitationInformation_t), intent(inout) :: excitInfo
real(kind=dp), intent(inout) :: branch_pgen
real(kind=dp), intent(out) :: pgen
real(kind=dp), intent(out) :: integral
integer(kind=int_rdm), intent(out), optional, allocatable :: rdm_ind(:)
real(kind=dp), intent(out), optional, allocatable :: rdm_mat(:)

public subroutine calc_orbital_pgen_contrib_end_def(csf_i, occ_orbs, orb_a, orb_pgen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_a
real(kind=dp), intent(out) :: orb_pgen

public subroutine calc_orbital_pgen_contrib_start_def(csf_i, occ_orbs, orb_a, orb_pgen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_a
real(kind=dp), intent(out) :: orb_pgen

private subroutine forced_mixed_start(ilut, csf_i, excitInfo, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: probWeight

public subroutine mixedFullStartStochastic(ilut, csf_i, excitInfo, weights, posSwitches, negSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: probWeight

public subroutine calcSingleOverlapMixedStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcFullstopRaisingStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcFullstopLoweringStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcFullStartLoweringStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine calcFullStartRaisingStochastic(ilut, csf_i, excitInfo, t, branch_pgen, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: branch_pgen
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in), optional :: opt_weight

public subroutine singleStochasticEnd(csf_i, excitInfo, t)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout) :: t(0:nifguga)

public subroutine singleStochasticUpdate(ilut, csf_i, s, excitInfo, weights, posSwitches, negSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: s
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: probWeight

public subroutine createStochasticStart_single(ilut, csf_i, excitInfo, weights, posSwitches, negSwitches, t, probWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
integer(kind=n_int), intent(out) :: t(0:nifguga)
real(kind=dp), intent(out) :: probWeight

public subroutine actHamiltonian(ilut, csf_i, excitations, nTot, t_singles_only, t_print_time, t_full)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nTot
logical, intent(in), optional :: t_singles_only
logical, intent(in), optional :: t_print_time
logical, intent(in), optional :: t_full

private subroutine calcAllExcitations_excitInfo_single(ilut, csf_i, excitInfo, posSwitches, negSwitches, tmatFlag, excitations, nExcits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
logical, intent(in) :: tmatFlag
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits

public subroutine calcAllExcitations_single(ilut, csf_i, i, j, excitations, nExcits, t_full)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: i
integer, intent(in) :: j
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
logical, intent(in), optional :: t_full

private subroutine doubleUpdate(ilut, csf_i, sO, excitInfo, weights, tempExcits, nExcits, negSwitches, posSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sO
type(ExcitationInformation_t), intent(in) :: excitInfo
type(WeightObj_t), intent(in) :: weights
integer(kind=n_int), intent(inout) :: tempExcits(:,:)
integer, intent(inout) :: nExcits
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)

public subroutine singleUpdate(ilut, csf_i, sOrb, excitInfo, posSwitches, negSwitches, weightObj, tempExcits, nExcits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t) :: weightObj
integer(kind=n_int), intent(inout) :: tempExcits(:,:)
integer, intent(inout) :: nExcits

public subroutine singleEnd(ilut, csf_i, excitInfo, tempExcits, nExcits, excitations)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout), allocatable :: tempExcits(:,:)
integer, intent(inout) :: nExcits
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)

public subroutine createSingleStart(ilut, csf_i, excitInfo, posSwitches, negSwitches, weightObj, tempExcits, nExcits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(in) :: weightObj
integer(kind=n_int), intent(out), allocatable :: tempExcits(:,:)
integer, intent(out) :: nExcits

public subroutine calcAllExcitations_double(ilut, csf_i, i, j, k, l, excitations, nExcits, t_full)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
logical, intent(in), optional :: t_full

public subroutine calcDoubleR2L(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcDoubleL2R(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcDoubleRaising(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcDoubleLowering(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcFullStartFullStopAlike(ilut, csf_i, excitInfo, excitations)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)

public subroutine calcFullStartFullStopMixed(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcFullStartR2L(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
logical, intent(in), optional :: t_no_singles_opt

public subroutine calcFullStartL2R(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
logical, intent(in), optional :: t_no_singles_opt

private subroutine calcRaisingSemiStop(ilut, csf_i, excitInfo, tempExcits, nExcits, plusWeight, minusWeight, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t) :: excitInfo
integer(kind=n_int), intent(inout), allocatable :: tempExcits(:,:)
integer, intent(inout) :: nExcits
real(kind=dp), intent(in) :: plusWeight
real(kind=dp), intent(in) :: minusWeight
logical, intent(in), optional :: t_no_singles_opt

private subroutine calcLoweringSemiStop(ilut, csf_i, excitInfo, tempExcits, nExcits, plusWeight, minusWeight, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t) :: excitInfo
integer(kind=n_int), intent(inout), allocatable :: tempExcits(:,:)
integer, intent(inout) :: nExcits
real(kind=dp), intent(in) :: plusWeight
real(kind=dp), intent(in) :: minusWeight
logical, intent(in), optional :: t_no_singles_opt

private subroutine mixedFullStart(ilut, csf_i, excitInfo, plusWeight, minusWeight, zeroWeight, tempExcits, nExcits)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
real(kind=dp), intent(in) :: plusWeight
real(kind=dp), intent(in) :: minusWeight
real(kind=dp), intent(in) :: zeroWeight
integer(kind=n_int), intent(out), allocatable :: tempExcits(:,:)
integer, intent(out) :: nExcits

public subroutine calcFullStartRaising(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcFullStartLowering(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcFullStopR2L(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
logical, intent(in), optional :: t_no_singles_opt

public subroutine calcFullStopL2R(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)
logical, intent(in), optional :: t_no_singles_opt

private subroutine mixedFullStop(ilut, csf_i, excitInfo, tempExcits, nExcits, excitations, t_no_singles_opt)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout), allocatable :: tempExcits(:,:)
integer, intent(inout) :: nExcits
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
logical, intent(in), optional :: t_no_singles_opt

private subroutine calcLoweringSemiStart(ilut, csf_i, excitInfo, tempExcits, nExcits, plusWeight, minusWeight, zeroWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout) :: tempExcits(:,:)
integer, intent(inout) :: nExcits
real(kind=dp), intent(in) :: plusWeight
real(kind=dp), intent(in) :: minusWeight
real(kind=dp), intent(in) :: zeroWeight

private subroutine calcRaisingSemiStart(ilut, csf_i, excitInfo, tempExcits, nExcits, plusWeight, minusWeight, zeroWeight)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(inout) :: tempExcits(:,:)
integer, intent(inout) :: nExcits
real(kind=dp), intent(in) :: plusWeight
real(kind=dp), intent(in) :: minusWeight
real(kind=dp), intent(in) :: zeroWeight

public subroutine calcFullstopLowering(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcFullstopRaising(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcSingleOverlapLowering(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcSingleOverlapRaising(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcSingleOverlapMixed(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(inout) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcNonOverlapDouble(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine calcDoubleExcitation_withWeight(ilut, csf_i, excitInfo, excitations, nExcits, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
integer(kind=n_int), intent(out), allocatable :: excitations(:,:)
integer, intent(out) :: nExcits
real(kind=dp), intent(in) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(in) :: negSwitches(nSpatOrbs)

public subroutine checkCompatibility(csf_i, excitInfo, flag, posSwitches, negSwitches, opt_weight)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(in) :: excitInfo
logical, intent(out) :: flag
real(kind=dp), intent(out), optional :: posSwitches(nSpatOrbs)
real(kind=dp), intent(out), optional :: negSwitches(nSpatOrbs)
type(WeightObj_t), intent(out), optional :: opt_weight

private subroutine get_orbs_from_excit_info(excitInfo, a, b, c, d)

Arguments

Type IntentOptional Attributes Name
type(ExcitationInformation_t), intent(in) :: excitInfo
integer, intent(out) :: a
integer, intent(out) :: b
integer, intent(out), optional :: c
integer, intent(out), optional :: d

public subroutine pickOrbs_sym_uniform_mol_single(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

private subroutine gen_cum_list_real_hub_1(csf_i, orb_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)

private subroutine gen_cum_list_real_hub_2(csf_i, orb_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)

private subroutine gen_cum_list_real_hub_3(csf_i, orb_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)

public subroutine pickOrbs_real_hubbard_double(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

public subroutine pickOrbs_real_hubbard_single(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

private subroutine gen_cum_list_guga_single_1(nI, csf_i, orb_i, cc_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
integer, intent(in) :: cc_i
real(kind=dp), intent(out) :: cum_arr(OrbClassCount(cc_i))

private subroutine gen_cum_list_guga_single_2(nI, csf_i, orb_i, cc_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
integer, intent(in) :: cc_i
real(kind=dp), intent(out) :: cum_arr(OrbClassCount(cc_i))

private subroutine gen_cum_list_guga_single_3(nI, csf_i, orb_i, cc_i, cum_arr)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
integer, intent(in) :: cc_i
real(kind=dp), intent(out) :: cum_arr(OrbClassCount(cc_i))

public subroutine pickOrbs_sym_uniform_ueg_double(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

public subroutine pickOrbs_sym_uniform_ueg_single(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

private subroutine gen_ab_cum_list_ueg(ilut, csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out) :: excit_arr(nBasis)
integer, intent(out) :: orb_arr(nSpatOrbs)

private subroutine gen_ab_cum_list_1_1(csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out), optional :: excit_arr(nSpatOrbs)
integer, intent(out), optional :: orb_arr(nSpatOrbs)

private subroutine gen_ab_cum_list_3_3(csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out) :: excit_arr(nSpatOrbs)
integer, intent(out) :: orb_arr(nSpatOrbs)

private subroutine gen_ab_cum_list_3(csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out) :: excit_arr(nSpatOrbs)
integer, intent(out) :: orb_arr(nSpatOrbs)

public subroutine pickOrbs_sym_uniform_mol_double(ilut, nI, csf_i, excitInfo, pgen)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
integer, intent(in) :: nI(nel)
type(CSF_Info_t), intent(in) :: csf_i
type(ExcitationInformation_t), intent(out) :: excitInfo
real(kind=dp), intent(out) :: pgen

private subroutine pgen_select_orb_guga_mol(csf_i, occ_orbs, orb_b, orb_a, cpt, cum_sum, orb_res, range_flag)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_b
integer, intent(in) :: orb_a
real(kind=dp), intent(out) :: cpt
real(kind=dp), intent(out) :: cum_sum
integer, intent(in), optional :: orb_res
logical, intent(in), optional :: range_flag

private subroutine pick_b_orb_guga_mol(csf_i, occ_orbs, orb_a, cc_b, int_contrib, cum_sum, orb_b, orb_res, range_flag)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
integer, intent(in) :: orb_a
integer, intent(in) :: cc_b
real(kind=dp), intent(out) :: int_contrib
real(kind=dp), intent(out) :: cum_sum
integer, intent(out) :: orb_b
integer, intent(in), optional :: orb_res
logical, intent(in), optional :: range_flag

private subroutine pick_a_orb_guga_mol(csf_i, occ_orbs, contrib, cum_sum, cum_arr, orb_a)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: contrib
real(kind=dp), intent(out) :: cum_sum
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
integer, intent(out) :: orb_a

private subroutine gen_a_orb_cum_list_guga_mol(csf_i, occ_orbs, cum_arr, tgt_orb, pgen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
integer, intent(in), optional :: tgt_orb
real(kind=dp), intent(out), optional :: pgen

public subroutine pick_elec_pair_uniform_guga(nI, spin_orbs, sym_prod, sum_ml, temp_pgen)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(out) :: spin_orbs(2)
integer, intent(out) :: sym_prod
integer, intent(out) :: sum_ml
real(kind=dp), intent(out) :: temp_pgen

public subroutine pickRandomOrb_restricted(csf_i, start, ende, pgen, orb, occRes)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: start
integer, intent(in) :: ende
real(kind=dp), intent(inout) :: pgen
integer, intent(out) :: orb
integer, intent(in), optional :: occRes

public subroutine pickRandomOrb_vector(csf_i, orbRes, pgen, orb, occRes)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orbRes(:)
real(kind=dp), intent(inout) :: pgen
integer, intent(out) :: orb
integer, intent(in), optional :: occRes

public subroutine pickRandomOrb_forced(csf_i, occRes, pgen, orb, orbRes1)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occRes
real(kind=dp), intent(inout) :: pgen
integer, intent(out) :: orb
integer, intent(in), optional :: orbRes1

public subroutine pickRandomOrb_scalar(csf_i, orbRes, pgen, orb, occRes)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orbRes
real(kind=dp), intent(inout) :: pgen
integer, intent(out) :: orb
integer, intent(in), optional :: occRes

public subroutine calcRemainingSwitches_single(csf_i, sOrb, pOrb, posSwitches, negSwitches)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
integer, intent(in) :: pOrb
real(kind=dp), intent(out) :: posSwitches(nSpatOrbs)
real(kind=dp), intent(out) :: negSwitches(nSpatOrbs)

private subroutine print_indices(excitInfo)

Arguments

Type IntentOptional Attributes Name
type(ExcitationInformation_t), intent(in) :: excitInfo

public subroutine print_excitInfo(excitInfo)

Arguments

Type IntentOptional Attributes Name
type(ExcitationInformation_t), intent(in) :: excitInfo