Psi4
cceom/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-2018 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This file is part of Psi4.
12  *
13  * Psi4 is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License as published by
15  * the Free Software Foundation, version 3.
16  *
17  * Psi4 is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public License along
23  * with Psi4; if not, write to the Free Software Foundation, Inc.,
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25  *
26  * @END LICENSE
27  */
28 
34 #include <string>
35 #include <vector>
36 
37 namespace psi {
38 namespace cceom {
39 
40 struct MOInfo {
41  int nirreps; /* no. of irreducible representations */
42  int nmo; /* no. of molecular orbitals */
43  int nso; /* no. of symmetry orbitals */
44  int iopen; /* 0=closed shell; >0=open shell */
45  int *sopi; /* no. of SOs per irrep */
46  int *sosym; /* orbital symmetry (Pitzer/SO) */
47  int *orbspi; /* no. of MOs per irrep */
48  int *clsdpi; /* no. of closed-shells per irrep excl. frdocc */
49  int *openpi; /* no. of open-shells per irrep */
50  int *uoccpi; /* no. of unoccupied orbitals per irr. ex. fruocc */
51  int *frdocc; /* no. of frozen core orbitals per irrep */
52  int *fruocc; /* no. of frozen unoccupied orbitals per irrep */
53  int nvirt; /* total no. of (active) virtual orbitals */
54  std::vector<std::string> irr_labs; /* irrep labels */
55  char **irr_labs_lowercase; /* irrep labels */
56  int *occpi; /* no. of occupied orbs. (incl. open) per irrep */
57  int *aoccpi; /* no. of alpha occupied orbs. (incl. open) per irrep */
58  int *boccpi; /* no. of beta occupied orbs. (incl. open) per irrep */
59  int *virtpi; /* no. of virtual orbs. (incl. open) per irrep */
60  int *avirtpi; /* no. of alpha virtual orbs. (incl. open) per irrep */
61  int *bvirtpi; /* no. of beta virtual orbs. (incl. open) per irrep */
62  int *occ_sym; /* relative occupied index symmetry */
63  int *aocc_sym; /* relative alpha occupied index symmetry */
64  int *bocc_sym; /* relative beta occupied index symmetry */
65  int *vir_sym; /* relative virtual index symmetry */
66  int *avir_sym; /* relative alpha virtual index symmetry */
67  int *bvir_sym; /* relative beta virtual index symmetry */
68  int iter; /* Current CCSD iteration */
69  int sym; /* symmetry of converged CCSD state */
70  int *occ_off; /* occupied orbital offsets within each irrep */
71  int *aocc_off; /* alpha occupied orbital offsets within each irrep */
72  int *bocc_off; /* beta occupied orbital offsets within each irrep */
73  int *vir_off; /* virtual orbital offsets within each irrep */
74  int *avir_off; /* alpha virtual orbital offsets within each irrep */
75  int *bvir_off; /* beta virtual orbital offsets within each irrep */
76  double conv; /* Current convergence level */
77  double enuc; /* Nuclear repulsion energy */
78  double escf; /* SCF energy (from wfn) */
79  double eref; /* Reference energy (file100) */
80  double ecc; /* Current coupled cluster energy */
81  double t1diag; /* Standard open- or closed-shell T1 diagnostic */
82  double d1diag; /* Janssen and Nielsen's D1 Diagnostic */
83  double ***C; /* Virtual orbital transformation matrix (for AO-basis B terms) */
84  double ***Ca; /* UHF alpha virtual orbital transformation matrix (for AO-basis B terms) */
85  double ***Cb; /* UHF beta virtual orbital transformation matrix (for AO-basis B terms) */
86 };
87 
88 } // namespace cceom
89 } // namespace psi
int * uoccpi
Definition: cceom/MOInfo.h:50
int nso
Definition: cceom/MOInfo.h:43
int * clsdpi
Definition: cceom/MOInfo.h:48
int * avirtpi
Definition: cceom/MOInfo.h:60
double *** C
Definition: cceom/MOInfo.h:83
int * occpi
Definition: cceom/MOInfo.h:56
int * vir_off
Definition: cceom/MOInfo.h:73
int * bvirtpi
Definition: cceom/MOInfo.h:61
double *** Cb
Definition: cceom/MOInfo.h:85
int * boccpi
Definition: cceom/MOInfo.h:58
Definition: cceom/MOInfo.h:40
int sym
Definition: cceom/MOInfo.h:69
double eref
Definition: cceom/MOInfo.h:79
int * bvir_sym
Definition: cceom/MOInfo.h:67
int nvirt
Definition: cceom/MOInfo.h:53
int * aocc_off
Definition: cceom/MOInfo.h:71
char ** irr_labs_lowercase
Definition: cceom/MOInfo.h:55
int * bocc_off
Definition: cceom/MOInfo.h:72
int * virtpi
Definition: cceom/MOInfo.h:59
int * bvir_off
Definition: cceom/MOInfo.h:75
int * frdocc
Definition: cceom/MOInfo.h:51
int * aocc_sym
Definition: cceom/MOInfo.h:63
int nirreps
Definition: cceom/MOInfo.h:41
double t1diag
Definition: cceom/MOInfo.h:81
double enuc
Definition: cceom/MOInfo.h:77
int * aoccpi
Definition: cceom/MOInfo.h:57
double conv
Definition: cceom/MOInfo.h:76
int * occ_off
Definition: cceom/MOInfo.h:70
int * sosym
Definition: cceom/MOInfo.h:46
double escf
Definition: cceom/MOInfo.h:78
std::vector< std::string > irr_labs
Definition: cceom/MOInfo.h:54
double ecc
Definition: cceom/MOInfo.h:80
int * sopi
Definition: cceom/MOInfo.h:45
int * avir_sym
Definition: cceom/MOInfo.h:66
int nmo
Definition: cceom/MOInfo.h:42
int * bocc_sym
Definition: cceom/MOInfo.h:64
int * fruocc
Definition: cceom/MOInfo.h:52
int * avir_off
Definition: cceom/MOInfo.h:74
int * occ_sym
Definition: cceom/MOInfo.h:62
double *** Ca
Definition: cceom/MOInfo.h:84
int iopen
Definition: cceom/MOInfo.h:44
int iter
Definition: cceom/MOInfo.h:68
int * vir_sym
Definition: cceom/MOInfo.h:65
double d1diag
Definition: cceom/MOInfo.h:82
PsiReturnType cceom(SharedWavefunction, Options &)
int * openpi
Definition: cceom/MOInfo.h:49
int * orbspi
Definition: cceom/MOInfo.h:47