fcimc_helper Module



Contents


Interfaces

public interface CalcParentFlag

  • public subroutine CalcParentFlag_normal(j, parent_flags)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: j
    integer, intent(out) :: parent_flags
  • public subroutine CalcParentFlag_det(j, nI, exLvl, parent_flags)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: j
    integer, intent(in) :: nI(nel)
    integer, intent(in) :: exLvl
    integer, intent(out) :: parent_flags

public interface TestInitiator

  • public function TestInitiator_ilut(ilut, site_idx, is_init, run) result(initiator)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
    integer, intent(in) :: site_idx
    logical, intent(in) :: is_init
    integer, intent(in) :: run

    Return Value logical

  • public function TestInitiator_explicit(ilut, nI, det_idx, is_init, sgn, exLvl, run) result(initiator)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
    integer, intent(in) :: nI(nel)
    integer, intent(in) :: det_idx
    logical, intent(in) :: is_init
    real(kind=dp), intent(in) :: sgn(lenof_sign)
    integer, intent(in) :: exLvl
    integer, intent(in) :: run

    Return Value logical


Functions

public function TestMCExit(Iter, RDMSamplingIter) result(ExitCriterion)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Iter
integer, intent(in) :: RDMSamplingIter

Return Value logical

public function checkValidSpawnedList(proc) result(list_full)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: proc

Return Value logical

public function TestInitiator_ilut(ilut, site_idx, is_init, run) result(initiator)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
integer, intent(in) :: site_idx
logical, intent(in) :: is_init
integer, intent(in) :: run

Return Value logical

public function TestInitiator_explicit(ilut, nI, det_idx, is_init, sgn, exLvl, run) result(initiator)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
integer, intent(in) :: nI(nel)
integer, intent(in) :: det_idx
logical, intent(in) :: is_init
real(kind=dp), intent(in) :: sgn(lenof_sign)
integer, intent(in) :: exLvl
integer, intent(in) :: run

Return Value logical

public function TestInitiator_pure_space(ilut, nI, site_idx, initiator_before, run) result(initiator)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
integer, intent(in) :: nI(nel)
integer, intent(in) :: site_idx
logical, intent(in) :: initiator_before
integer, intent(in) :: run

Return Value logical

public function initiator_criterium(sign, hdiag, run) result(init_flag)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: sign(lenof_sign)
real(kind=dp), intent(in) :: hdiag
integer, intent(in) :: run

Return Value logical

public function spawn_criterium(idx) result(spawnInit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: idx

Return Value logical

public function TestIfDETinCASBit(iLutnI)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iLutnI(0:NIfD)

Return Value logical

public function TestifDETinCAS(CASDet)

Arguments

Type IntentOptional Attributes Name
integer :: CASDet(NEl)

Return Value logical

public function CheckAllowedTruncSpawn(WalkExcitLevel, nJ, ilutnJ, IC) result(bAllowed)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: WalkExcitLevel
integer, intent(in) :: nJ(nel)
integer(kind=n_int), intent(in) :: ilutnJ(0:NIfTot)
integer, intent(in) :: IC

Return Value logical

public function check_semistoch_flags(ilut_child, nI_child, run, tCoreDet) result(break)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut_child(0:niftot)
integer, intent(in) :: nI_child(nel)
integer, intent(in) :: run
logical, intent(in) :: tCoreDet

Return Value logical


Subroutines

public subroutine create_particle(nJ, iLutJ, child, part_type, hdiag_spawn, err, ilutI, SignCurr, WalkerNo, RDMBiasFacCurr, WalkersToSpawn, matel, ParentPos)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nJ(nel)
integer(kind=n_int), intent(in) :: iLutJ(0:niftot)
real(kind=dp), intent(in) :: child(lenof_sign)
integer, intent(in) :: part_type
real(kind=dp), intent(in) :: hdiag_spawn
integer, intent(out) :: err
integer(kind=n_int), intent(in), optional :: ilutI(0:niftot)
real(kind=dp), intent(in), optional :: SignCurr(lenof_sign)
integer, intent(in), optional :: WalkerNo
real(kind=dp), intent(in), optional :: RDMBiasFacCurr
integer, intent(in), optional :: WalkersToSpawn
real(kind=dp), intent(in), optional :: matel
integer, intent(in), optional :: ParentPos

public subroutine create_particle_with_hash_table(nI_child, ilut_child, child_sign, part_type, ilut_parent, iter_data, err)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI_child(nel)
integer(kind=n_int), intent(in) :: ilut_child(0:NIfTot)
real(kind=dp), intent(in) :: child_sign(lenof_sign)
integer, intent(in) :: part_type
integer(kind=n_int), intent(in) :: ilut_parent(0:NIfTot)
type(fcimc_iter_data), intent(inout) :: iter_data
integer, intent(out) :: err

public subroutine SumEContrib(nI, ExcitLevel, RealwSign, ilut, HDiagCurr, HOffDiagCurr, dProbFin, tPairedReplicas, ind)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
integer, intent(in) :: ExcitLevel
real(kind=dp), intent(in) :: RealwSign(lenof_sign)
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)
real(kind=dp), intent(in) :: HDiagCurr
real(kind=dp), intent(in) :: HOffDiagCurr
real(kind=dp), intent(in) :: dProbFin
logical, intent(in) :: tPairedReplicas
integer, intent(in), optional :: ind

