Psi4
ccresponse/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 ccresponse {
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 nao; /* no. of atomic orbitals */
45  int noei; /* no. of elements in SOxSO lower triangle */
46  int ntri; /* no. of elements in MOxMO lower triangle */
47  int noei_ao; /* no. of elements in AOxAO lower triangle */
48  int nactive; /* no. of active MO's */
49  int nfzc; /* no. of frozen core orbitals */
50  int *sopi; /* no. of SOs per irrep */
51  int *orbspi; /* no. of MOs per irrep */
52  int *clsdpi; /* no. of closed-shells per irrep */
53  int *openpi; /* no. of open-shells per irrep */
54  int *uoccpi; /* no. of unoccupied orbitals per irrep */
55  int *frdocc; /* no. of frozen core orbitals per irrep */
56  int *fruocc; /* no. of frozen unoccupied orbitals per irrep */
57  int nvirt; /* total no. of (active) virtual orbitals */
58  int *actpi; /* no. of active orbitals per irrep */
59  std::vector<std::string> labels; /* irrep labels */
60  int *pitzer2qt; /* Pitzer -> QT reordering array */
61  int *qt2pitzer; /* QT -> Pitzer reordering array */
62  int *occpi; /* no. of occupied orbs. (incl. open) per irrep */
63  int *aoccpi; /* no. of alpha occupied orbs. (incl. open) per irrep */
64  int *boccpi; /* no. of beta occupied orbs. (incl. open) per irrep */
65  int *virtpi; /* no. of virtual orbs. (incl. open) per irrep */
66  int *avirtpi; /* no. of alpha virtual orbs. (incl. open) per irrep */
67  int *bvirtpi; /* no. of beta virtual orbs. (incl. open) per irrep */
68  int *occ_sym; /* relative occupied index symmetry */
69  int *aocc_sym; /* relative alpha occupied index symmetry */
70  int *bocc_sym; /* relative beta occupied index symmetry */
71  int *vir_sym; /* relative virtual index symmetry */
72  int *avir_sym; /* relative alpha virtual index symmetry */
73  int *bvir_sym; /* relative beta virtual index symmetry */
74  int *occ_off; /* occupied orbital offsets within each irrep */
75  int *aocc_off; /* occupied alpha orbital offsets within each irrep */
76  int *bocc_off; /* occupied beta orbital offsets within each irrep */
77  int *vir_off; /* virtual orbital offsets within each irrep */
78  int *avir_off; /* virtual alpha orbital offsets within each irrep */
79  int *bvir_off; /* virtual beta orbital offsets within each irrep */
80  int *qt_occ; /* CC->QT active occupied reordering array */
81  int *qt_aocc; /* CC->QT alpha active occupied reordering array */
82  int *qt_bocc; /* CC->QT beta active occupied reordering array */
83  int *qt_vir; /* CC->QT active virtiual reordering array */
84  int *qt_avir; /* CC->QT alpha active virtiual reordering array */
85  int *qt_bvir; /* CC->QT beta active virtiual reordering array */
86  int *cc_occ; /* QT->CC active occupied reordering array */
87  int *cc_aocc; /* QT->CC active occupied reordering array */
88  int *cc_bocc; /* QT->CC active occupied reordering array */
89  int *cc_vir; /* QT->CC active virtual reordering array */
90  int *cc_avir; /* QT->CC active virtual reordering array */
91  int *cc_bvir; /* QT->CC active virtual reordering array */
92  double **scf; /* SCF eigenvectors (RHF/ROHF) (active only) */
93  double **scf_alpha; /* Alpha SCF eigenvectors (UHF) (active only) */
94  double **scf_beta; /* Beta SCF eigenvectors (UHF) (active only) */
95  double ***MU; /* MO-basis dipole integrals (Pitzer order) */
96  int *mu_irreps; /* irreps of x,y,z dipole components */
97  double ***L; /* MO-basis angular momentum ints (Pitzer order) */
98  double ***Lcc; /* Complex-conjugate of MO-basis angular momentum ints (Pitzer order) */
99  int *l_irreps; /* irreps of x,y,z angular momentum components */
100  double ***P; /* MO-basis linear momentum ints (Pitzer order) */
101  double ***Pcc; /* Complex-conjugate of MO-basis linear momentum ints (Pitzer order) */
102  double ****Q; /* MO-basis traceless quadrupole ints (Pitzer order) */
103  int natom; /* number of atoms */
104  double *zvals; /* atomic zvals */
105  double ***C; /* Virtual orbital transformation matrix */
106 };
107 
108 } // namespace ccresponse
109 } // namespace psi
int * aoccpi
Definition: ccresponse/MOInfo.h:63
double *** Lcc
Definition: ccresponse/MOInfo.h:98
int * bocc_sym
Definition: ccresponse/MOInfo.h:70
int * qt2pitzer
Definition: ccresponse/MOInfo.h:61
int * sopi
Definition: ccresponse/MOInfo.h:50
int * pitzer2qt
Definition: ccresponse/MOInfo.h:60
int nirreps
Definition: ccresponse/MOInfo.h:41
int * qt_avir
Definition: ccresponse/MOInfo.h:84
int * qt_occ
Definition: ccresponse/MOInfo.h:80
int * cc_occ
Definition: ccresponse/MOInfo.h:86
int nao
Definition: ccresponse/MOInfo.h:44
int * qt_bocc
Definition: ccresponse/MOInfo.h:82
int * cc_vir
Definition: ccresponse/MOInfo.h:89
double **** Q
Definition: ccresponse/MOInfo.h:102
double *** MU
Definition: ccresponse/MOInfo.h:95
int * bocc_off
Definition: ccresponse/MOInfo.h:76
double *** P
Definition: ccresponse/MOInfo.h:100
int * aocc_sym
Definition: ccresponse/MOInfo.h:69
double *** C
Definition: ccresponse/MOInfo.h:105
int * vir_off
Definition: ccresponse/MOInfo.h:77
int * openpi
Definition: ccresponse/MOInfo.h:53
int ntri
Definition: ccresponse/MOInfo.h:46
int * bvir_off
Definition: ccresponse/MOInfo.h:79
int * avir_sym
Definition: ccresponse/MOInfo.h:72
int * cc_aocc
Definition: ccresponse/MOInfo.h:87
int * avir_off
Definition: ccresponse/MOInfo.h:78
double * zvals
Definition: ccresponse/MOInfo.h:104
int * occ_off
Definition: ccresponse/MOInfo.h:74
int * bvir_sym
Definition: ccresponse/MOInfo.h:73
int * cc_bvir
Definition: ccresponse/MOInfo.h:91
int * clsdpi
Definition: ccresponse/MOInfo.h:52
int nactive
Definition: ccresponse/MOInfo.h:48
int nso
Definition: ccresponse/MOInfo.h:43
int noei_ao
Definition: ccresponse/MOInfo.h:47
int * uoccpi
Definition: ccresponse/MOInfo.h:54
int * mu_irreps
Definition: ccresponse/MOInfo.h:96
int * aocc_off
Definition: ccresponse/MOInfo.h:75
double *** L
Definition: ccresponse/MOInfo.h:97
int nmo
Definition: ccresponse/MOInfo.h:42
int * qt_vir
Definition: ccresponse/MOInfo.h:83
int * occ_sym
Definition: ccresponse/MOInfo.h:68
int nfzc
Definition: ccresponse/MOInfo.h:49
int * qt_aocc
Definition: ccresponse/MOInfo.h:81
int * orbspi
Definition: ccresponse/MOInfo.h:51
PsiReturnType ccresponse(SharedWavefunction, Options &)
int * virtpi
Definition: ccresponse/MOInfo.h:65
double *** Pcc
Definition: ccresponse/MOInfo.h:101
int * avirtpi
Definition: ccresponse/MOInfo.h:66
int * vir_sym
Definition: ccresponse/MOInfo.h:71
int * cc_bocc
Definition: ccresponse/MOInfo.h:88
double ** scf_alpha
Definition: ccresponse/MOInfo.h:93
Definition: ccresponse/MOInfo.h:40
int natom
Definition: ccresponse/MOInfo.h:103
int * frdocc
Definition: ccresponse/MOInfo.h:55
int * cc_avir
Definition: ccresponse/MOInfo.h:90
int * fruocc
Definition: ccresponse/MOInfo.h:56
int nvirt
Definition: ccresponse/MOInfo.h:57
int * qt_bvir
Definition: ccresponse/MOInfo.h:85
int * l_irreps
Definition: ccresponse/MOInfo.h:99
int * bvirtpi
Definition: ccresponse/MOInfo.h:67
int noei
Definition: ccresponse/MOInfo.h:45
std::vector< std::string > labels
Definition: ccresponse/MOInfo.h:59
int * occpi
Definition: ccresponse/MOInfo.h:62
double ** scf_beta
Definition: ccresponse/MOInfo.h:94
double ** scf
Definition: ccresponse/MOInfo.h:92
int * boccpi
Definition: ccresponse/MOInfo.h:64
int * actpi
Definition: ccresponse/MOInfo.h:58