Psi4
ccenergy/MOInfo.h
Go to the documentation of this file.
1 /*
2  * @BEGIN LICENSE
3  *
4  * Psi4: an open-source quantum chemistry software package
5  *
6  * Copyright (c) 2007-2017 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License along
22  * with this program; if not, write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24  *
25  * @END LICENSE
26  */
27 
33 #ifndef _psi_src_bin_ccenergy_moinfo_h
34 #define _psi_src_bin_ccenergy_moinfo_h
35 
36 namespace psi { namespace ccenergy {
37 
38 struct MOInfo {
39  int nirreps; /* no. of irreducible representations */
40  int nmo; /* no. of molecular orbitals */
41  int nso; /* no. of symmetry orbitals */
42  int nao; /* no. of atomic orbitals */
43  int *sopi; /* no. of SOs per irrep (only used in AO-based algorithm) */
44  int *sosym; /* SO symmetry (Pitzer) */
45  int *orbspi; /* no. of MOs per irrep */
46  int *clsdpi; /* no. of closed-shells per irrep excl. frdocc */
47  int *openpi; /* no. of open-shells per irrep */
48  int *uoccpi; /* no. of unoccupied orbitals per irr. ex. fruocc */
49  int *frdocc; /* no. of frozen core orbitals per irrep */
50  int *fruocc; /* no. of frozen unoccupied orbitals per irrep */
51  int nvirt; /* total no. of virtual orbitals */
52  char **labels; /* irrep labels */
53  int *occpi; /* no. of occupied orbs. (incl. open) per irrep */
54  int *aoccpi; /* no. of alpha occupied orbs. (incl. open) per irrep */
55  int *boccpi; /* no. of beta occupied orbs. (incl. open) per irrep */
56  int *virtpi; /* no. of virtual orbs. (incl. open) per irrep */
57  int *avirtpi; /* no. of alpha virtual orbs. (incl. open) per irrep */
58  int *bvirtpi; /* no. of beta virtual orbs. (incl. open) per irrep */
59  int *occ_sym; /* relative occupied index symmetry */
60  int *aocc_sym; /* relative alpha occupied index symmetry */
61  int *bocc_sym; /* relative beta occupied index symmetry */
62  int *vir_sym; /* relative virtual index symmetry */
63  int *avir_sym; /* relative alpha virtual index symmetry */
64  int *bvir_sym; /* relative beta virtual index symmetry */
65 
66  int *occ_off; /* occupied orbital offsets within each irrep */
67  int *aocc_off; /* alpha occupied orbital offsets within each irrep */
68  int *bocc_off; /* beta occupied orbital offsets within each irrep */
69  int *vir_off; /* virtual orbital offsets within each irrep */
70  int *avir_off; /* alpha virtual orbital offsets within each irrep */
71  int *bvir_off; /* beta virtual orbital offsets within each irrep */
72  int *cc_occ; /* QT->CC active occupied reordering array */
73  int *cc_aocc; /* QT->CC alpha active occupied reordering array */
74  int *cc_bocc; /* QT->CC beta active occupied reordering array */
75  int *cc_vir; /* QT->CC active virtiual reordering array */
76  int *cc_avir; /* QT->CC alpha active virtiual reordering array */
77  int *cc_bvir; /* QT->CC beta active virtiual reordering array */
78  int *qt_occ; /* CC->QT active occupied reordering array */
79  int *qt_aocc; /* CC->QT alpha active occupied reordering array */
80  int *qt_bocc; /* CC->QT beta active occupied reordering array */
81  int *qt_vir; /* CC->QT active virtiual reordering array */
82  int *qt_avir; /* CC->QT alpha active virtiual reordering array */
83  int *qt_bvir; /* CC->QT beta active virtiual reordering array */
84 
85  int *pitzer2qt; /* Pitzer -> QT translation array */
86  int *qt2pitzer; /* QT -> Pitzer translation array */
87 
88  int *pitzer2qt_a; /* Pitzer -> QT translation array for alpha orbitals */
89  int *qt2pitzer_a; /* QT -> Pitzer translation array for alpha orbitals */
90  int *pitzer2qt_b; /* Pitzer -> QT translation array for beta orbitals */
91  int *qt2pitzer_b; /* QT -> Pitzer translation array for beta orbitals */
92 
93  int iter; /* Current CCSD iteration */
94  double conv; /* Current convergence level */
95  double enuc; /* Nuclear repulsion energy */
96  double emp2; /* MP2 energy */
97  double emp2_ss; /* Same-spin MP2 correlation energy*/
98  double emp2_os; /* Opposite-spin MP2 correlation energy*/
99  double escf; /* SCF energy (from wfn) */
100  double eref; /* Reference energy (file100) */
101  double ecc; /* Current coupled cluster correlation energy */
102  double ecc_ss; /* Same-spin coupled cluster correlation energy*/
103  double ecc_os; /* Opposite-spin coupled cluster energy*/
104  double t1diag; /* Standard open- or closed-shell T1 diagnostic */
105  double d1diag; /* Janssen and Nielsen's D1 Diagnostic */
106  double new_d1diag; /* Lee's modified D1 Diagnostic */
107  double d2diag; /* Nielsen and Janssen's D2 Diagnostic */
108  double ***Cv; /* Virtual orbital transformation matrix (for AO-basis B terms) */
109  double ***Cav; /* UHF alpha virtual orbital transformation matrix (for AO-basis B terms) */
110  double ***Cbv; /* UHF beta virtual orbital transformation matrix (for AO-basis B terms) */
111  double ***Co; /* Occupied orbital transformation matrix (for AO-basis B terms) */
112  double ***Cao; /* UHF alpha occupied orbital transformation matrix (for AO-basis B terms) */
113  double ***Cbo; /* UHF beta occupied orbital transformation matrix (for AO-basis B terms) */
114 };
115 
116 }} // namespace psi::ccenergy
117 
118 #endif // _psi_src_bin_ccenergy_moinfo_h
int * qt_bvir
Definition: ccenergy/MOInfo.h:83
double emp2_ss
Definition: ccenergy/MOInfo.h:97
int * vir_off
Definition: ccenergy/MOInfo.h:69
double conv
Definition: ccenergy/MOInfo.h:94
int * aocc_sym
Definition: ccenergy/MOInfo.h:60
int * avirtpi
Definition: ccenergy/MOInfo.h:57
double *** Cav
Definition: ccenergy/MOInfo.h:109
int nirreps
Definition: ccenergy/MOInfo.h:39
double emp2_os
Definition: ccenergy/MOInfo.h:98
int * orbspi
Definition: ccenergy/MOInfo.h:45
int * cc_occ
Definition: ccenergy/MOInfo.h:72
int * bvir_off
Definition: ccenergy/MOInfo.h:71
int * bocc_off
Definition: ccenergy/MOInfo.h:68
int * pitzer2qt_b
Definition: ccenergy/MOInfo.h:90
int * cc_aocc
Definition: ccenergy/MOInfo.h:73
int iter
Definition: ccenergy/MOInfo.h:93
int * pitzer2qt
Definition: ccenergy/MOInfo.h:85
int * fruocc
Definition: ccenergy/MOInfo.h:50
int nmo
Definition: ccenergy/MOInfo.h:40
int * bvirtpi
Definition: ccenergy/MOInfo.h:58
int * vir_sym
Definition: ccenergy/MOInfo.h:62
double *** Co
Definition: ccenergy/MOInfo.h:111
double d1diag
Definition: ccenergy/MOInfo.h:105
int * qt2pitzer
Definition: ccenergy/MOInfo.h:86
int * sosym
Definition: ccenergy/MOInfo.h:44
int * cc_bvir
Definition: ccenergy/MOInfo.h:77
int * clsdpi
Definition: ccenergy/MOInfo.h:46
double *** Cv
Definition: ccenergy/MOInfo.h:108
int * uoccpi
Definition: ccenergy/MOInfo.h:48
double new_d1diag
Definition: ccenergy/MOInfo.h:106
int * qt_avir
Definition: ccenergy/MOInfo.h:82
int * avir_off
Definition: ccenergy/MOInfo.h:70
int * boccpi
Definition: ccenergy/MOInfo.h:55
int * occ_sym
Definition: ccenergy/MOInfo.h:59
double eref
Definition: ccenergy/MOInfo.h:100
int * qt_aocc
Definition: ccenergy/MOInfo.h:79
int * cc_vir
Definition: ccenergy/MOInfo.h:75
Definition: ccenergy/MOInfo.h:38
double *** Cbv
Definition: ccenergy/MOInfo.h:110
char ** labels
Definition: ccenergy/MOInfo.h:52
int * pitzer2qt_a
Definition: ccenergy/MOInfo.h:88
int * qt2pitzer_b
Definition: ccenergy/MOInfo.h:91
double ecc_os
Definition: ccenergy/MOInfo.h:103
int * occ_off
Definition: ccenergy/MOInfo.h:66
int * qt_vir
Definition: ccenergy/MOInfo.h:81
int * cc_bocc
Definition: ccenergy/MOInfo.h:74
double ecc
Definition: ccenergy/MOInfo.h:101
int * cc_avir
Definition: ccenergy/MOInfo.h:76
int * qt_occ
Definition: ccenergy/MOInfo.h:78
int nso
Definition: ccenergy/MOInfo.h:41
int nao
Definition: ccenergy/MOInfo.h:42
int * occpi
Definition: ccenergy/MOInfo.h:53
int * aocc_off
Definition: ccenergy/MOInfo.h:67
double escf
Definition: ccenergy/MOInfo.h:99
double *** Cbo
Definition: ccenergy/MOInfo.h:113
int * qt_bocc
Definition: ccenergy/MOInfo.h:80
double ecc_ss
Definition: ccenergy/MOInfo.h:102
int * openpi
Definition: ccenergy/MOInfo.h:47
int * bvir_sym
Definition: ccenergy/MOInfo.h:64
double emp2
Definition: ccenergy/MOInfo.h:96
int * bocc_sym
Definition: ccenergy/MOInfo.h:61
int * frdocc
Definition: ccenergy/MOInfo.h:49
int nvirt
Definition: ccenergy/MOInfo.h:51
double enuc
Definition: ccenergy/MOInfo.h:95
double d2diag
Definition: ccenergy/MOInfo.h:107
int * virtpi
Definition: ccenergy/MOInfo.h:56
int * aoccpi
Definition: ccenergy/MOInfo.h:54
int * avir_sym
Definition: ccenergy/MOInfo.h:63
double t1diag
Definition: ccenergy/MOInfo.h:104
int * qt2pitzer_a
Definition: ccenergy/MOInfo.h:89
int * sopi
Definition: ccenergy/MOInfo.h:43
double *** Cao
Definition: ccenergy/MOInfo.h:112