CheMPS2
|
#include <DMRGSCFoptions.h>
Public Member Functions | |
DMRGSCFoptions () | |
Constructor. | |
virtual | ~DMRGSCFoptions () |
Destructor. | |
bool | getDoDIIS () const |
Get whether DIIS should be performed. More... | |
double | getDIISGradientBranch () const |
Get the threshold for when DIIS should start. More... | |
int | getNumDIISVecs () const |
Get the number of DIIS update vectors which should be kept. More... | |
bool | getStoreDIIS () const |
Get whether the DIIS checkpoint should be stored to disk. More... | |
string | getDIISStorageName () const |
Get the DIIS checkpoint filename. More... | |
int | getMaxIterations () const |
Get the maximum number of DMRGSCF iterations. More... | |
double | getGradientThreshold () const |
Get the threshold for DMRGSCF convergence. More... | |
bool | getStoreUnitary () const |
Get whether the Orbital Rotation checkpoint should be stored to disk. More... | |
string | getUnitaryStorageName () const |
Get the Orbital Rotation checkpoint filename. More... | |
bool | getStateAveraging () const |
Get whether state-averaging or state-specific DMRGSCF should be performed. More... | |
int | getWhichActiveSpace () const |
Get which active space should be considered in the DMRG routine. More... | |
bool | getDumpCorrelations () const |
Get whether the correlations and two-orbital mutual information should be printed. More... | |
bool | getStartLocRandom () const |
Get whether the localization procedure should start from a random unitary. More... | |
void | setDoDIIS (const bool DoDIIS_in) |
Set whether DIIS should be performed. More... | |
void | setDIISGradientBranch (const double DIISGradientBranch_in) |
Set the threshold for when DIIS should start. More... | |
void | setNumDIISVecs (const int NumDIISVecs_in) |
Set the number of DIIS update vectors which should be kept. More... | |
void | setStoreDIIS (const bool StoreDIIS_in) |
Set whether the DIIS checkpoint should be stored to disk. More... | |
void | setDIISStorageName (const string DIISStorageName_in) |
Set the DIIS checkpoint filename. More... | |
void | setMaxIterations (const int MaxIterations_in) |
Set the maximum number of DMRGSCF iterations. More... | |
void | setGradientThreshold (const double GradientThreshold_in) |
Set the threshold for DMRGSCF convergence. More... | |
void | setStoreUnitary (const bool StoreUnitary_in) |
Set whether the Orbital Rotation checkpoint should be stored to disk. More... | |
void | setUnitaryStorageName (const string UnitaryStorageName_in) |
Set the Orbital Rotation checkpoint filename. More... | |
void | setStateAveraging (const bool StateAveraging_in) |
Set whether state-averaging or state-specific DMRGSCF should be performed. More... | |
void | setWhichActiveSpace (const int WhichActiveSpace_in) |
Set which active space should be considered in the DMRG routine. More... | |
void | setDumpCorrelations (const bool DumpCorrelations_in) |
Set whether the correlations and two-orbital mutual information should be printed. More... | |
void | setStartLocRandom (const bool StartLocRandom_in) |
Set whether the localization procedure should start from a random unitary. More... | |
DMRGSCFoptions class.
The DMRGSCFoptions class contains the options to control the DMRGSCF iterations. The default values are taken from Options.h.
For DIIS:
(1) DoDIIS (bool) : Whether or not to do DIIS
(2) DIISGradientBranch (double) : Start DIIS when the 2-norm of the update vector (i.e. NOT the gradient vector!) is smaller than this value
(3) NumDIISVecs (int) : Number of previous updates to keep during DIIS
(4) StoreDIIS (bool) : Whether or not to store the DIIS checkpoint file
(5) DIISStorageName (string) : The filename to store the DIIS checkpoint
General DMRGSCF control:
(6) MaxIterations (int) : The maximum number of DMRGSCF iterations
(7) GradientThreshold (double) : Stop the DMRGSCF iterations when the gradient for orbital rotation has a 2-norm smaller than this value
(8) StoreUnitary (bool) : Whether or not to store the Orbital Rotation checkpoint file
(9) UnitaryStorageName (string) : The filename to store the Orbital Rotation checkpoint
(10) StateAveraging (bool) : Whether to do state-averaged or state-specific DMRGSCF
DMRG active space options:
(11) WhichActiveSpace (int) : Determines which active space is used for the DMRG (FCI replacement) calculations. If 1: NO, sorted within each irrep by NOON. If 2: Localized Orbitals (Edmiston-Ruedenberg), sorted within each irrep by the exchange matrix (Fiedler vector). If 3: Not localized, but only sorted within each irrep by the Fiedler vector of the exchange matrix. If other value: No additional active space rotations (the ones from DMRGSCF are of course performed).
(12) DumpCorrelations (bool) : Whether or not to print the correlation functions and two-orbital mutual information of the active space
(13) StartLocRandom (bool) : When localized orbitals are used, it is sometimes beneficial to start the localization procedure from a random unitary. A specific example is the reduction of the d2h point group of graphene nanoribbons to the cs point group, in order to make use of locality in the DMRG calculations. Since molecular orbitals will still belong to the full point group d2h, a random unitary helps in constructing localized orbitals which belong to the cs point group.
Definition at line 51 of file DMRGSCFoptions.h.
double CheMPS2::DMRGSCFoptions::getDIISGradientBranch | ( | ) | const |
Get the threshold for when DIIS should start.
Definition at line 45 of file DMRGSCFoptions.cpp.
string CheMPS2::DMRGSCFoptions::getDIISStorageName | ( | ) | const |
Get the DIIS checkpoint filename.
Definition at line 48 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getDoDIIS | ( | ) | const |
Get whether DIIS should be performed.
Definition at line 44 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getDumpCorrelations | ( | ) | const |
Get whether the correlations and two-orbital mutual information should be printed.
Definition at line 55 of file DMRGSCFoptions.cpp.
double CheMPS2::DMRGSCFoptions::getGradientThreshold | ( | ) | const |
Get the threshold for DMRGSCF convergence.
Definition at line 50 of file DMRGSCFoptions.cpp.
int CheMPS2::DMRGSCFoptions::getMaxIterations | ( | ) | const |
Get the maximum number of DMRGSCF iterations.
Definition at line 49 of file DMRGSCFoptions.cpp.
int CheMPS2::DMRGSCFoptions::getNumDIISVecs | ( | ) | const |
Get the number of DIIS update vectors which should be kept.
Definition at line 46 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getStartLocRandom | ( | ) | const |
Get whether the localization procedure should start from a random unitary.
Definition at line 56 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getStateAveraging | ( | ) | const |
Get whether state-averaging or state-specific DMRGSCF should be performed.
Definition at line 53 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getStoreDIIS | ( | ) | const |
Get whether the DIIS checkpoint should be stored to disk.
Definition at line 47 of file DMRGSCFoptions.cpp.
bool CheMPS2::DMRGSCFoptions::getStoreUnitary | ( | ) | const |
Get whether the Orbital Rotation checkpoint should be stored to disk.
Definition at line 51 of file DMRGSCFoptions.cpp.
string CheMPS2::DMRGSCFoptions::getUnitaryStorageName | ( | ) | const |
Get the Orbital Rotation checkpoint filename.
Definition at line 52 of file DMRGSCFoptions.cpp.
int CheMPS2::DMRGSCFoptions::getWhichActiveSpace | ( | ) | const |
Get which active space should be considered in the DMRG routine.
Definition at line 54 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setDIISGradientBranch | ( | const double | DIISGradientBranch_in | ) |
Set the threshold for when DIIS should start.
DIISGradientBranch_in | The threshold for the 2-norm of the update vector (NOT the gradient vector) for starting DIIS |
Definition at line 59 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setDIISStorageName | ( | const string | DIISStorageName_in | ) |
Set the DIIS checkpoint filename.
DIISStorageName_in | The filename for the DIIS checkpoint |
Definition at line 62 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setDoDIIS | ( | const bool | DoDIIS_in | ) |
Set whether DIIS should be performed.
DoDIIS_in | Whether DIIS should be performed |
Definition at line 58 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setDumpCorrelations | ( | const bool | DumpCorrelations_in | ) |
Set whether the correlations and two-orbital mutual information should be printed.
DumpCorrelations_in | Whether the correlations and two-orbital mutual information should be printed |
Definition at line 69 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setGradientThreshold | ( | const double | GradientThreshold_in | ) |
Set the threshold for DMRGSCF convergence.
GradientThreshold_in | The threshold for the 2-norm of the gradient vector for DMRGSCF convergence |
Definition at line 64 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setMaxIterations | ( | const int | MaxIterations_in | ) |
Set the maximum number of DMRGSCF iterations.
MaxIterations_in | The maximum number of DMRGSCF iterations |
Definition at line 63 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setNumDIISVecs | ( | const int | NumDIISVecs_in | ) |
Set the number of DIIS update vectors which should be kept.
NumDIISVecs_in | The number of DIIS update vectors which should be kept |
Definition at line 60 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setStartLocRandom | ( | const bool | StartLocRandom_in | ) |
Set whether the localization procedure should start from a random unitary.
StartLocRandom_in | Whether the localization procedure should start from a random unitary |
Definition at line 70 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setStateAveraging | ( | const bool | StateAveraging_in | ) |
Set whether state-averaging or state-specific DMRGSCF should be performed.
StateAveraging_in | Whether state-averaging DMRGSCF should be performed |
Definition at line 67 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setStoreDIIS | ( | const bool | StoreDIIS_in | ) |
Set whether the DIIS checkpoint should be stored to disk.
StoreDIIS_in | Whether the DIIS checkpoint should be stored to disk |
Definition at line 61 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setStoreUnitary | ( | const bool | StoreUnitary_in | ) |
Set whether the Orbital Rotation checkpoint should be stored to disk.
StoreUnitary_in | Whether the Orbital Rotation checkpoint should be stored to disk |
Definition at line 65 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setUnitaryStorageName | ( | const string | UnitaryStorageName_in | ) |
Set the Orbital Rotation checkpoint filename.
UnitaryStorageName_in | The filename for the Orbital Rotation checkpoint |
Definition at line 66 of file DMRGSCFoptions.cpp.
void CheMPS2::DMRGSCFoptions::setWhichActiveSpace | ( | const int | WhichActiveSpace_in | ) |
Set which active space should be considered in the DMRG routine.
WhichActiveSpace_in | Which active space should be considered in the DMRG routine. If 1: NO, sorted within each irrep by NOON. If 2: Localized Orbitals (Edmiston-Ruedenberg), sorted within each irrep by the exchange matrix (Fiedler vector). If other value: No additional active space rotations (the ones from DMRGSCF are of course performed). |
Definition at line 68 of file DMRGSCFoptions.cpp.