2
#include <libdpd/dpd.h>
8
int p, q, Gp, Gq, P, Q;
13
/***** X-Component *****/
14
irrep = moinfo.irrep_x;
17
dpd_file2_init(&mu, CC_OEI, irrep, 0, 0, "Mu_X_IJ");
18
dpd_file2_mat_init(&mu);
19
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
22
for(p=0; p < moinfo.occpi[Gp]; p++) {
23
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
24
for(q=0; q < moinfo.occpi[Gq]; q++) {
25
Q = moinfo.qt2pitzer[moinfo.qt_occ[q+moinfo.occ_off[Gq]]];
26
mu.matrix[Gp][p][q] = MU[P][Q];
30
dpd_file2_mat_wrt(&mu);
31
dpd_file2_mat_close(&mu);
34
dpd_file2_init(&mu, CC_OEI, irrep, 1, 1, "Mu_X_AB");
35
dpd_file2_mat_init(&mu);
36
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
39
for(p=0; p < moinfo.virtpi[Gp]; p++) {
40
P = moinfo.qt2pitzer[moinfo.qt_vir[p+moinfo.vir_off[Gp]]];
41
for(q=0; q < moinfo.virtpi[Gq]; q++) {
42
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
43
mu.matrix[Gp][p][q] = MU[P][Q];
47
dpd_file2_mat_wrt(&mu);
48
dpd_file2_mat_close(&mu);
51
dpd_file2_init(&mu, CC_OEI, irrep, 0, 1, "Mu_X_IA");
52
dpd_file2_mat_init(&mu);
53
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
56
for(p=0; p < moinfo.occpi[Gp]; p++) {
57
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
58
for(q=0; q < moinfo.virtpi[Gq]; q++) {
59
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
60
mu.matrix[Gp][p][q] = MU[P][Q];
64
dpd_file2_mat_wrt(&mu);
65
dpd_file2_mat_close(&mu);
68
/***** Y-Component *****/
69
irrep = moinfo.irrep_y;
72
dpd_file2_init(&mu, CC_OEI, irrep, 0, 0, "Mu_Y_IJ");
73
dpd_file2_mat_init(&mu);
74
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
77
for(p=0; p < moinfo.occpi[Gp]; p++) {
78
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
79
for(q=0; q < moinfo.occpi[Gq]; q++) {
80
Q = moinfo.qt2pitzer[moinfo.qt_occ[q+moinfo.occ_off[Gq]]];
81
mu.matrix[Gp][p][q] = MU[P][Q];
85
dpd_file2_mat_wrt(&mu);
86
dpd_file2_mat_close(&mu);
89
dpd_file2_init(&mu, CC_OEI, irrep, 1, 1, "Mu_Y_AB");
90
dpd_file2_mat_init(&mu);
91
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
94
for(p=0; p < moinfo.virtpi[Gp]; p++) {
95
P = moinfo.qt2pitzer[moinfo.qt_vir[p+moinfo.vir_off[Gp]]];
96
for(q=0; q < moinfo.virtpi[Gq]; q++) {
97
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
98
mu.matrix[Gp][p][q] = MU[P][Q];
102
dpd_file2_mat_wrt(&mu);
103
dpd_file2_mat_close(&mu);
104
dpd_file2_close(&mu);
106
dpd_file2_init(&mu, CC_OEI, irrep, 0, 1, "Mu_Y_IA");
107
dpd_file2_mat_init(&mu);
108
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
111
for(p=0; p < moinfo.occpi[Gp]; p++) {
112
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
113
for(q=0; q < moinfo.virtpi[Gq]; q++) {
114
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
115
mu.matrix[Gp][p][q] = MU[P][Q];
119
dpd_file2_mat_wrt(&mu);
120
dpd_file2_mat_close(&mu);
121
dpd_file2_close(&mu);
123
/***** Z-Component *****/
124
irrep = moinfo.irrep_z;
127
dpd_file2_init(&mu, CC_OEI, irrep, 0, 0, "Mu_Z_IJ");
128
dpd_file2_mat_init(&mu);
129
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
132
for(p=0; p < moinfo.occpi[Gp]; p++) {
133
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
134
for(q=0; q < moinfo.occpi[Gq]; q++) {
135
Q = moinfo.qt2pitzer[moinfo.qt_occ[q+moinfo.occ_off[Gq]]];
136
mu.matrix[Gp][p][q] = MU[P][Q];
140
dpd_file2_mat_wrt(&mu);
141
dpd_file2_mat_close(&mu);
142
dpd_file2_close(&mu);
144
dpd_file2_init(&mu, CC_OEI, irrep, 1, 1, "Mu_Z_AB");
145
dpd_file2_mat_init(&mu);
146
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
149
for(p=0; p < moinfo.virtpi[Gp]; p++) {
150
P = moinfo.qt2pitzer[moinfo.qt_vir[p+moinfo.vir_off[Gp]]];
151
for(q=0; q < moinfo.virtpi[Gq]; q++) {
152
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
153
mu.matrix[Gp][p][q] = MU[P][Q];
157
dpd_file2_mat_wrt(&mu);
158
dpd_file2_mat_close(&mu);
159
dpd_file2_close(&mu);
161
dpd_file2_init(&mu, CC_OEI, irrep, 0, 1, "Mu_Z_IA");
162
dpd_file2_mat_init(&mu);
163
for(Gp=0; Gp < moinfo.nirreps; Gp++) { /* irrep of left-hand MO */
166
for(p=0; p < moinfo.occpi[Gp]; p++) {
167
P = moinfo.qt2pitzer[moinfo.qt_occ[p+moinfo.occ_off[Gp]]];
168
for(q=0; q < moinfo.virtpi[Gq]; q++) {
169
Q = moinfo.qt2pitzer[moinfo.qt_vir[q+moinfo.vir_off[Gq]]];
170
mu.matrix[Gp][p][q] = MU[P][Q];
174
dpd_file2_mat_wrt(&mu);
175
dpd_file2_mat_close(&mu);
176
dpd_file2_close(&mu);