|
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. | |
| subroutine | finalize_manager (this) |
| Release all memory used by the instance. | |
| 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. | |
| 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 831 of file CSF_module.F90.
|
private |
Definition at line 493 of file CSF_module.F90.
|
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 306 of file CSF_module.F90.
|
private |
Definition at line 488 of file CSF_module.F90.
|
private |
Definition at line 519 of file CSF_module.F90.
|
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 |
Definition at line 598 of file CSF_module.F90.
|
private |
Definition at line 582 of file CSF_module.F90.
|
private |
Definition at line 841 of file CSF_module.F90.
|
private |
Definition at line 706 of file CSF_module.F90.
|
private |
Definition at line 624 of file CSF_module.F90.
|
private |
Definition at line 649 of file CSF_module.F90.
|
private |
Definition at line 607 of file CSF_module.F90.
|
private |
Definition at line 880 of file CSF_module.F90.
|
private |
Definition at line 476 of file CSF_module.F90.
|
private |
Definition at line 454 of file CSF_module.F90.
|
private |
Definition at line 553 of file CSF_module.F90.
|
private |
Definition at line 866 of file CSF_module.F90.
| subroutine CSF_module::read_csf_body | ( | class(csfmanager), intent(inout) | this, |
| class(options), intent(in) | option, | ||
| class(orbitaltable), intent(in), target | orbital ) |
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 533 of file CSF_module.F90.