00001
00005 #include <libdpd/dpd.h>
00006 #define EXTERN
00007 #include "globals.h"
00008
00009 #define PRINT_AMPS 0
00010
00011 namespace psi{ namespace mp2{
00012
00013 double amps(void)
00014 {
00015 dpdfile2 tIA, tia, fIA, fia, dIA, dia;
00016 dpdbuf4 tIJAB, tijab, tIjAb, D, dIJAB, dijab, dIjAb;
00017
00018 if(params.ref == 0) {
00019 dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
00020 dpd_buf4_copy(&D, CC_TAMPS, "tIjAb");
00021 dpd_buf4_close(&D);
00022
00023 dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
00024 dpd_buf4_init(&dIjAb, CC_DENOM, 0, 0, 5, 0, 5, 0, "dIjAb");
00025 dpd_buf4_dirprd(&dIjAb, &tIjAb);
00026 #if PRINT_AMPS
00027 dpd_buf4_print(&tIjAb,outfile,1);
00028 #endif
00029 dpd_buf4_close(&dIjAb);
00030 dpd_buf4_close(&tIjAb);
00031 }
00032 else if(params.ref == 2) {
00033 if(params.semicanonical) {
00034 dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
00035 dpd_file2_copy(&fIA, CC_OEI, "tIA");
00036 dpd_file2_close(&fIA);
00037
00038 dpd_file2_init(&fia, CC_OEI, 0, 2, 3, "fia");
00039 dpd_file2_copy(&fia, CC_OEI, "tia");
00040 dpd_file2_close(&fia);
00041
00042 dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
00043 dpd_file2_init(&dIA, CC_OEI, 0, 0, 1, "dIA");
00044 dpd_file2_dirprd(&dIA, &tIA);
00045 #if PRINT_AMPS
00046 dpd_file2_print(&tIA,outfile);
00047 #endif
00048 dpd_file2_close(&tIA);
00049 dpd_file2_close(&dIA);
00050
00051 dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
00052 dpd_file2_init(&dia, CC_OEI, 0, 2, 3, "dia");
00053 dpd_file2_dirprd(&dia, &tia);
00054 #if PRINT_AMPS
00055 dpd_file2_print(&tia,outfile);
00056 #endif
00057 dpd_file2_close(&tia);
00058 dpd_file2_close(&dia);
00059 }
00060
00061 dpd_buf4_init(&D, CC_DINTS, 0, 2, 7, 2, 7, 0, "D <IJ||AB> (I>J,A>B)");
00062 dpd_buf4_copy(&D, CC_TAMPS, "tIJAB");
00063 dpd_buf4_close(&D);
00064 dpd_buf4_init(&dIJAB, CC_DENOM, 0, 1, 6, 1, 6, 0, "dIJAB");
00065 dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tIJAB");
00066 dpd_buf4_dirprd(&dIJAB, &tIJAB);
00067 #if PRINT_AMPS
00068 dpd_buf4_print(&tIJAB,outfile,1);
00069 #endif
00070 dpd_buf4_close(&tIJAB);
00071 dpd_buf4_close(&dIJAB);
00072
00073 dpd_buf4_init(&D, CC_DINTS, 0, 12, 17, 12, 17, 0, "D <ij||ab> (i>j,a>b)");
00074 dpd_buf4_copy(&D, CC_TAMPS, "tijab");
00075 dpd_buf4_close(&D);
00076 dpd_buf4_init(&dIJAB, CC_DENOM, 0, 11, 16, 11, 16, 0, "dijab");
00077 dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 12, 17, 12, 17, 0, "tijab");
00078 dpd_buf4_dirprd(&dIJAB, &tIJAB);
00079 #if PRINT_AMPS
00080 dpd_buf4_print(&tIJAB,outfile,1);
00081 #endif
00082 dpd_buf4_close(&tIJAB);
00083 dpd_buf4_close(&dIJAB);
00084
00085 dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
00086 dpd_buf4_copy(&D, CC_TAMPS, "tIjAb");
00087 dpd_buf4_close(&D);
00088 dpd_buf4_init(&dIJAB, CC_DENOM, 0, 22, 28, 22, 28, 0, "dIjAb");
00089 dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
00090 dpd_buf4_dirprd(&dIJAB, &tIJAB);
00091 #if PRINT_AMPS
00092 dpd_buf4_print(&tIJAB,outfile,1);
00093 #endif
00094 dpd_buf4_close(&tIJAB);
00095 dpd_buf4_close(&dIJAB);
00096 }
00097
00098 }
00099
00100 }}