MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
ELPADiagonalizer_module Module Reference

Diagonalizer type using ELPA backend. More...

Data Types

type  ELPADiagonalizer
 Diagonalizer class. More...

Functions/Subroutines

subroutine initialize_elpa
 Initialize the ELPA library.
subroutine diagonalize_backend_ELPA (this, matrix_elements, num_eigenpair, z_mat, w, all_procs, option, integrals)
 Diagonalization kernel.
subroutine elpa_assert (sub, msg, err)
 Check ELPA error code.

Variables

integer, parameter elpaint = c_int

Detailed Description

Diagonalizer type using ELPA backend.

Authors
J Benda
Date
2019

This module will be built only if ELPA (and ScaLAPACK) is available.

Function/Subroutine Documentation

◆ diagonalize_backend_ELPA()

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.

Authors
J Benda
Date
2019

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.

◆ elpa_assert()

subroutine ELPADiagonalizer_module::elpa_assert ( character(len=*), intent(in) sub,
character(len=*), intent(in) msg,
integer(elpaint), intent(in) err )

Check ELPA error code.

Authors
J Benda
Date
2019

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 176 of file ELPADiagonalizer_module.f90.

◆ initialize_elpa()

subroutine ELPADiagonalizer_module::initialize_elpa

Initialize the ELPA library.

Authors
J Benda
Date
2019

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.

Variable Documentation

◆ elpaint

integer, parameter ELPADiagonalizer_module::elpaint = c_int

Definition at line 47 of file ELPADiagonalizer_module.f90.