MPI-SCATCI
2.0
An MPI version of SCATCI
|
This class handles the storage symbolic elements. More...
Public Member Functions | |
procedure, public | compare => bstree_compare |
procedure, public | construct |
procedure, public | insert_ijklm_symbol |
procedure, public | insert_symbol |
procedure, public | remove_symbol_at |
procedure, public | is_empty |
procedure, public | clear |
procedure, public | check_same_integral |
procedure, public | get_integral_label |
procedure, public | synchronize_symbols |
procedure, public | estimate_synchronize_cost |
procedure, public | modify_coeff |
procedure, public | get_coefficient |
procedure, public | get_coeff_and_integral |
procedure, public | get_size |
procedure, public | get_num_targets_sym1 |
procedure, public | get_num_targets_sym2 |
procedure, public | add_symbols |
procedure, public | reduce_symbols |
procedure, public | print => print_symbols |
procedure, public | destroy |
Private Member Functions | |
procedure, private | expand_array |
procedure, private | check_bounds |
procedure, private | check_constructed |
procedure, private | synchronize_symbols_ii |
Private Attributes | |
integer(longint), dimension(:,:), allocatable | electron_integral |
The packed integral storage. More... | |
real(wp), dimension(:,:,:), allocatable | coeffs |
The coefficients of the integral. More... | |
integer | n = 0 |
Number of elements in the array of both the integral and coefficients. More... | |
logical | constructed = .false. |
Whether this class has been constructed. More... | |
real(wp) | threshold = 0.0 |
The integral threshold. More... | |
integer | num_states_1 = 0 |
integer | num_states_2 = 0 |
integer | max_capacity = 0 |
The number of free slots in the array. More... | |
integer | expand_size = 100 |
How much we have to expand each. More... | |
This class handles the storage symbolic elements.
This class handles the storage symbolic elements and also expands the vector size if we have reached max capacity Additionaly, uses a binary search tree to perform a binary search on integrals labels during insertion to ensure no repeating elements this is automatic and removes the compression stage in the original SCATCI code.
Definition at line 62 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::add_symbols |
Definition at line 96 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 102 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 104 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::check_same_integral |
Definition at line 86 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::clear |
Definition at line 85 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::compare |
Definition at line 77 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::construct |
Definition at line 80 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::destroy |
Definition at line 103 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::estimate_synchronize_cost |
Definition at line 89 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 101 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_coeff_and_integral |
Definition at line 92 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_coefficient |
Definition at line 91 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_integral_label |
Definition at line 87 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_num_targets_sym1 |
Definition at line 94 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_num_targets_sym2 |
Definition at line 95 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_size |
Definition at line 93 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::insert_ijklm_symbol |
Definition at line 81 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::insert_symbol |
Definition at line 82 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::is_empty |
Definition at line 84 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::modify_coeff |
Definition at line 90 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::print |
Definition at line 98 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::reduce_symbols |
Definition at line 97 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::remove_symbol_at |
Definition at line 83 of file Contracted_Symbolic_Module.f90.
procedure, public contracted_symbolic_module::contractedsymbolicelementvector::synchronize_symbols |
Definition at line 88 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 105 of file Contracted_Symbolic_Module.f90.
|
private |
The coefficients of the integral.
Definition at line 66 of file Contracted_Symbolic_Module.f90.
|
private |
Whether this class has been constructed.
Definition at line 69 of file Contracted_Symbolic_Module.f90.
|
private |
The packed integral storage.
Definition at line 65 of file Contracted_Symbolic_Module.f90.
|
private |
How much we have to expand each.
Definition at line 74 of file Contracted_Symbolic_Module.f90.
|
private |
The number of free slots in the array.
Definition at line 73 of file Contracted_Symbolic_Module.f90.
|
private |
Number of elements in the array of both the integral and coefficients.
Definition at line 68 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 71 of file Contracted_Symbolic_Module.f90.
|
private |
Definition at line 72 of file Contracted_Symbolic_Module.f90.
|
private |
The integral threshold.
Definition at line 70 of file Contracted_Symbolic_Module.f90.