MPI-SCATCI  2.0
An MPI version of SCATCI
csf_module::csfmanager Type Reference

Configuration state function factory. More...

Public Member Functions

procedure, public initialize => read_csf_body
 
procedure, public print => print_all_csfs
 
procedure, public create_csfs
 
procedure, public toggle_determinant
 
procedure, public finalize => finalize_manager
 

Private Attributes

integer(longint), dimension(:,:), allocatable int64dtrs
 Unpacked determinants as a bit array (spin-orbital occupation numbers). More...
 
real(wp), dimension(:), allocatable coeffdtrs
 Coefficients of determinants stored in int64dtrs. More...
 
integer int64_win = -1
 MPI-3 shared memory window ID for int64dtrs. More...
 
integer coeffs_win = -1
 MPI-3 shared memory window ID for coeffs. More...
 
integer megul
 CONGEN output unit with generated configuration state functions. More...
 
integer num_csfs
 Old name: NOCSF - # of CSFs. More...
 
integer length_coeff
 
integer length_dtrs
 
integer, dimension(:), pointer num_dtr_csf_out
 Old Name: NODO - Number of determinants in CSF in output. More...
 
integer, dimension(:), allocatable index_dtrs
 Old Name: INDO - Index of determinants. More...
 
integer, dimension(:), allocatable index_coeffs
 Old Name: ICDO - index of coefficients. More...
 
integer, dimension(:), allocatable packed_dtrs
 Old Name: NDO - Packed slater determinants. More...
 
real(wp), dimension(:), allocatable coeffs
 Old Name: NCO - coeffcients. More...
 
class(options), pointer option_ptr
 
integer largest_num_configs
 
integer num_mo
 
integer num_so
 
integer num_electrons
 
integer nints
 Number of integers forming the shared determinant storage (bit array). More...
 
integer, dimension(:), allocatable orbitals
 
integer, dimension(:), allocatable spin
 
integer, dimension(:), allocatable reference_dtrs
 
integer(longint), dimension(:), allocatable ref_int64dtrs
 
class(orbitaltable), pointer pt_orb
 

Detailed Description

Configuration state function factory.

Authors
A Al-Refaie, J Benda
Date
2017 - 2019

This is a central object that takes care of reading and storing all configurations state functions (CSFs) generated by CONGEN. The determinants forming the CSFs are compressed to a long bit array, which can be shared by all processes in a MPI group. The manager class creates instances of CSFObject (individual CSFs) and CSFOrbital (individual determinants). Both of them just effectively address into shared arrays manager by this object.

Definition at line 63 of file CSF_module.F90.

Member Function/Subroutine Documentation

◆ create_csfs()

procedure, public csf_module::csfmanager::create_csfs

Definition at line 104 of file CSF_module.F90.

◆ finalize()

procedure, public csf_module::csfmanager::finalize

Definition at line 106 of file CSF_module.F90.

◆ initialize()

procedure, public csf_module::csfmanager::initialize

Definition at line 102 of file CSF_module.F90.

◆ print()

procedure, public csf_module::csfmanager::print

Definition at line 103 of file CSF_module.F90.

◆ toggle_determinant()

procedure, public csf_module::csfmanager::toggle_determinant

Definition at line 105 of file CSF_module.F90.

Member Data Documentation

◆ coeffdtrs

real(wp), dimension(:), allocatable csf_module::csfmanager::coeffdtrs
private

Coefficients of determinants stored in int64dtrs.

Definition at line 69 of file CSF_module.F90.

◆ coeffs

real(wp), dimension(:), allocatable csf_module::csfmanager::coeffs
private

Old Name: NCO - coeffcients.

Definition at line 85 of file CSF_module.F90.

◆ coeffs_win

integer csf_module::csfmanager::coeffs_win = -1
private

MPI-3 shared memory window ID for coeffs.

Definition at line 73 of file CSF_module.F90.

◆ index_coeffs

integer, dimension(:), allocatable csf_module::csfmanager::index_coeffs
private

Old Name: ICDO - index of coefficients.

Definition at line 83 of file CSF_module.F90.

◆ index_dtrs

integer, dimension(:), allocatable csf_module::csfmanager::index_dtrs
private

Old Name: INDO - Index of determinants.

Definition at line 82 of file CSF_module.F90.

◆ int64_win

integer csf_module::csfmanager::int64_win = -1
private

MPI-3 shared memory window ID for int64dtrs.

Definition at line 72 of file CSF_module.F90.

◆ int64dtrs

integer(longint), dimension(:,:), allocatable csf_module::csfmanager::int64dtrs
private

Unpacked determinants as a bit array (spin-orbital occupation numbers).

Definition at line 68 of file CSF_module.F90.

◆ largest_num_configs

integer csf_module::csfmanager::largest_num_configs
private

Definition at line 88 of file CSF_module.F90.

◆ length_coeff

integer csf_module::csfmanager::length_coeff
private

Definition at line 77 of file CSF_module.F90.

◆ length_dtrs

integer csf_module::csfmanager::length_dtrs
private

Definition at line 78 of file CSF_module.F90.

◆ megul

integer csf_module::csfmanager::megul
private

CONGEN output unit with generated configuration state functions.

Definition at line 75 of file CSF_module.F90.

◆ nints

integer csf_module::csfmanager::nints
private

Number of integers forming the shared determinant storage (bit array).

Definition at line 94 of file CSF_module.F90.

◆ num_csfs

integer csf_module::csfmanager::num_csfs
private

Old name: NOCSF - # of CSFs.

Definition at line 76 of file CSF_module.F90.

◆ num_dtr_csf_out

integer, dimension(:), pointer csf_module::csfmanager::num_dtr_csf_out
private

Old Name: NODO - Number of determinants in CSF in output.

Definition at line 79 of file CSF_module.F90.

◆ num_electrons

integer csf_module::csfmanager::num_electrons
private

Definition at line 93 of file CSF_module.F90.

◆ num_mo

integer csf_module::csfmanager::num_mo
private

Definition at line 91 of file CSF_module.F90.

◆ num_so

integer csf_module::csfmanager::num_so
private

Definition at line 92 of file CSF_module.F90.

◆ option_ptr

class(options), pointer csf_module::csfmanager::option_ptr
private

Definition at line 87 of file CSF_module.F90.

◆ orbitals

integer, dimension(:), allocatable csf_module::csfmanager::orbitals
private

Definition at line 96 of file CSF_module.F90.

◆ packed_dtrs

integer, dimension(:), allocatable csf_module::csfmanager::packed_dtrs
private

Old Name: NDO - Packed slater determinants.

Definition at line 84 of file CSF_module.F90.

◆ pt_orb

class(orbitaltable), pointer csf_module::csfmanager::pt_orb
private

Definition at line 100 of file CSF_module.F90.

◆ ref_int64dtrs

integer(longint), dimension(:), allocatable csf_module::csfmanager::ref_int64dtrs
private

Definition at line 99 of file CSF_module.F90.

◆ reference_dtrs

integer, dimension(:), allocatable csf_module::csfmanager::reference_dtrs
private

Definition at line 98 of file CSF_module.F90.

◆ spin

integer, dimension(:), allocatable csf_module::csfmanager::spin
private

Definition at line 97 of file CSF_module.F90.


The documentation for this type was generated from the following file: