MPI-SCATCI
2.0
An MPI version of SCATCI
|
Computation of Hamiltonian. More...
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(symbolicelementvector) | reference_symbol |
Symbols for idiag = 0. More... | |
Computation of Hamiltonian.
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.
procedure, public contracted_hamiltonian_module::contracted_hamiltonian::build_hamiltonian |
Definition at line 78 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 112 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 107 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 105 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 106 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 81 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 82 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 89 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 83 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 84 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 85 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 86 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 87 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 88 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 100 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 103 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 98 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 104 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 99 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 108 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 109 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 101 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 93 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 94 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 95 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 115 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 113 of file Contracted_Hamiltonian_module.f90.
procedure, public contracted_hamiltonian_module::contracted_hamiltonian::initialize |
Definition at line 77 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 114 of file Contracted_Hamiltonian_module.f90.
|
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.
|
private |
Matrix starting position of the L2 portion.
Definition at line 71 of file Contracted_Hamiltonian_module.f90.
|
private |
Counter for calculated prototypes that are non_zero.
Definition at line 73 of file Contracted_Hamiltonian_module.f90.
|
private |
Definition at line 70 of file Contracted_Hamiltonian_module.f90.
|
private |
Our Target coefficients.
Definition at line 67 of file Contracted_Hamiltonian_module.f90.
|
private |
Start of the L2 CSFS.
Definition at line 68 of file Contracted_Hamiltonian_module.f90.
|
private |
Total number of CSFs we're dealing with.
Definition at line 69 of file Contracted_Hamiltonian_module.f90.