MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
DistributedMatrix_module::DistributedMatrix Type Reference

Distributed matrix type. More...

Inheritance diagram for DistributedMatrix_module::DistributedMatrix:
Collaboration diagram for DistributedMatrix_module::DistributedMatrix:

Public Member Functions

procedure, public print print_distributed
procedure, public update_continuum update_continuum_distributed
procedure, public update_pure_L2 update_l2_distributed
procedure, public initialize_struct_self initialize_struct_distributed
procedure, public setup_diag_matrix (this, matrix_size, matrix_type, block_size)
procedure, public construct_self construct_mat_distributed
procedure, public insert_matelem_self insert_matelem_distributed
procedure, public get_matelem_self get_matelem_distributed
procedure, public clear_self clear_distributed
procedure, public destroy_self destroy_distributed
procedure, public finalize_matrix finalize_distributed
procedure, public finalize_matrix_self (this)
procedure, public destroy_matrix (this)
procedure, public clear_matrix (this)
procedure, public insert_into_diag_matrix (this, row, column, coefficient)
 This inserts an element into the hard storage which is considered the final location before diagonalization It also checks wherther the element exists within the aloowed range and tells us if it was successfully inserted.

Public Attributes

type(matrixcache) temp_cache
 This cache holds the temprorary matrix values before they are sent to the relevant process.
real(wp) memory_scale = 0.75_wp
integer continuum_counter
integer l2_counter
integer start_continuum_update
integer start_l2_update

Private Member Functions

procedure, private convert_temp_cache_to_array (this, matrix_ij, matrix_coeffs)
procedure, private update_counter (this)

Detailed Description

Distributed matrix type.

Authors
A Al-Refaie
Date
2017

Distributed matrix is used for construction of the Hamiltonian in distributed (MPI) mode.

Definition at line 57 of file DistributedMatrix_module.f90.

Member Function/Subroutine Documentation

◆ clear_matrix()

procedure, public DistributedMatrix_module::DistributedMatrix::clear_matrix ( class(distributedmatrix) this)

Definition at line 86 of file DistributedMatrix_module.f90.

◆ clear_self()

procedure, public DistributedMatrix_module::DistributedMatrix::clear_self

Definition at line 81 of file DistributedMatrix_module.f90.

◆ construct_self()

procedure, public DistributedMatrix_module::DistributedMatrix::construct_self

Definition at line 78 of file DistributedMatrix_module.f90.

◆ convert_temp_cache_to_array()

procedure, private DistributedMatrix_module::DistributedMatrix::convert_temp_cache_to_array ( class(distributedmatrix) this,
integer(longint), dimension(:,:), intent(inout) matrix_ij,
real(wp), dimension(:), intent(inout) matrix_coeffs )
private

Definition at line 89 of file DistributedMatrix_module.f90.

◆ destroy_matrix()

procedure, public DistributedMatrix_module::DistributedMatrix::destroy_matrix ( class(distributedmatrix) this)

Definition at line 85 of file DistributedMatrix_module.f90.

◆ destroy_self()

procedure, public DistributedMatrix_module::DistributedMatrix::destroy_self

Definition at line 82 of file DistributedMatrix_module.f90.

◆ finalize_matrix()

procedure, public DistributedMatrix_module::DistributedMatrix::finalize_matrix

Definition at line 83 of file DistributedMatrix_module.f90.

◆ finalize_matrix_self()

procedure, public DistributedMatrix_module::DistributedMatrix::finalize_matrix_self ( class(distributedmatrix) this)

Definition at line 84 of file DistributedMatrix_module.f90.

◆ get_matelem_self()

procedure, public DistributedMatrix_module::DistributedMatrix::get_matelem_self

Definition at line 80 of file DistributedMatrix_module.f90.

◆ initialize_struct_self()

procedure, public DistributedMatrix_module::DistributedMatrix::initialize_struct_self

Definition at line 74 of file DistributedMatrix_module.f90.

◆ insert_into_diag_matrix()

procedure, public DistributedMatrix_module::DistributedMatrix::insert_into_diag_matrix ( class(distributedmatrix) this,
integer, intent(in) row,
integer, intent(in) column,
real(wp), intent(in) coefficient )

This inserts an element into the hard storage which is considered the final location before diagonalization It also checks wherther the element exists within the aloowed range and tells us if it was successfully inserted.

Definition at line 88 of file DistributedMatrix_module.f90.

◆ insert_matelem_self()

procedure, public DistributedMatrix_module::DistributedMatrix::insert_matelem_self

Definition at line 79 of file DistributedMatrix_module.f90.

◆ print()

procedure, public DistributedMatrix_module::DistributedMatrix::print

Definition at line 70 of file DistributedMatrix_module.f90.

◆ setup_diag_matrix()

procedure, public DistributedMatrix_module::DistributedMatrix::setup_diag_matrix ( class(distributedmatrix) this,
integer, intent(in) matrix_size,
integer, intent(in) matrix_type,
integer, intent(in) block_size )

Definition at line 76 of file DistributedMatrix_module.f90.

◆ update_continuum()

procedure, public DistributedMatrix_module::DistributedMatrix::update_continuum

Definition at line 71 of file DistributedMatrix_module.f90.

◆ update_counter()

procedure, private DistributedMatrix_module::DistributedMatrix::update_counter ( class(distributedmatrix) this)
private

Definition at line 90 of file DistributedMatrix_module.f90.

◆ update_pure_L2()

procedure, public DistributedMatrix_module::DistributedMatrix::update_pure_L2

Definition at line 72 of file DistributedMatrix_module.f90.

Member Data Documentation

◆ continuum_counter

integer DistributedMatrix_module::DistributedMatrix::continuum_counter

Definition at line 63 of file DistributedMatrix_module.f90.

◆ l2_counter

integer DistributedMatrix_module::DistributedMatrix::l2_counter

Definition at line 64 of file DistributedMatrix_module.f90.

◆ memory_scale

real(wp) DistributedMatrix_module::DistributedMatrix::memory_scale = 0.75_wp

Definition at line 61 of file DistributedMatrix_module.f90.

◆ start_continuum_update

integer DistributedMatrix_module::DistributedMatrix::start_continuum_update

Definition at line 65 of file DistributedMatrix_module.f90.

◆ start_l2_update

integer DistributedMatrix_module::DistributedMatrix::start_l2_update

Definition at line 66 of file DistributedMatrix_module.f90.

◆ temp_cache

type(matrixcache) DistributedMatrix_module::DistributedMatrix::temp_cache

This cache holds the temprorary matrix values before they are sent to the relevant process.

Definition at line 59 of file DistributedMatrix_module.f90.


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