MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
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.
subroutine print_cirmat (this)
 Prints the eigen-energies of the target states stored.
subroutine print_vecs (this)
 Print vectors to standard output.
real(wp) function get_coefficient_CI (this, target_state, configuration_idx)
 Get the specific coefficient for a target state and configuration.
subroutine, public read_ci_mat (option, cirmats)
 Reads the target coefficients from file.
subroutine store_eigenvalues (this, eigenvalues, diagonals, num_eigenpairs, vec_dimen)
 Save eigenvalues from diagonalizer.
subroutine store_eigenvector (this, eigenvector, vec_dimen)
 Save eigenvector from diagonalizer.
subroutine export_eigenvalues (this, eigenvalues, diagonals, num_eigenpairs, vec_dimen, ei, iphz)
 To be overriden by derived types.
subroutine modify_diagonal (this, value)
 Dummy subroutine.
subroutine modify_L2_diagonal (this, value)
 Dummy subroutine.

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 287 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 )

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 )
private

Dummy subroutine.

Authors
A Al-Refaie
Date
2017

Has no effect.

Definition at line 303 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 320 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.

◆ 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 249 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 269 of file Target_RMat_CI_module.f90.