Distributed matrix module.
More...
|
| subroutine | construct_mat_Distributed (this) |
| subroutine | initialize_struct_Distributed (this, matrix_size, matrix_type, block_size) |
| subroutine | insert_matelem_Distributed (this, i, j, coefficient, class, thresh) |
| subroutine | get_matelem_Distributed (this, idx, i, j, coeff) |
| subroutine | setup_diag_matrix (this, matrix_size, matrix_type, block_size) |
| logical function | 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.
|
| subroutine | update_continuum_Distributed (this, force_update) |
| subroutine | convert_temp_cache_to_array (this, matrix_ij, matrix_coeffs) |
| subroutine | update_L2_Distributed (this, force_update, count_) |
| subroutine | clear_matrix (this) |
| subroutine | finalize_matrix_self (this) |
| subroutine | finalize_Distributed (this) |
| subroutine | destroy_matrix (this) |
| subroutine | print_Distributed (this) |
| subroutine | clear_Distributed (this) |
| subroutine | destroy_Distributed (this) |
| subroutine | update_counter (this) |
Distributed matrix module.
- Authors
- A Al-Refaie
- Date
- 2017
Provides DistributedMatrix used by parallel diagonalizers. Other specialized matrix types are based on this. See SCALAPACKMatrix_module::SCALAPACKMatrix and SLEPCMatrix_module::SLEPCMatrix.
- Note
- 16/01/2019 - Jakub Benda: Unifom coding style and expanded documentation.
◆ clear_Distributed()
| subroutine DistributedMatrix_module::clear_Distributed |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ clear_matrix()
| subroutine DistributedMatrix_module::clear_matrix |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ construct_mat_Distributed()
| subroutine DistributedMatrix_module::construct_mat_Distributed |
( |
class(distributedmatrix) | this | ) |
|
◆ convert_temp_cache_to_array()
| subroutine DistributedMatrix_module::convert_temp_cache_to_array |
( |
class(distributedmatrix) | this, |
|
|
integer(longint), dimension(:,:), intent(inout) | matrix_ij, |
|
|
real(wp), dimension(:), intent(inout) | matrix_coeffs ) |
|
private |
◆ destroy_Distributed()
| subroutine DistributedMatrix_module::destroy_Distributed |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ destroy_matrix()
| subroutine DistributedMatrix_module::destroy_matrix |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ finalize_Distributed()
| subroutine DistributedMatrix_module::finalize_Distributed |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ finalize_matrix_self()
| subroutine DistributedMatrix_module::finalize_matrix_self |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ get_matelem_Distributed()
| subroutine DistributedMatrix_module::get_matelem_Distributed |
( |
class(distributedmatrix) | this, |
|
|
integer, intent(in) | idx, |
|
|
integer, intent(out) | i, |
|
|
integer, intent(out) | j, |
|
|
real(wp), intent(out) | coeff ) |
|
private |
◆ initialize_struct_Distributed()
| subroutine DistributedMatrix_module::initialize_struct_Distributed |
( |
class(distributedmatrix) | this, |
|
|
integer, intent(in) | matrix_size, |
|
|
integer, intent(in) | matrix_type, |
|
|
integer, intent(in) | block_size ) |
|
private |
◆ insert_into_diag_matrix()
| logical function DistributedMatrix_module::insert_into_diag_matrix |
( |
class(distributedmatrix) | this, |
|
|
integer, intent(in) | row, |
|
|
integer, intent(in) | column, |
|
|
real(wp), intent(in) | coefficient ) |
|
private |
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 180 of file DistributedMatrix_module.f90.
◆ insert_matelem_Distributed()
| subroutine DistributedMatrix_module::insert_matelem_Distributed |
( |
class(distributedmatrix) | this, |
|
|
integer, intent(in) | i, |
|
|
integer, intent(in) | j, |
|
|
real(wp), intent(in) | coefficient, |
|
|
integer, intent(in) | class, |
|
|
real(wp), intent(in) | thresh ) |
|
private |
◆ print_Distributed()
| subroutine DistributedMatrix_module::print_Distributed |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ setup_diag_matrix()
| subroutine DistributedMatrix_module::setup_diag_matrix |
( |
class(distributedmatrix) | this, |
|
|
integer, intent(in) | matrix_size, |
|
|
integer, intent(in) | matrix_type, |
|
|
integer, intent(in) | block_size ) |
|
private |
◆ update_continuum_Distributed()
| subroutine DistributedMatrix_module::update_continuum_Distributed |
( |
class(distributedmatrix) | this, |
|
|
logical, intent(in) | force_update ) |
|
private |
◆ update_counter()
| subroutine DistributedMatrix_module::update_counter |
( |
class(distributedmatrix) | this | ) |
|
|
private |
◆ update_L2_Distributed()
| subroutine DistributedMatrix_module::update_L2_Distributed |
( |
class(distributedmatrix) | this, |
|
|
logical, intent(in) | force_update, |
|
|
integer, optional | count_ ) |
|
private |