MPI-SCATCI
2.0
An MPI version of SCATCI
|
CSF module. More...
Data Types | |
type | csfmanager |
Configuration state function factory. More... | |
type | csfobject |
Single configuration state function. More... | |
type | csforbital |
Single determinant. More... | |
Functions/Subroutines | |
subroutine | read_csf_body (this, option, orbital) |
Reads the CSFs. More... | |
subroutine | finalize_manager (this) |
Release all memory used by the instance. More... | |
subroutine | create_csfs (this, CSF, orbital_sequence, num_ci_target_sym, continuum_projection) |
This subroutine seperates out the CSFs and creates individual objects out of them. More... | |
subroutine | print_csf (this) |
subroutine | print_all_csfs (this, csf) |
subroutine | destroy_orbitals (this) |
subroutine | compare_excitations_fast (this, that, num_electrons, coeff, num_excitations, output_dtrs) |
integer function | does_it_obey_slater (this, that) |
subroutine | toggle_determinant (this, det0, det1, Nints) |
integer function | pzero (det1, det2, Nint) |
elemental integer function | get_beta (det) |
elemental integer function | get_alpha (det) |
integer function | n_excitations (det1, det2, Nint) |
subroutine | get_excitation (det1, det2, exc, degree, phase, Nint) |
subroutine | get_single_excitation (det1, det2, exc, phase, Nint) |
subroutine | get_double_excitation (det1, det2, exc, phase, Nint) |
subroutine | assign_pointer (targ, point, Nints) |
subroutine | get_determinants (this, dtrs, nelec) |
recursive subroutine | qsortdets (A, phase) |
subroutine | partition (A, marker, phase) |
CSF module.
This module handles reading and storing of configuration state functions from CONGEN. It provides a clean way of handling CSFs than multiple arrays! Hopefully!
When MPI-3 shared memory is available, the configurations (CSFManager::int64dtrs) and coefficients (CSFManager::coeffs) are stored in an array shared across all processes.
|
private |
Definition at line 800 of file CSF_module.F90.
|
private |
|
private |
This subroutine seperates out the CSFs and creates individual objects out of them.
The unpacked determinants forming each CSF are stored as bit fields in CSFManager::int64dtrs (potentially shared across the MPI processes participating in the diagonalization) of length equal to the number of spin-orbitals and values 0 and 1 representing absence or presence of an electron in the spin-orbital. The coefficients of these determinants are then adjusted to be compatible with ascending order of spin-orbitals in the determinant (may result in sign flip).
[in,out] | this | Manager object to update. |
[in,out] | CSF | Configuration set to construct (will be allocated). |
[in] | orbital_sequence | Pointer to orbital sequence (KPT). |
[in] | num_ci_target_sym | Number of CI components of each target symmetry (NCTGT). |
[in] | continuum_projection | Lambda value of the continuum orbitals associated with each target state (MCONT). |
Definition at line 292 of file CSF_module.F90.
|
private |
|
private |
Release all memory used by the instance.
[in,out] | this | Manager object to update. |
Definition at line 250 of file CSF_module.F90.
|
private |
|
private |
|
private |
Definition at line 810 of file CSF_module.F90.
|
private |
|
private |
Definition at line 593 of file CSF_module.F90.
|
private |
|
private |
|
private |
|
private |
Definition at line 445 of file CSF_module.F90.
|
private |
Definition at line 440 of file CSF_module.F90.
|
private |
Definition at line 522 of file CSF_module.F90.
|
private |
Definition at line 835 of file CSF_module.F90.
|
private |
Reads the CSFs.
Reads all configurations from CONGEN output using the SCATCI's RDWF routine and stores them in the CONGEN format. The translation from CONGEN format to MPI-SCATCI internal (bitset) representation is done in create_csfs.
Definition at line 161 of file CSF_module.F90.
|
private |
Definition at line 502 of file CSF_module.F90.