MPI-SCATCI
2.0
An MPI version of SCATCI
|
Diagonalizer type using ELPA backend. More...
Data Types | |
type | elpadiagonalizer |
Diagonalizer class. More... | |
Functions/Subroutines | |
subroutine | initialize_elpa |
Initialize the ELPA library. More... | |
subroutine | diagonalize_backend_elpa (this, matrix_elements, num_eigenpair, z_mat, w, all_procs, option, integrals) |
Diagonalization kernel. More... | |
subroutine | elpa_assert (sub, msg, err) |
Check ELPA error code. More... | |
Variables | |
integer, parameter | elpaint = c_int |
Diagonalizer type using ELPA backend.
This module will be built only if ELPA (and ScaLAPACK) is available.
subroutine elpadiagonalizer_module::diagonalize_backend_elpa | ( | class(elpadiagonalizer) | this, |
class(scalapackmatrix), intent(in) | matrix_elements, | ||
integer, intent(in) | num_eigenpair, | ||
real(wp), dimension(:,:), intent(inout), allocatable | z_mat, | ||
real(wp), dimension(:), intent(inout), allocatable | w, | ||
logical, intent(in) | all_procs, | ||
type(options), intent(in) | option, | ||
class(baseintegral), intent(in) | integrals | ||
) |
Diagonalization kernel.
Perform the diagonalization of a symmetric cyclically block-distributed ScaLAPACK matrix. Use the ELPA library. It is assumed that the library has been initialized prior to this call. The eigenvectors will be stored in z_mat
, eigenvalues in w
, both of which will be allocated by this subroutine.
Definition at line 92 of file ELPADiagonalizer_module.f90.
subroutine elpadiagonalizer_module::elpa_assert | ( | character(len=*), intent(in) | sub, |
character(len=*), intent(in) | msg, | ||
integer(elpaint), intent(in) | err | ||
) |
Check ELPA error code.
Verify that the given ELPA error code is equal to ELPA_OK. If not, print the given error message and terminate the program.
Definition at line 168 of file ELPADiagonalizer_module.f90.
subroutine elpadiagonalizer_module::initialize_elpa |
Initialize the ELPA library.
Set upt the ELPA library for use. This needs to be called once at the beginning of the program. Initialization of the library selects a specific version of the API to use when communicating with the library. Currently, the API of version 20181112 is used.
Definition at line 72 of file ELPADiagonalizer_module.f90.
integer, parameter elpadiagonalizer_module::elpaint = c_int |
Definition at line 47 of file ELPADiagonalizer_module.f90.