MPI-SCATCI  2.0
An MPI version of SCATCI
contracted_hamiltonian_module::contracted_hamiltonian Type Reference

Computation of Hamiltonian. More...

Inheritance diagram for contracted_hamiltonian_module::contracted_hamiltonian:
Collaboration diagram for contracted_hamiltonian_module::contracted_hamiltonian:

Public Member Functions

procedure, public initialize => initialize_contracted_hamiltonian
 
procedure, public build_hamiltonian => build_contracted_hamiltonian
 
- Public Member Functions inherited from hamiltonian_module::basehamiltonian
procedure, public construct => construct_base_hamiltonian
 
procedure(generic_build), deferred build_hamiltonian
 
procedure, public slater_rules
 
procedure, public evaluate_integrals
 
procedure, public evaluate_integrals_singular
 
procedure, public my_job
 

Private Member Functions

procedure, private evaluate_class_1
 
procedure, private evaluate_class_2
 
procedure, private evaluate_class_3
 
procedure, private evaluate_class_4
 
procedure, private evaluate_class_5
 
procedure, private evaluate_class_6
 
procedure, private evaluate_class_7
 
procedure, private evaluate_class_8
 
procedure, private evaluate_class_2_and_8
 
procedure, private fast_contract_class_1_3_diag
 
procedure, private fast_contract_class_1_3_offdiag
 
procedure, private fast_contract_class_567
 
procedure, private expand_diagonal
 
procedure, private expand_off_diagonal
 
procedure, private expand_continuum_l2
 
procedure, private expand_off_diagonal_general
 
procedure, private expand_continuum_l2_eval
 
procedure, private expand_diagonal_eval
 
procedure, private contr_expand_diagonal_eval
 
procedure, private contr_expand_off_diagonal_eval
 
procedure, private contr_expand_continuum_l2_eval
 
procedure, private expand_off_diagonal_eval
 
procedure, private expand_off_diagonal_gen_eval
 
procedure, private compute_matrix_ij
 
procedure, private get_target_coeff
 
procedure, private reduce_prototypes
 
procedure, private get_starting_index
 

Private Attributes

class(target_rmat_ci), dimension(:), pointer rmat_ci
 Our Target coefficients. More...
 
integer start_l2
 Start of the L2 CSFS. More...
 
integer total_num_csf
 Total number of CSFs we're dealing with. More...
 
integer num_l2_functions
 
integer l2_mat_offset
 Matrix starting position of the L2 portion. More...
 
integer csf_skip
 Used to move to the next CSF (most continuum ones come in pairs so the next one is skipped usually) More...
 
integer non_zero_prototype = 0
 Counter for calculated prototypes that are non_zero. More...
 

Additional Inherited Members

- Public Attributes inherited from hamiltonian_module::basehamiltonian
class(orbitaltable), pointer orbitals
 Our orbitals required to generate symblic elements. More...
 
class(options), pointer options
 Scatci program settings. More...
 
class(baseintegral), pointer integral
 The integrals we are using. More...
 
class(csfobject), dimension(:), pointer csfs
 Our configuration state functions. More...
 
integer nflg = 0
 
integer diagonal_flag
 
integer positron_flag
 Positron aware flag. More...
 
integer phase_flag
 whether to evaluate integrals whilst dealing with phase More...
 
logical constructed = .false.
 Has the hamiltonain been constructed. More...
 
logical initialized = .false.
 Has the hamiltonian been initialized. More...
 
integer job_id = 0
 Whose job it is to (soon to be deprecated) More...
 
integer number_of_integrals = 0
 How many integrals have been evaluated? More...
 
real(wp) element_one = 0.0
 First element for idiag = 0. More...
 
