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 stateaveraging or statespecific 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 twoorbital 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 stateaveraging or statespecific 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 twoorbital 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 2norm 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 2norm 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 stateaveraged or statespecific 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 (EdmistonRuedenberg), 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 twoorbital 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 twoorbital 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 stateaveraging or statespecific 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 2norm 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 twoorbital mutual information should be printed.
DumpCorrelations_in  Whether the correlations and twoorbital 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 2norm 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 stateaveraging or statespecific DMRGSCF should be performed.
StateAveraging_in  Whether stateaveraging 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 (EdmistonRuedenberg), 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.