CheMPS2
Options.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 OPTIONS_CHEMPS2_H
21 #define OPTIONS_CHEMPS2_H
22 
23 #include <stdlib.h>
24 #include <string>
25 
26 using std::string;
27 
28 namespace CheMPS2{
29 
30  const int DMRGSCF_maxIterations = 100;
31  const double DMRGSCF_gradientNormThreshold = 1e-6;
32  const bool DMRGSCF_storeUnitary = true;
33  const string DMRGSCF_unitary_storage_name = "CheMPS2_CASSCF.h5";
34  const string DMRGSCF_eri_storage_name = "CheMPS2_eri_temp.h5";
35  const string DMRGSCF_f4rdm_name = "CheMPS2_f4rdm.h5";
36  const int DMRGSCF_max_mem_eri_tfo = 100 * 100 * 100 * 100; // Measured in number of doubles
37  const bool DMRGSCF_debugPrint = false;
38  const bool DMRGSCF_stateAveraged = true;
39 
40  const int DMRGSCF_whichActiveSpace = 0;
41  const bool DMRGSCF_dumpCorrelations = false;
42  const bool DMRGSCF_startLocRandom = false;
43 
44  const bool DMRGSCF_doDIIS = false;
45  const double DMRGSCF_DIISgradientBranch = 1e-2;
46  const int DMRGSCF_numDIISvecs = 7;
47  const bool DMRGSCF_storeDIIS = true;
48  const string DMRGSCF_diis_storage_name = "CheMPS2_DIIS.h5";
49 
50  const double CASPT2_OVLP_CUTOFF = 1e-8;
51 
52  const double CONJ_GRADIENT_RTOL = 1e-10;
53  const double CONJ_GRADIENT_PRECOND_CUTOFF = 1e-12;
54 
55  const string defaultTMPpath = "/tmp";
56  const bool DMRG_storeRenormOptrOnDisk = true;
57  const bool DMRG_storeMpsOnDisk = false;
58  const string DMRG_MPS_storage_prefix = "CheMPS2_MPS";
59  const string DMRG_OPERATOR_storage_prefix = "CheMPS2_Operators_";
60 
61  const bool HAMILTONIAN_debugPrint = false;
62  const string HAMILTONIAN_TmatStorageName = "CheMPS2_Ham_Tmat.h5";
63  const string HAMILTONIAN_VmatStorageName = "CheMPS2_Ham_Vmat.h5";
64  const string HAMILTONIAN_ParentStorageName = "CheMPS2_Ham_parent.h5";
65 
66  const string TWO_RDM_storagename = "CheMPS2_2DM.h5";
67  const string THREE_RDM_storage_prefix = "CheMPS2_3DM_";
68 
69  const bool HEFF_debugPrint = true;
70  const int DAVIDSON_NUM_VEC = 32;
71  const int DAVIDSON_NUM_VEC_KEEP = 3;
72  const double DAVIDSON_PRECOND_CUTOFF = 1e-12;
73  const double DAVIDSON_FCI_RTOL = 1e-10; // Base value for FCI and augmented Hessian diagonalization
74  const double DAVIDSON_DMRG_RTOL = 1e-5; // Block's Davidson tolerance would correspond to HEFF_DAVIDSON_DMRG_RTOL^2
75 
76  const int SYBK_dimensionCutoff = 262144;
77 
78  const double TENSORT_orthoComparison = 1e-13;
79 
80  const bool CORRELATIONS_debugPrint = false;
81  const double CORRELATIONS_discardEig = 1e-100;
82 
83  const double EDMISTONRUED_gradThreshold = 1e-8;
84  const int EDMISTONRUED_maxIter = 1000;
85  const int EDMISTONRUED_maxIterBackTfo = 15;
86 
87 }
88 
89 #endif
90 
Definition: CASPT2.h:42