type(symbolicelementvectorreference_symbol
 Symbols for idiag = 0. More...
 

Detailed Description

Computation of Hamiltonian.

Authors
A Al-Refaie
Date
2017

This class computes the hamitonian using the contracted prototype scheme given by J. Tennyson: J. Phys B.: At. Mol. Opt. Phys. 29 (1996) 1817-1828. The notation i1,n1,j1,i2,n2,j2 referes to the variables i,n,j,i',n',j' given in table 1. The class refer to the ones desribed in the Paper in Section 3.

Definition at line 65 of file Contracted_Hamiltonian_module.f90.

Member Function/Subroutine Documentation

◆ build_hamiltonian()

procedure, public contracted_hamiltonian_module::contracted_hamiltonian::build_hamiltonian

Definition at line 78 of file Contracted_Hamiltonian_module.f90.

◆ compute_matrix_ij()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::compute_matrix_ij
private

Definition at line 112 of file Contracted_Hamiltonian_module.f90.

◆ contr_expand_continuum_l2_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::contr_expand_continuum_l2_eval
private

Definition at line 107 of file Contracted_Hamiltonian_module.f90.

◆ contr_expand_diagonal_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::contr_expand_diagonal_eval
private

Definition at line 105 of file Contracted_Hamiltonian_module.f90.

◆ contr_expand_off_diagonal_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::contr_expand_off_diagonal_eval
private

Definition at line 106 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_1()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_1
private

Definition at line 81 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_2()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_2
private

Definition at line 82 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_2_and_8()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_2_and_8
private

Definition at line 89 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_3()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_3
private

Definition at line 83 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_4()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_4
private

Definition at line 84 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_5()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_5
private

Definition at line 85 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_6()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_6
private

Definition at line 86 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_7()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_7
private

Definition at line 87 of file Contracted_Hamiltonian_module.f90.

◆ evaluate_class_8()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::evaluate_class_8
private

Definition at line 88 of file Contracted_Hamiltonian_module.f90.

◆ expand_continuum_l2()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_continuum_l2
private

Definition at line 100 of file Contracted_Hamiltonian_module.f90.

◆ expand_continuum_l2_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_continuum_l2_eval
private

Definition at line 103 of file Contracted_Hamiltonian_module.f90.

◆ expand_diagonal()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_diagonal
private

Definition at line 98 of file Contracted_Hamiltonian_module.f90.

◆ expand_diagonal_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_diagonal_eval
private

Definition at line 104 of file Contracted_Hamiltonian_module.f90.

◆ expand_off_diagonal()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_off_diagonal
private

Definition at line 99 of file Contracted_Hamiltonian_module.f90.

◆ expand_off_diagonal_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_off_diagonal_eval
private

Definition at line 108 of file Contracted_Hamiltonian_module.f90.

◆ expand_off_diagonal_gen_eval()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_off_diagonal_gen_eval
private

Definition at line 109 of file Contracted_Hamiltonian_module.f90.

◆ expand_off_diagonal_general()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::expand_off_diagonal_general
private

Definition at line 101 of file Contracted_Hamiltonian_module.f90.

◆ fast_contract_class_1_3_diag()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::fast_contract_class_1_3_diag
private

Definition at line 93 of file Contracted_Hamiltonian_module.f90.

◆ fast_contract_class_1_3_offdiag()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::fast_contract_class_1_3_offdiag
private

Definition at line 94 of file Contracted_Hamiltonian_module.f90.

◆ fast_contract_class_567()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::fast_contract_class_567
private

Definition at line 95 of file Contracted_Hamiltonian_module.f90.

◆ get_starting_index()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::get_starting_index
private

Definition at line 115 of file Contracted_Hamiltonian_module.f90.

◆ get_target_coeff()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::get_target_coeff
private

Definition at line 113 of file Contracted_Hamiltonian_module.f90.

◆ initialize()

procedure, public contracted_hamiltonian_module::contracted_hamiltonian::initialize

Definition at line 77 of file Contracted_Hamiltonian_module.f90.

◆ reduce_prototypes()

procedure, private contracted_hamiltonian_module::contracted_hamiltonian::reduce_prototypes
private

Definition at line 114 of file Contracted_Hamiltonian_module.f90.

Member Data Documentation

◆ csf_skip

integer contracted_hamiltonian_module::contracted_hamiltonian::csf_skip
private

Used to move to the next CSF (most continuum ones come in pairs so the next one is skipped usually)

Definition at line 72 of file Contracted_Hamiltonian_module.f90.

◆ l2_mat_offset

integer contracted_hamiltonian_module::contracted_hamiltonian::l2_mat_offset
private

Matrix starting position of the L2 portion.

Definition at line 71 of file Contracted_Hamiltonian_module.f90.

◆ non_zero_prototype

integer contracted_hamiltonian_module::contracted_hamiltonian::non_zero_prototype = 0
private

Counter for calculated prototypes that are non_zero.

Definition at line 73 of file Contracted_Hamiltonian_module.f90.

◆ num_l2_functions

integer contracted_hamiltonian_module::contracted_hamiltonian::num_l2_functions
private

Definition at line 70 of file Contracted_Hamiltonian_module.f90.

◆ rmat_ci

class(target_rmat_ci), dimension(:), pointer contracted_hamiltonian_module::contracted_hamiltonian::rmat_ci
private

Our Target coefficients.

Definition at line 67 of file Contracted_Hamiltonian_module.f90.

◆ start_l2

integer contracted_hamiltonian_module::contracted_hamiltonian::start_l2
private

Start of the L2 CSFS.

Definition at line 68 of file Contracted_Hamiltonian_module.f90.

◆ total_num_csf

integer contracted_hamiltonian_module::contracted_hamiltonian::total_num_csf
private

Total number of CSFs we're dealing with.

Definition at line 69 of file Contracted_Hamiltonian_module.f90.


The documentation for this type was generated from the following file: