MPI-SCATCI  2.0
An MPI version of SCATCI
contracted_symbolic_module::contractedsymbolicelementvector Type Reference

This class handles the storage symbolic elements. More...

Inheritance diagram for contracted_symbolic_module::contractedsymbolicelementvector:
Collaboration diagram for contracted_symbolic_module::contractedsymbolicelementvector:

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...
 

Detailed Description

This class handles the storage symbolic elements.

Authors
A Al-Refaie
Date
2017

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.

Member Function/Subroutine Documentation

◆ add_symbols()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::add_symbols

Definition at line 96 of file Contracted_Symbolic_Module.f90.

◆ check_bounds()

procedure, private contracted_symbolic_module::contractedsymbolicelementvector::check_bounds
private

Definition at line 102 of file Contracted_Symbolic_Module.f90.

◆ check_constructed()

procedure, private contracted_symbolic_module::contractedsymbolicelementvector::check_constructed
private

Definition at line 104 of file Contracted_Symbolic_Module.f90.

◆ check_same_integral()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::check_same_integral

Definition at line 86 of file Contracted_Symbolic_Module.f90.

◆ clear()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::clear

Definition at line 85 of file Contracted_Symbolic_Module.f90.

◆ compare()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::compare

Definition at line 77 of file Contracted_Symbolic_Module.f90.

◆ construct()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::construct

Definition at line 80 of file Contracted_Symbolic_Module.f90.

◆ destroy()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::destroy

Definition at line 103 of file Contracted_Symbolic_Module.f90.

◆ estimate_synchronize_cost()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::estimate_synchronize_cost

Definition at line 89 of file Contracted_Symbolic_Module.f90.

◆ expand_array()

procedure, private contracted_symbolic_module::contractedsymbolicelementvector::expand_array
private

Definition at line 101 of file Contracted_Symbolic_Module.f90.

◆ get_coeff_and_integral()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_coeff_and_integral

Definition at line 92 of file Contracted_Symbolic_Module.f90.

◆ get_coefficient()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_coefficient

Definition at line 91 of file Contracted_Symbolic_Module.f90.

◆ get_integral_label()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_integral_label

Definition at line 87 of file Contracted_Symbolic_Module.f90.

◆ get_num_targets_sym1()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_num_targets_sym1

Definition at line 94 of file Contracted_Symbolic_Module.f90.

◆ get_num_targets_sym2()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_num_targets_sym2

Definition at line 95 of file Contracted_Symbolic_Module.f90.

◆ get_size()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::get_size

Definition at line 93 of file Contracted_Symbolic_Module.f90.

◆ insert_ijklm_symbol()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::insert_ijklm_symbol

Definition at line 81 of file Contracted_Symbolic_Module.f90.

◆ insert_symbol()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::insert_symbol

Definition at line 82 of file Contracted_Symbolic_Module.f90.

◆ is_empty()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::is_empty

Definition at line 84 of file Contracted_Symbolic_Module.f90.

◆ modify_coeff()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::modify_coeff

Definition at line 90 of file Contracted_Symbolic_Module.f90.

◆ print()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::print

Definition at line 98 of file Contracted_Symbolic_Module.f90.

◆ reduce_symbols()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::reduce_symbols

Definition at line 97 of file Contracted_Symbolic_Module.f90.

◆ remove_symbol_at()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::remove_symbol_at

Definition at line 83 of file Contracted_Symbolic_Module.f90.

◆ synchronize_symbols()

procedure, public contracted_symbolic_module::contractedsymbolicelementvector::synchronize_symbols

Definition at line 88 of file Contracted_Symbolic_Module.f90.

◆ synchronize_symbols_ii()

procedure, private contracted_symbolic_module::contractedsymbolicelementvector::synchronize_symbols_ii
private

Definition at line 105 of file Contracted_Symbolic_Module.f90.

Member Data Documentation

◆ coeffs

real(wp), dimension(:,:,:), allocatable contracted_symbolic_module::contractedsymbolicelementvector::coeffs
private

The coefficients of the integral.

Definition at line 66 of file Contracted_Symbolic_Module.f90.

◆ constructed

logical contracted_symbolic_module::contractedsymbolicelementvector::constructed = .false.
private

Whether this class has been constructed.

Definition at line 69 of file Contracted_Symbolic_Module.f90.

◆ electron_integral

integer(longint), dimension(:,:), allocatable contracted_symbolic_module::contractedsymbolicelementvector::electron_integral
private

The packed integral storage.

Definition at line 65 of file Contracted_Symbolic_Module.f90.

◆ expand_size

integer contracted_symbolic_module::contractedsymbolicelementvector::expand_size = 100
private

How much we have to expand each.

Definition at line 74 of file Contracted_Symbolic_Module.f90.

◆ max_capacity

integer contracted_symbolic_module::contractedsymbolicelementvector::max_capacity = 0
private

The number of free slots in the array.

Definition at line 73 of file Contracted_Symbolic_Module.f90.

◆ n

integer contracted_symbolic_module::contractedsymbolicelementvector::n = 0
private

Number of elements in the array of both the integral and coefficients.

Definition at line 68 of file Contracted_Symbolic_Module.f90.

◆ num_states_1

integer contracted_symbolic_module::contractedsymbolicelementvector::num_states_1 = 0
private

Definition at line 71 of file Contracted_Symbolic_Module.f90.

◆ num_states_2

integer contracted_symbolic_module::contractedsymbolicelementvector::num_states_2 = 0
private

Definition at line 72 of file Contracted_Symbolic_Module.f90.

◆ threshold

real(wp) contracted_symbolic_module::contractedsymbolicelementvector::threshold = 0.0
private

The integral threshold.

Definition at line 70 of file Contracted_Symbolic_Module.f90.


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