CheMPS2
DMRGSCFoptions.h
1 /*
2  CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
3  Copyright (C) 2013-2016 Sebastian Wouters
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #ifndef DMRGSCFOPTIONS_CHEMPS2_H
21 #define DMRGSCFOPTIONS_CHEMPS2_H
22 
23 #include "Options.h"
24 
25 namespace CheMPS2{
52 
53  public:
54 
57 
59  virtual ~DMRGSCFoptions();
60 
62 
63  bool getDoDIIS() const;
64 
66 
67  double getDIISGradientBranch() const;
68 
70 
71  int getNumDIISVecs() const;
72 
74 
75  bool getStoreDIIS() const;
76 
78 
79  string getDIISStorageName() const;
80 
82 
83  int getMaxIterations() const;
84 
86 
87  double getGradientThreshold() const;
88 
90 
91  bool getStoreUnitary() const;
92 
94 
95  string getUnitaryStorageName() const;
96 
98 
99  bool getStateAveraging() const;
100 
102 
103  int getWhichActiveSpace() const;
104 
106 
107  bool getDumpCorrelations() const;
108 
110 
111  bool getStartLocRandom() const;
112 
114 
115  void setDoDIIS(const bool DoDIIS_in);
116 
118 
119  void setDIISGradientBranch(const double DIISGradientBranch_in);
120 
122 
123  void setNumDIISVecs(const int NumDIISVecs_in);
124 
126 
127  void setStoreDIIS(const bool StoreDIIS_in);
128 
130 
131  void setDIISStorageName(const string DIISStorageName_in);
132 
134 
135  void setMaxIterations(const int MaxIterations_in);
136 
138 
139  void setGradientThreshold(const double GradientThreshold_in);
140 
142 
143  void setStoreUnitary(const bool StoreUnitary_in);
144 
146 
147  void setUnitaryStorageName(const string UnitaryStorageName_in);
148 
150 
151  void setStateAveraging(const bool StateAveraging_in);
152 
154 
155  void setWhichActiveSpace(const int WhichActiveSpace_in);
156 
158 
159  void setDumpCorrelations(const bool DumpCorrelations_in);
160 
162 
163  void setStartLocRandom(const bool StartLocRandom_in);
164 
165  private:
166 
167  //See class information
168  bool DoDIIS;
169  double DIISGradientBranch;
170  int NumDIISVecs;
171  bool StoreDIIS;
172  string DIISStorageName;
173 
174  int MaxIterations;
175  double GradientThreshold;
176  bool StoreUnitary;
177  string UnitaryStorageName;
178  bool StateAveraging;
179 
180  int WhichActiveSpace;
181  bool DumpCorrelations;
182  bool StartLocRandom;
183 
184  };
185 }
186 
187 #endif
void setDumpCorrelations(const bool DumpCorrelations_in)
Set whether the correlations and two-orbital mutual information should be printed.
int getMaxIterations() const
Get the maximum number of DMRGSCF iterations.
void setDoDIIS(const bool DoDIIS_in)
Set whether DIIS should be performed.
DMRGSCFoptions()
Constructor.
void setStartLocRandom(const bool StartLocRandom_in)
Set whether the localization procedure should start from a random unitary.
void setGradientThreshold(const double GradientThreshold_in)
Set the threshold for DMRGSCF convergence.
Definition: CASPT2.h:42
void setWhichActiveSpace(const int WhichActiveSpace_in)
Set which active space should be considered in the DMRG routine.
double getDIISGradientBranch() const
Get the threshold for when DIIS should start.
bool getDumpCorrelations() const
Get whether the correlations and two-orbital mutual information should be printed.
void setDIISStorageName(const string DIISStorageName_in)
Set the DIIS checkpoint filename.
int getWhichActiveSpace() const
Get which active space should be considered in the DMRG routine.
int getNumDIISVecs() const
Get the number of DIIS update vectors which should be kept.
void setUnitaryStorageName(const string UnitaryStorageName_in)
Set the Orbital Rotation checkpoint filename.
string getDIISStorageName() const
Get the DIIS checkpoint filename.
bool getDoDIIS() const
Get whether DIIS should be performed.
bool getStartLocRandom() const
Get whether the localization procedure should start from a random unitary.
void setStoreDIIS(const bool StoreDIIS_in)
Set whether the DIIS checkpoint should be stored to disk.
void setMaxIterations(const int MaxIterations_in)
Set the maximum number of DMRGSCF iterations.
bool getStoreDIIS() const
Get whether the DIIS checkpoint should be stored to disk.
bool getStoreUnitary() const
Get whether the Orbital Rotation checkpoint should be stored to disk.
void setNumDIISVecs(const int NumDIISVecs_in)
Set the number of DIIS update vectors which should be kept.
bool getStateAveraging() const
Get whether state-averaging or state-specific DMRGSCF should be performed.
virtual ~DMRGSCFoptions()
Destructor.
void setStoreUnitary(const bool StoreUnitary_in)
Set whether the Orbital Rotation checkpoint should be stored to disk.
double getGradientThreshold() const
Get the threshold for DMRGSCF convergence.
void setDIISGradientBranch(const double DIISGradientBranch_in)
Set the threshold for when DIIS should start.
string getUnitaryStorageName() const
Get the Orbital Rotation checkpoint filename.
void setStateAveraging(const bool StateAveraging_in)
Set whether state-averaging or state-specific DMRGSCF should be performed.