public subroutine SumEContrib_different_refs(nI, sgn, ilut, dProbFin, tPairedReplicas, ind)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nel)
real(kind=dp), intent(in) :: sgn(lenof_sign)
integer(kind=n_int), intent(in) :: ilut(0:NifTot)
real(kind=dp), intent(in) :: dProbFin
logical, intent(in) :: tPairedReplicas
integer, intent(in), optional :: ind

public subroutine CalcParentFlag_normal(j, parent_flags)

Arguments

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

public subroutine CalcParentFlag_det(j, nI, exLvl, parent_flags)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: j
integer, intent(in) :: nI(nel)
integer, intent(in) :: exLvl
integer, intent(out) :: parent_flags

public subroutine rezero_iter_stats_each_iter(iter_data, rdm_defs)

Arguments

Type IntentOptional Attributes Name
type(fcimc_iter_data), intent(inout) :: iter_data
type(rdm_definitions_t), intent(in) :: rdm_defs

public subroutine InitHistMin()

Arguments

None

public subroutine end_iter_stats(TotWalkersNew)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: TotWalkersNew

public subroutine FindHighPopDet(TotWalkersNew)

Arguments

Type IntentOptional Attributes Name
integer :: TotWalkersNew

public subroutine LanczosFindGroundE(Dets, DetLen, GroundE, ProjGroundE, tInit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Dets(NEl,DetLen)
integer, intent(in) :: DetLen
real(kind=dp), intent(out) :: GroundE
real(kind=dp), intent(out) :: ProjGroundE
logical, intent(in) :: tInit

public subroutine FlipSign(part_type)

Arguments

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

public subroutine DiagWalkerSubspace()

Arguments

None

public subroutine decide_num_to_spawn(parent_pop, av_spawns_per_walker, nspawn)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: parent_pop
real(kind=dp), intent(in) :: av_spawns_per_walker
integer, intent(out) :: nspawn

public subroutine rescale_spawns(ValidSpawned, proj_energy, iter_data)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ValidSpawned
real(kind=dp), intent(in) :: proj_energy(lenof_sign)
type(fcimc_iter_data), intent(inout) :: iter_data

public subroutine set_init_flag_spawns_to_occ(ValidSpawned)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ValidSpawned

public subroutine perform_death_all_walkers(iter_data)

Arguments

Type IntentOptional Attributes Name
type(fcimc_iter_data), intent(inout) :: iter_data

public subroutine walker_death(iter_data, DetCurr, iLutCurr, Kii, RealwSign, DetPosition, walkExcitLevel, t_core_die_)

Arguments

Type IntentOptional Attributes Name
type(fcimc_iter_data), intent(inout) :: iter_data
integer, intent(in) :: DetCurr(nel)
integer(kind=n_int), intent(in) :: iLutCurr(0:niftot)
real(kind=dp), intent(in) :: Kii
real(kind=dp), intent(in), dimension(lenof_sign) :: RealwSign
integer, intent(in) :: DetPosition
integer, intent(in) :: walkExcitLevel
logical, intent(in), optional :: t_core_die_

public subroutine check_start_rdm()

Arguments

None

public subroutine update_run_reference(ilut, run)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)
integer, intent(in) :: run

public subroutine calc_proje(InstE, AccumE)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: InstE(inum_runs)
real(kind=dp), intent(out), optional :: AccumE(inum_runs)