MPI-SCATCI  2.0
An MPI version of SCATCI
target_rmat_ci_module Module Reference

Target Rmat CI module. More...

Data Types

type  target_rmat_ci
 This class handles the storage of target CI coefficients. More...
 

Functions/Subroutines

subroutine initialize_cirmat (this, set, nstat, num_csfs, phase_, core_energy)
 Sets up and allocates eigenvalues and eigenvectors. More...
 
subroutine print_cirmat (this)
 Prints the eigen-energies of the target states stored. More...
 
subroutine print_vecs (this)
 Print vectors to standard output. More...
 
real(wp) function get_coefficient_ci (this, target_state, configuration_idx)
 Get the specific coefficient for a target state and configuration. More...
 
subroutine, public read_ci_mat (option, cirmats)
 Reads the target coefficients from file. More...
 
subroutine store_eigenvalues (this, eigenvalues, diagonals, num_eigenpairs, vec_dimen)
 Save eigenvalues from diagonalizer. More...
 
subroutine store_eigenvector (this, eigenvector, vec_dimen)
 Save eigenvector from diagonalizer. More...
 
subroutine export_eigenvalues (this, eigenvalues, diagonals, num_eigenpairs, vec_dimen, ei, iphz)
 To be overriden by derived types. More...
 
subroutine modify_diagonal (this, value)
 Dummy subroutine. More...
 
subroutine modify_l2_diagonal (this, value)
 Dummy subroutine. More...
 

Detailed Description

Target Rmat CI module.

Authors
A Al-Refaie
Date
2017

Handles the storage of the target coefficients for the contracted Hamiltonian.

Note
30/01/2017 - Ahmed Al-Refaie: Initial Revision
16/01/2019 - Jakub Benda: Unifom coding style and expanded documentation.

Function/Subroutine Documentation

◆ export_eigenvalues()

subroutine target_rmat_ci_module::export_eigenvalues ( class(target_rmat_ci this,
real(wp), dimension(num_eigenpairs), intent(in)  eigenvalues,
real(wp), dimension(vec_dimen), intent(in)  diagonals,
integer, intent(in)  num_eigenpairs,
integer, intent(in)  vec_dimen,
real(wp), dimension(:), allocatable  ei,
integer, dimension(:), allocatable  iphz 
)
private

To be overriden by derived types.

Authors
J Benda
Date
2018

This subroutine body was added so that Target_RMat_CI does not need to be abstract. Otherwise there were problems with compilation using non-Intel compilers.

Definition at line 285 of file Target_RMat_CI_module.f90.

◆ get_coefficient_ci()

real(wp) function target_rmat_ci_module::get_coefficient_ci ( class(target_rmat_ci this,
integer, intent(in)  target_state,
integer, intent(in)  configuration_idx 
)
private

Get the specific coefficient for a target state and configuration.

Authors
A Al-Refaie
Date
2017
Parameters
[in]thisTarget CI object to query.
[in]target_stateWhich target state to get from.
[in]configuration_idxWhich particular coefficient to get.
Returns
The resultant coefficient.

Definition at line 171 of file Target_RMat_CI_module.f90.

◆ initialize_cirmat()

subroutine target_rmat_ci_module::initialize_cirmat ( class(target_rmat_ci this,
integer, intent(in)  set,
integer, intent(in)  nstat,
integer, intent(in)  num_csfs,
type(phase), intent(in), target  phase_,
real(wp), intent(in)  core_energy 
)
private

Sets up and allocates eigenvalues and eigenvectors.

Authors
A Al-Refaie
Date
2017
Parameters
[in,out]thisTarget CI object to initialize.
[in]setWhich CI set this belongs to
[in]nstatNumber of eigenpairs/target states
[in]num_csfsSize of the eigenvectors/number of ci coefficients per target state
[in]phase_Not used
[in]core_energyCore energy used for eigenvalue printing

Definition at line 89 of file Target_RMat_CI_module.f90.

◆ modify_diagonal()

subroutine target_rmat_ci_module::modify_diagonal ( class(target_rmat_ci), intent(in)  this,
real(wp), intent(inout)  value 
)

Dummy subroutine.

Authors
A Al-Refaie
Date
2017

Has no effect.

Definition at line 301 of file Target_RMat_CI_module.f90.

◆ modify_l2_diagonal()

subroutine target_rmat_ci_module::modify_l2_diagonal ( class(target_rmat_ci), intent(in)  this,
real(wp), intent(inout)  value 
)
private

Dummy subroutine.

Authors
A Al-Refaie
Date
2017

Has no effect.

Definition at line 318 of file Target_RMat_CI_module.f90.

◆ print_cirmat()

subroutine target_rmat_ci_module::print_cirmat ( class(target_rmat_ci this)
private

Prints the eigen-energies of the target states stored.

Authors
A Al-Refaie
Date
2017

Definition at line 127 of file Target_RMat_CI_module.f90.

◆ print_vecs()

subroutine target_rmat_ci_module::print_vecs ( class(target_rmat_ci this)
private

Print vectors to standard output.

Authors
A Al-Refaie
Date
2017

Definition at line 147 of file Target_RMat_CI_module.f90.

◆ read_ci_mat()

subroutine, public target_rmat_ci_module::read_ci_mat ( class(options), intent(in)  option,
class(target_rmat_ci), dimension(:), intent(inout)  cirmats 
)

Reads the target coefficients from file.

Authors
A Al-Refaie
Date
2017
Parameters
[in]optionAn initialized Options object.
[in]cirmatsAn allocated and initialized array of target CI objects.

Definition at line 187 of file Target_RMat_CI_module.f90.

Here is the caller graph for this function:

◆ store_eigenvalues()

subroutine target_rmat_ci_module::store_eigenvalues ( class(target_rmat_ci this,
real(wp), dimension(num_eigenpairs), intent(in)  eigenvalues,
real(wp), dimension(vec_dimen), intent(in)  diagonals,
integer, intent(in)  num_eigenpairs,
integer, intent(in)  vec_dimen 
)
private

Save eigenvalues from diagonalizer.

Authors
A Al-Refaie
Date
2017

Copy eigenvalues obtained by the diagonalizer to internal storage of Target_RMat_CI.

Definition at line 247 of file Target_RMat_CI_module.f90.

◆ store_eigenvector()

subroutine target_rmat_ci_module::store_eigenvector ( class(target_rmat_ci this,
real(wp), dimension(vec_dimen), intent(in)  eigenvector,
integer, intent(in)  vec_dimen 
)
private

Save eigenvector from diagonalizer.

Authors
A Al-Refaie
Date
2017

Copy eigenvector obtained by the diagonalizer to internal storage of Target_RMat_CI.

Definition at line 267 of file Target_RMat_CI_module.f90.