2
#include <libiwl/iwl.h>
6
void add_ref(struct iwlbuf *OutBuf)
9
int nfzc, nclsd, nopen;
15
/*** One-electron component ***/
17
for(i=0; i < (nfzc + nclsd); i++)
18
moinfo.opdm[i][i] += 2.0;
20
for(i=nfzc + nclsd; i < (nfzc + nclsd + nopen); i++)
21
moinfo.opdm[i][i] += 1.0;
24
/*** Two-electron component ***/
27
for(i=0; i < (nfzc + nclsd); i++) {
28
iwl_buf_wrt_val(OutBuf, i, i, i, i, 1.0, 0, outfile, 0);
29
for(j=0; j < i; j++) {
30
iwl_buf_wrt_val(OutBuf, i, i, j, j, 2.0, 0, outfile, 0);
31
iwl_buf_wrt_val(OutBuf, i, j, j, i,-1.0, 0, outfile, 0);
35
/* socc-docc && socc-socc*/
36
for(i=(nfzc + nclsd); i < (nfzc + nclsd + nopen); i++) {
37
for(j=0; j < (nfzc + nclsd); j++) {
38
iwl_buf_wrt_val(OutBuf, i, i, j, j, 1.0, 0, outfile, 0);
39
iwl_buf_wrt_val(OutBuf, i, j, j, i,-0.5, 0, outfile, 0);
41
for(j=(nfzc + nclsd); j < i; j++) {
42
iwl_buf_wrt_val(OutBuf, i, i, j, j, 0.5, 0, outfile, 0);
43
iwl_buf_wrt_val(OutBuf, i, j, j, i,-0.5, 0, outfile, 0);