averaging module This module consists of tools that are required for averaging occupations scheme for averaging within different MO subspaces as specified by the strutures P%av_occ(:)
function is_occupied: P: Parameter structure N_occ: occ array oi: orbital index returns TRUE if there might be a statistical chance for occupancy in orbital oi otherwise FALSE
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer | :: | oi |
function has_hole: P: Parameter structure N_occ: occ array oi: orbital index returns TRUE if there might be a statistical chance for a hole in orbital oi otherwise FALSE
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer, | intent(in) | :: | oi |
returns true if occ1 and occ2 are equivalent through averaging
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | occ1(:) | |||
integer, | intent(in) | :: | occ2(:) |
function is_equivalent: N_occ: occ array part: orbital index hole: orbital index returns TRUE if orbital part and orbital hole are equivalent otherwise FALSE
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer | :: | part | ||||
integer | :: | hole |
function is_pair_occupied: P: Parameter structure N_occ: occ array oi: orbital index oj: orbital index returns TRUE if there is a statistical chance that orbital oi and oj are both occupied otherwise FALSE
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer, | intent(in) | :: | oi | |||
integer, | intent(in) | :: | oj |
function stat_factor_pair_occupied P: Parameter structure N_occ: occ array oi: orbital index oj: orbital index returns the statistical factor that a spin-orbital pair oi, oj is occupied
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer | :: | oi | ||||
integer | :: | oj |
function stat_factor_part_hole_pair P: Parameter structure N_occ: occ array oi: orbital index for particle oj: orbital index for hole returns the statistical factor that a spin-orbital pair oi, oj has an electron in oi and a hole in oj Notes that : stat_factor_part_hole_pair(oi,oj) = stat_factor_occupied(oi) - stat_factor_pair_occupied(oi,oj)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer | :: | oi | ||||
integer | :: | oj |
subroutine averaged_occs: returns an array of occupations that describe the occupation patterns which are averaged, using the averaging scheme given in F%av_occ(:) and the occupation N_occ(:)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(wf_data), | intent(in) | :: | f | |||
integer, | intent(in) | :: | n_occ(:) | |||
integer, | intent(out), | allocatable | :: | occs(:,:) |