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 | modify_coeff |
procedure, public | get_coefficient |
procedure, public | get_coeff_and_integral |
procedure, public | get_size |
procedure, public | add_symbols |
procedure, public | print => print_symbols |
procedure, public | destroy |
Private Member Functions | |
procedure, private | expand_array |
procedure, private | check_bounds |
procedure, private | check_constructed |
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 | max_capacity = 0 |
The number of free slots in the array. More... | |
integer | expand_size = 10 |
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 57 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::add_symbols |
Definition at line 84 of file Symbolic_Module.f90.
|
private |
Definition at line 87 of file Symbolic_Module.f90.
|
private |
Definition at line 89 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::check_same_integral |
Definition at line 77 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::clear |
Definition at line 76 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::compare |
Definition at line 68 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::construct |
Definition at line 71 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::destroy |
Definition at line 88 of file Symbolic_Module.f90.
|
private |
Definition at line 86 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::get_coeff_and_integral |
Definition at line 82 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::get_coefficient |
Definition at line 81 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::get_integral_label |
Definition at line 78 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::get_size |
Definition at line 83 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::insert_ijklm_symbol |
Definition at line 72 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::insert_symbol |
Definition at line 73 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::is_empty |
Definition at line 75 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::modify_coeff |
Definition at line 80 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::print |
Definition at line 85 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::remove_symbol_at |
Definition at line 74 of file Symbolic_Module.f90.
procedure, public symbolic_module::symbolicelementvector::synchronize_symbols |
Definition at line 79 of file Symbolic_Module.f90.
|
private |
The coefficients of the integral.
Definition at line 60 of file Symbolic_Module.f90.
|
private |
Whether this class has been constructed.
Definition at line 62 of file Symbolic_Module.f90.
|
private |
The packed integral storage.
Definition at line 59 of file Symbolic_Module.f90.
|
private |
How much we have to expand each.
Definition at line 65 of file Symbolic_Module.f90.
|
private |
The number of free slots in the array.
Definition at line 64 of file Symbolic_Module.f90.
|
private |
Number of elements in the array of both the integral and coefficients.
Definition at line 61 of file Symbolic_Module.f90.
|
private |
The integral threshold.
Definition at line 63 of file Symbolic_Module.f90.