| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(PCHB_HoleAlgorithm_vals_t), | private, | parameter | :: | algorithm_vals | = | PCHB_HoleAlgorithm_vals_t() |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilutI(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| integer, | intent(in) | :: | ij | |||
| integer, | intent(in) | :: | i_sg | |||
| integer, | intent(in) | :: | a | |||
| integer, | intent(in) | :: | b |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | rank_with_info | |||
| real(kind=dp), | intent(out), | allocatable | :: | ij_weights(:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(inout) | :: | this |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | val | ||||
| character(len=9), | private | :: | str |
| generic, public :: operator(==) => eq_EnumBase_t | |
| generic, public :: operator(/=) => neq_EnumBase_t | |
| procedure, public :: to_str => HoleAlgorithm_to_str |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(PCHB_HoleAlgorithm_t), | public | :: | FAST_FAST | = | PCHB_HoleAlgorithm_t(1, 'FAST-FAST') | ||
| type(PCHB_HoleAlgorithm_t), | public | :: | FULL_FULL | = | PCHB_HoleAlgorithm_t(2, 'FULL-FULL') |
| procedure, public, nopass :: from_str => HoleAlgorithm_from_str |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | use_lookup | = | .false. |
Use a lookup for the prop_vec index in global_det_data |
|
| logical, | public | :: | create_lookup | = | .false. |
Create and manage! the prop_vec index lookup in global_det_data. |
|
| class(ParticleSelector_t), | private, | allocatable | :: | particle_selector | |||
| type(shared_array_int64_t), | private | :: | all_info_table | ||||
| type(shared_array_int64_t), | private, | allocatable | :: | info_tables(:) | |||
| class(AlsoGUGA_PropertyIndexer_t), | private, | allocatable | :: | indexer | |||
| procedure(get_doubles_weight_t), | private, | pointer, nopass | :: | get_weight | => | null() |
| procedure(DoublesPickOrbitals_t), public, deferred :: pickOrbitals | |
| procedure, public :: init => init_PropVec_PCHB_Doubles_t | |
| procedure, public :: finalize => finalize_GugaAliasSampler_t | |
| procedure, public :: gen_all_distinct | |
| procedure, private :: new_info_table | |
| procedure, private :: set_info_entry | |
| procedure, private :: get_info_entry | |
| procedure, public :: calc_pgen => calc_pgen_Base | |
| procedure, public :: calc_orbital_pgen_contr => calc_orbital_pgen_contr_Base | |
| procedure, public :: calc_orbital_pgen_contr_start => calc_orbital_pgen_contr_start_Base | |
| procedure, public :: calc_orbital_pgen_contr_end => calc_orbital_pgen_contr_end_Base | |
| procedure(calc_hole_pgen_t), private, deferred :: calc_hole_pgen | |
| procedure(calculate_pchb_sampler_t), private, deferred :: setup_pchb_sampler_conditional | |
| procedure(additional_finalize_t), private, deferred :: finalize_pchb_sampler | |
| procedure(GetMemoryDemand_t), public, deferred :: get_memory_demand |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | use_lookup | = | .false. |
Use a lookup for the prop_vec index in global_det_data |
|
| logical, | public | :: | create_lookup | = | .false. |
Create and manage! the prop_vec index lookup in global_det_data. |
|
| type(AliasSampler_2D_t), | private | :: | alias_sampler |
The shape is (fused_number_of_double_excitations, n_prop_vec) |
|||
| integer, | private, | allocatable | :: | tgtOrbs(:,:) |
| procedure, public :: init => init_PropVec_PCHB_Doubles_t | |
| procedure, public :: finalize => finalize_GugaAliasSampler_t | |
| procedure, public :: gen_all_distinct | |
| procedure, public :: calc_pgen => calc_pgen_Base | |
| procedure, public :: calc_orbital_pgen_contr => calc_orbital_pgen_contr_Base | |
| procedure, public :: calc_orbital_pgen_contr_start => calc_orbital_pgen_contr_start_Base | |
| procedure, public :: calc_orbital_pgen_contr_end => calc_orbital_pgen_contr_end_Base | |
| procedure, public :: pickOrbitals => pickOrbitals_FastFast | |
| procedure, private :: calc_hole_pgen => calc_hole_pgen_FastFast | |
| procedure, private :: setup_pchb_sampler_conditional => setup_pchb_sampler_conditional_FastFast | |
| procedure, private :: finalize_pchb_sampler => finalize_pchb_sampler_FastFast | |
| procedure, public :: get_memory_demand => get_memory_demand_FastFast |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | use_lookup | = | .false. |
Use a lookup for the prop_vec index in global_det_data |
|
| logical, | public | :: | create_lookup | = | .false. |
Create and manage! the prop_vec index lookup in global_det_data. |
|
| type(AliasSampler_2D_t), | private | :: | A_sampler |
The shape is (fused_number_of_double_excitations, n_prop_vec) -> orbitals |
|||
| type(AliasSampler_3D_t), | private | :: | B_sampler |
The shape is (orbitals, fused_number_of_double_excitations, n_prop_vec) -> orbitals |
|||
| type(UnoccupiedGetter_t), | private | :: | unoccupied |
| procedure, public :: init => init_PropVec_PCHB_Doubles_t | |
| procedure, public :: finalize => finalize_GugaAliasSampler_t | |
| procedure, public :: gen_all_distinct | |
| procedure, public :: calc_pgen => calc_pgen_Base | |
| procedure, public :: calc_orbital_pgen_contr => calc_orbital_pgen_contr_Base | |
| procedure, public :: calc_orbital_pgen_contr_start => calc_orbital_pgen_contr_start_Base | |
| procedure, public :: calc_orbital_pgen_contr_end => calc_orbital_pgen_contr_end_Base | |
| procedure, public :: pickOrbitals => pickOrbitals_FullFull | |
| procedure, private :: calc_hole_pgen => calc_hole_pgen_FullFull | |
| procedure, private :: setup_pchb_sampler_conditional => setup_pchb_sampler_conditional_FullFull | |
| procedure, private :: finalize_pchb_sampler => finalize_pchb_sampler_FullFull | |
| procedure, public :: get_memory_demand => get_memory_demand_FullFull |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t) | :: | this | ||||
| integer, | intent(in) | :: | iEntry | |||
| integer, | intent(in) | :: | tgt |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ijab_Index_t), | intent(in) | :: | idx |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | str |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(DistinctDouble_t), | intent(in) | :: | exc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FastFast_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FastFast_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilutI(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| integer, | intent(in) | :: | ij | |||
| integer, | intent(in) | :: | i_sg | |||
| integer, | intent(in) | :: | a | |||
| integer, | intent(in) | :: | b |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FullFull_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FullFull_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilutI(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| integer, | intent(in) | :: | ij | |||
| integer, | intent(in) | :: | i_sg | |||
| integer, | intent(in) | :: | a | |||
| integer, | intent(in) | :: | b |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nel) | |||
| integer(kind=n_int), | intent(in) | :: | ilutI(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| type(ExcitationInformation_t), | intent(in) | :: | excitInfo |
This function returns all possible excitations for the orbital picker
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| logical, | intent(in), | optional | :: | sort_fused_key |
The fused index of the excitations should be sorted. |
This function returns all possible excitations for the orbital picker
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AlsoGUGA_PropertyIndexer_t), | intent(in) | :: | indexer | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| logical, | intent(in), | optional | :: | sort_fused_key |
The fused index of the excitations should be sorted. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCHB_HoleAlgorithm_t), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t) | :: | this | ||||
| integer(kind=int64), | intent(in) | :: | nEntries | |||
| integer(kind=int64), | intent(in) | :: | entrySize |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t) | :: | this | ||||
| integer, | intent(in) | :: | ij | |||
| integer, | intent(in) | :: | ab | |||
| integer(kind=int64), | intent(in) | :: | info |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(inout) | :: | this | |||
| class(AlsoGUGA_PropertyIndexer_t), | intent(in) | :: | indexer | |||
| type(PCHB_ParticleSelection_t), | intent(in) | :: | particle_selection | |||
| type(WeightingChoice_t), | intent(in) | :: | weighting_selection | |||
| logical, | intent(in) | :: | use_lookup | |||
| logical, | intent(in) | :: | create_lookup |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilut(0:GugaBits%len_tot) | |||
| 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 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilut(0:GugaBits%len_tot) | |||
| 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 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_Doubles_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nEl) | |||
| integer(kind=n_int), | intent(in) | :: | ilut(0:GugaBits%len_tot) | |||
| 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 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FastFast_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | rank_with_info | |||
| real(kind=dp), | intent(out), | allocatable | :: | ij_weights(:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FastFast_t), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FastFast_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nel) | |||
| integer(kind=n_int), | intent(in) | :: | ilut(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| type(ExcitationInformation_t), | intent(out) | :: | excitInfo | |||
| real(kind=dp), | intent(out) | :: | pgen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FullFull_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | rank_with_info | |||
| real(kind=dp), | intent(out), | allocatable | :: | ij_weights(:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FullFull_t), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PropVec_PCHB_FullFull_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | nI(nel) | |||
| integer(kind=n_int), | intent(in) | :: | ilut(0:GugaBits%len_tot) | |||
| type(CSF_Info_t), | intent(in) | :: | csf_i | |||
| type(ExcitationInformation_t), | intent(out) | :: | excitInfo | |||
| real(kind=dp), | intent(out) | :: | pgen |