Psi4
Classes | Functions | Variables
psi::cchbar Namespace Reference

Classes

struct  MOInfo
 
struct  Params
 

Functions

PsiReturnType cchbar (SharedWavefunction, Options &)
 
void cache_abcd_rhf (int **cachelist)
 
void cache_iabc_rhf (int **cachelist)
 
void cache_ijab_rhf (int **cachelist)
 
void cache_iajb_rhf (int **cachelist)
 
void cache_ijka_rhf (int **cachelist)
 
void cache_ijkl_rhf (int **cachelist)
 
void cache_abcd_uhf (int **cachelist)
 
void cache_iabc_uhf (int **cachelist)
 
void cache_ijab_uhf (int **cachelist)
 
void cache_iajb_uhf (int **cachelist)
 
void cache_ijka_uhf (int **cachelist)
 
void cache_ijkl_uhf (int **cachelist)
 
int ** cacheprep_uhf (int level, int *cachefiles)
 
int ** cacheprep_rhf (int level, int *cachefiles)
 
void cachedone_uhf (int **cachelist)
 
void cachedone_rhf (int **cachelist)
 
void purge_cc2_Wabei (void)
 
void cc2_Wabei_build (void)
 
void cc2_Wmbej_build (void)
 
void purge_cc2_Wmbij (void)
 
void cc2_Wmbij_build (void)
 
void cc2_Zmbej_build (void)
 
void HET1_Wmbej (void)
 
void purge_HET1_Wmbej (void)
 
void HET1_Wabef (void)
 
void cc3_HET1 (void)
 
void init_io ()
 
void title (void)
 
void get_moinfo (std::shared_ptr< Wavefunction > ref_wfn, Options &)
 
void get_params (Options &)
 
void exit_io (void)
 
void F_build (void)
 
void Wmbej_build (void)
 
void Wmnie_build (void)
 
void Wmbij_build (void)
 
void Wabij_build (void)
 
void Wamef_build (void)
 
void Wabei_build (void)
 
void purge (void)
 
void cleanup (void)
 
void sort_amps (void)
 
void tau_build (void)
 
void taut_build (void)
 
void status (const char *, std::string)
 
void Fai_build (void)
 
void reference (void)
 
void norm_HET1 (void)
 
PsiReturnType cchbar (std::shared_ptr< Wavefunction > ref_wfn, Options &options)
 
void Fme_for_Fai ()
 
void Fae_for_Fai ()
 
void Fmi_for_Fai ()
 
void purge_Wmnie (void)
 
double rhf_energy (void)
 
double rohf_energy (void)
 
double uhf_energy (void)
 
void Wabei_RHF (void)
 
void Wabei_ROHF (void)
 
void WABEI_UHF (void)
 
void Wabei_UHF (void)
 
void WAbEi_UHF (void)
 
void WaBeI_UHF (void)
 
void Wabei_UHF_sort_ints ()
 
void build_Z1_AAAA (void)
 
void build_Z1A_ABAB ()
 
void build_Z1B_ABAB ()
 
void build_Z1A_BABA ()
 
void build_Z1_BBBB (void)
 
void build_Z1 (void)
 
void ZFW (dpdbuf4 *Z, dpdbuf4 *F, dpdbuf4 *W, double alpha, double beta)
 
void Wabei_RHF_FT2_a (void)
 
void DT2 (void)
 
void FaetT2 (void)
 
void FmitT2 (void)
 
void WmnijT2 (void)
 
void WmbejT2 (void)
 
void BT2 (void)
 
void ZT2 (void)
 
void FT2 (void)
 
void ET2 (void)
 
void CT2 (void)
 
void dijabT2 (void)
 
void BT2_AO (void)
 
void Z_build (void)
 
void FT2_CC2 (void)
 
void Wmnij_for_Wabij (void)
 
void Wmbej_for_Wabij (void)
 
void purge_Wabij (void)
 

Variables

EXTERN struct MOInfo moinfo
 
EXTERN struct Params params
 

Function Documentation

void psi::cchbar::BT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::BT2_AO ( void  )
void psi::cchbar::build_Z1 ( void  )
void psi::cchbar::build_Z1_AAAA ( void  )
void psi::cchbar::build_Z1_BBBB ( void  )
void psi::cchbar::build_Z1A_ABAB ( )
void psi::cchbar::build_Z1A_BABA ( )
void psi::cchbar::build_Z1B_ABAB ( )
void psi::cchbar::cache_abcd_rhf ( int **  cachelist)
void psi::cchbar::cache_abcd_uhf ( int **  cachelist)
void psi::cchbar::cache_iabc_rhf ( int **  cachelist)
void psi::cchbar::cache_iabc_uhf ( int **  cachelist)
void psi::cchbar::cache_iajb_rhf ( int **  cachelist)
void psi::cchbar::cache_iajb_uhf ( int **  cachelist)
void psi::cchbar::cache_ijab_rhf ( int **  cachelist)
void psi::cchbar::cache_ijab_uhf ( int **  cachelist)
void psi::cchbar::cache_ijka_rhf ( int **  cachelist)
void psi::cchbar::cache_ijka_uhf ( int **  cachelist)
void psi::cchbar::cache_ijkl_rhf ( int **  cachelist)
void psi::cchbar::cache_ijkl_uhf ( int **  cachelist)
void psi::cchbar::cachedone_rhf ( int **  cachelist)
void psi::cchbar::cachedone_uhf ( int **  cachelist)
int ** psi::cchbar::cacheprep_rhf ( int  level,
int *  cachefiles 
)
int ** psi::cchbar::cacheprep_uhf ( int  level,
int *  cachefiles 
)
void psi::cchbar::cc2_Wabei_build ( void  )

RHF

RHF

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

RHF

AAA

ABAB

BABA

BBBB

void psi::cchbar::cc2_Wmbej_build ( void  )

RHF

ROHF

RHF or ROHF

UHF

Sort

UHF

void psi::cchbar::cc2_Wmbij_build ( void  )

RHF

ROHF

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

RHF

ROHF

RHF

ROHF

RHF

ROHF

ROHF

void psi::cchbar::cc2_Zmbej_build ( void  )

RHF

ROHF

RHF or ROHF

UHF

UHF

void psi::cchbar::cc3_HET1 ( void  )
PsiReturnType psi::cchbar::cchbar ( std::shared_ptr< Wavefunction >  ref_wfn,
Options &  options 
)

RHF or ROHF

UHF

ROHF only

PsiReturnType psi::cchbar::cchbar ( SharedWavefunction  ,
Options  
)
void psi::cchbar::cleanup ( void  )
void psi::cchbar::CT2 ( void  )

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::dijabT2 ( void  )
void psi::cchbar::DT2 ( void  )
void psi::cchbar::ET2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::exit_io ( void  )
void psi::cchbar::F_build ( void  )

FME

FAE

ROHF

RHF or ROHF

UHF

UHF

FME

FAE

ROHF

RHF or ROHF

UHF

UHF

void psi::cchbar::Fae_for_Fai ( void  )

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::FaetT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::Fai_build ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::Fme_for_Fai ( void  )

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::Fmi_for_Fai ( void  )

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::FmitT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::FT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::FT2_CC2 ( void  )
void psi::cchbar::get_moinfo ( std::shared_ptr< Wavefunction >  ref_wfn,
Options &  options 
)

RHF or ROHF

UHF

RHF or ROHF

UHF

void psi::cchbar::get_params ( Options &  options)
void psi::cchbar::HET1_Wabef ( void  )
void psi::cchbar::HET1_Wmbej ( void  )

RHF

ROHF

ROHF

UHF

UHF

RHF

ROHF

ROHF

UHF

UHF

void psi::cchbar::init_io ( void  )
void psi::cchbar::norm_HET1 ( void  )

Wamef

Wmnie

Wmnij

Wmbij

Wmbej

WABEI

WAMEF

Wamef

WAmEf

WaMeF

WMNIE

WMNIJ

WMBIJ

WMBEJ

WABEI

WAMEF

Wamef

WAmEf

WaMeF

WMNIE

WMNIJ

WMBIJ

WMBEJ

WABEI

Wamef

Wmnie

Wmnij

Wmbij

Wmbej

WABEI

WAMEF

Wamef

WAmEf

WaMeF

WMNIE

WMNIJ

WMBIJ

WMBEJ

WABEI

WAMEF

Wamef

WAmEf

WaMeF

WMNIE

WMNIJ

WMBIJ

WMBEJ

WABEI

void psi::cchbar::purge ( void  )
void psi::cchbar::purge_cc2_Wabei ( void  )
void psi::cchbar::purge_cc2_Wmbij ( void  )
void psi::cchbar::purge_HET1_Wmbej ( void  )
void psi::cchbar::purge_Wabij ( void  )
void psi::cchbar::purge_Wmnie ( void  )
void psi::cchbar::reference ( void  )
double psi::cchbar::rhf_energy ( void  )
double psi::cchbar::rohf_energy ( void  )
void psi::cchbar::sort_amps ( void  )

RHF or ROHF

UHF

RHF or ROHF

UHF

void psi::cchbar::status ( const char *  ,
std::string   
)
void psi::cchbar::tau_build ( void  )

RHF or ROHF

RHF or ROHF

UHF

UHF

RHF or ROHF

RHF or ROHF

UHF

UHF

void psi::cchbar::taut_build ( void  )

RHF

RHF

void psi::cchbar::title ( void  )
double psi::cchbar::uhf_energy ( void  )
void psi::cchbar::Wabei_build ( void  )
void psi::cchbar::Wabei_RHF ( void  )

Term I

<Ei|Ab>

Term II

  • F_ME t_Mi^Ab

Term IIIa

<Ab|Ef> t_i^f

Terms IIIc + IIId + IV

Terms VI and VII

t_in^bf <Mn|Ef> + t_iN^bF <MN||EF> –> Z1_MEib

  • t_M^A ( <Ei|Mb> + Z(Ei,Mb) ) –> W(Ei,Ab)
  • t_Ni^Af <mN|fE> –> Z2_mEiA

t_m^b ( - <mA|iE> + Z(mA,iE) ) –> Z2(Ab,Ei)

Term I

<Ei|Ab>

Term II

  • F_ME t_Mi^Ab

Term IIIa

<Ab|Ef> t_i^f

Terms IIIc + IIId + IV

Terms VI and VII

t_in^bf <Mn|Ef> + t_iN^bF <MN||EF> –> Z1_MEib

  • t_M^A ( <Ei|Mb> + Z(Ei,Mb) ) –> W(Ei,Ab)
  • t_Ni^Af <mN|fE> –> Z2_mEiA

t_m^b ( - <mA|iE> + Z(mA,iE) ) –> Z2(Ab,Ei)

void psi::cchbar::Wabei_RHF_FT2_a ( void  )
void psi::cchbar::Wabei_ROHF ( void  )

Wabei intermediates are stored here as (ei,ab)

<EI||AB>

<ei||ab>

<iE|bA>

<Ie|Ba>

  • F_ME t_MI^AB
  • F_me t_mi^ab
  • F_ME t_Mi^Ab
  • F_me t_mI^aB

<AB||EF> t_I^F

<ab||ef> t_i^f

<Ab|Ef> t_i^f

  • <Fe|Ba> t_I^F

Prepare intermediates for second Wabef contribution to Wabei

Z(MA,EI) <– <MA||EF> t_I^F

t_M^B Z(MA,EI) –> Z'(BA,EI) –> Z1(AB,EI)

t_M^A Z(MB,EI) –> Z2(AB,EI)

Z1(AB,EI) + Z2(AB,EI) –> W(AB,EI) –> W(EI,AB)

Z(ma,ei) <– <ma||ef> t_i^f

t_m^b Z(ma,ei) –> Z'(ba,ei) –> Z1(ab,ei)

t_m^a Z(mb,ei) –> Z2(ab,ei)

Z1(ab,ei) + Z2(ab,ei) –> W(ab,ei) –> W(ie,ab)

t_i^f <mA|fE> –> Z(mA,Ei)

<Mb|Ef> t_i^f –> Z(Mb,Ei)

  • T_M^A Z(Mb,Ei) –> Z(Ab,Ei)
  • t_m^b Z(mA,Ei) –> Z1(Ab,Ei)

Z1(Ab,Ei) + Z2(Ab,Ei) –> W(Ab,Ei)

t_I^F <Ma|Fe> –> Z(Ma,eI)

<mB|eF> t_I^F –> Z(mB,eI)

t_m^a Z(mB,eI) –> Z(aB,eI)

t_M^B Z(Ma,eI) –> Z1(aB,eI)

Z1(aB,eI) + Z2(aB,eI) –> W(aB,eI)

Final term of Wabef contribution to Wabei

t_I^F <MN||EF> –> Z(MN,EI)

Z(MN,EI) Tau(MN,AB) –> W(EI,AB)

t_i^f <mn||ef> –> Z(mn,ei)

Z(mn,ei) Tau(mn,ab) –> W(ei,ab)

t_i^f <Mn|Ef> –> Z(Mn,Ei)

Z(Mn,Ei) Tau(Mn,Ab) –> W(Ei,Ab)

t_I^F <mN|eF> –> Z(mN,eI)

Z(mN,eI) Tau(mN,aB) –> W(eI,aB)

<MN||EI> Tau(MN,AB) –> W(EI,AB)

<mn||ei> Tau(mn,ab) –> W(ei,ab)

<Mn|Ei> Tau(Mn,Ab) –> W(Ei,Ab)

<mN|eI> Tau(mN,aB) –> W(eI,aB)

<MB||EF> t_IM^AF + <MA||FE> t_IM^BF –> W(EI,AB)

-<mB|fE> t_Im^Af + <mA|fE> t_Im^Bf –> W(EI,AB)

<mb||ef> t_im^af + <ma||fe> t_im^bf –> W(ei,ab)

-<Mb|Fe> t_iM^aF + <Ma|Fe> t_iM^bF –> W(ei,ab)

-<Mb|Ef> t_Mi^Af - <MA||EF> t_iM^bF + <mA|fE> t_im^bf –> W(Ei,Ab)

-<mB|eF> t_mI^aF - <ma||ef> t_Im^Bf + <Ma|Fe> t_IM^BF –> W(eI,aB)

Final terms of Wabei

t_IN^BF <MN||EF> –> Z_IBME

t_M^A ( -<MB||IE> + Z1_IEMB ) –> Z2_EIAB

Z1_EIAB - Z2_EIBA –> W_EIAB

t_in^bf <mn||ef> –> Z_ibme

t_m^a ( -<mb||ie> + Z1_iemb ) –> Z2_eiab

  • Z1_eiab + Z2_eiba –> W_eiab

t_in^bf <Mn|Ef> + t_iN^bF <MN||EF> –> Z1_MEib

  • t_Ni^Af <mN|fE> –> Z2_mEiA
  • t_M^A ( <Mb|Ei> + Z(Mb,Ei) ) –> Z1(Ab,Ei)

t_m^b ( - <mA|iE> + Z(mA,iE) ) –> Z2(Ab,Ei)

Z1(Ei,Ab) + Z2(Ei,Ab) –> W(Ei,Ab)

t_IN^BF <mN|eF> + t_In^Bf <mn||ef> –> Z1_meIB

  • t_Ni^Af <mN|fE> –> Z2_mEiA
  • t_m^a ( <mB|eI> + Z(mB,eI) ) –> Z1(aB,eI)

t_M^B ( - <Ma|Ie> + Z(Ma,Ie) ) –> Z2(aB,eI)

Z1(eI,aB) + Z2(eI,aB) –> W(eI,aB)

<EI||AB>

<ei||ab>

<iE|bA>

<Ie|Ba>

  • F_ME t_MI^AB
  • F_me t_mi^ab
  • F_ME t_Mi^Ab
  • F_me t_mI^aB

<AB||EF> t_I^F

<ab||ef> t_i^f

<Ab|Ef> t_i^f

  • <Fe|Ba> t_I^F

Prepare intermediates for second Wabef contribution to Wabei

Z(MA,EI) <– <MA||EF> t_I^F

t_M^B Z(MA,EI) –> Z'(BA,EI) –> Z1(AB,EI)

t_M^A Z(MB,EI) –> Z2(AB,EI)

Z1(AB,EI) + Z2(AB,EI) –> W(AB,EI) –> W(EI,AB)

Z(ma,ei) <– <ma||ef> t_i^f

t_m^b Z(ma,ei) –> Z'(ba,ei) –> Z1(ab,ei)

t_m^a Z(mb,ei) –> Z2(ab,ei)

Z1(ab,ei) + Z2(ab,ei) –> W(ab,ei) –> W(ie,ab)

t_i^f <mA|fE> –> Z(mA,Ei)

<Mb|Ef> t_i^f –> Z(Mb,Ei)

  • T_M^A Z(Mb,Ei) –> Z(Ab,Ei)
  • t_m^b Z(mA,Ei) –> Z1(Ab,Ei)

Z1(Ab,Ei) + Z2(Ab,Ei) –> W(Ab,Ei)

t_I^F <Ma|Fe> –> Z(Ma,eI)

<mB|eF> t_I^F –> Z(mB,eI)

t_m^a Z(mB,eI) –> Z(aB,eI)

t_M^B Z(Ma,eI) –> Z1(aB,eI)

Z1(aB,eI) + Z2(aB,eI) –> W(aB,eI)

Final term of Wabef contribution to Wabei

t_I^F <MN||EF> –> Z(MN,EI)

Z(MN,EI) Tau(MN,AB) –> W(EI,AB)

t_i^f <mn||ef> –> Z(mn,ei)

Z(mn,ei) Tau(mn,ab) –> W(ei,ab)

t_i^f <Mn|Ef> –> Z(Mn,Ei)

Z(Mn,Ei) Tau(Mn,Ab) –> W(Ei,Ab)

t_I^F <mN|eF> –> Z(mN,eI)

Z(mN,eI) Tau(mN,aB) –> W(eI,aB)

<MN||EI> Tau(MN,AB) –> W(EI,AB)

<mn||ei> Tau(mn,ab) –> W(ei,ab)

<Mn|Ei> Tau(Mn,Ab) –> W(Ei,Ab)

<mN|eI> Tau(mN,aB) –> W(eI,aB)

<MB||EF> t_IM^AF + <MA||FE> t_IM^BF –> W(EI,AB)

-<mB|fE> t_Im^Af + <mA|fE> t_Im^Bf –> W(EI,AB)

<mb||ef> t_im^af + <ma||fe> t_im^bf –> W(ei,ab)

-<Mb|Fe> t_iM^aF + <Ma|Fe> t_iM^bF –> W(ei,ab)

-<Mb|Ef> t_Mi^Af - <MA||EF> t_iM^bF + <mA|fE> t_im^bf –> W(Ei,Ab)

-<mB|eF> t_mI^aF - <ma||ef> t_Im^Bf + <Ma|Fe> t_IM^BF –> W(eI,aB)

Final terms of Wabei

t_IN^BF <MN||EF> –> Z_IBME

t_M^A ( -<MB||IE> + Z1_IEMB ) –> Z2_EIAB

Z1_EIAB - Z2_EIBA –> W_EIAB

t_in^bf <mn||ef> –> Z_ibme

t_m^a ( -<mb||ie> + Z1_iemb ) –> Z2_eiab

  • Z1_eiab + Z2_eiba –> W_eiab

t_in^bf <Mn|Ef> + t_iN^bF <MN||EF> –> Z1_MEib

  • t_Ni^Af <mN|fE> –> Z2_mEiA
  • t_M^A ( <Mb|Ei> + Z(Mb,Ei) ) –> Z1(Ab,Ei)

t_m^b ( - <mA|iE> + Z(mA,iE) ) –> Z2(Ab,Ei)

Z1(Ei,Ab) + Z2(Ei,Ab) –> W(Ei,Ab)

t_IN^BF <mN|eF> + t_In^Bf <mn||ef> –> Z1_meIB

  • t_Ni^Af <mN|fE> –> Z2_mEiA
  • t_m^a ( <mB|eI> + Z(mB,eI) ) –> Z1(aB,eI)

t_M^B ( - <Ma|Ie> + Z(Ma,Ie) ) –> Z2(aB,eI)

Z1(eI,aB) + Z2(eI,aB) –> W(eI,aB)

void psi::cchbar::WABEI_UHF ( void  )

W(EI,AB) <— <EI||AB>

W(EI,AB) <— - F_ME t_MI^AB

W'(AB,EI) <— <AB||EF> t_I^F

Z(EI,BM) <– -<IE||BM>

<MN||EF> t_IN^BF –> Z(ME,IB)

<Mn|Ef> t_In^Bf –> Z(ME,IB)

Z(ME,IB) –> Z(EI,BM)

Z(AB,EI) <– -t_M^A Z(MB,EI)

WEIAB <— Z(EI,AB) - Z(EI,BA)

W(EI,AB) <— <EI||AB>

W(EI,AB) <— - F_ME t_MI^AB

W'(AB,EI) <— <AB||EF> t_I^F

Z(EI,BM) <– -<IE||BM>

<MN||EF> t_IN^BF –> Z(ME,IB)

<Mn|Ef> t_In^Bf –> Z(ME,IB)

Z(ME,IB) –> Z(EI,BM)

Z(AB,EI) <– -t_M^A Z(MB,EI)

WEIAB <— Z(EI,AB) - Z(EI,BA)

void psi::cchbar::Wabei_UHF ( void  )

W(ei,ab) <— <ei||ab>

W(ei,ab) <— - F_me t_mi^ab

W(ab,ei) <– T(i,f)B(ef,ab)

<mn||ef> t_in^bf –> Z(me,ib)

<mN|eF> t_iN^bF –> Z(me,ib)

Z(me,ib) –> Z(mb,ei)

Z(ei,ba) <– -t_m^a Z(ei,bm)

W(ei,ab) <– Z(ei,ba) - Z'(ei,ab)

W(ei,ab) <— <ei||ab>

W(ei,ab) <— - F_me t_mi^ab

W(ab,ei) <– T(i,f)B(ef,ab)

<mn||ef> t_in^bf –> Z(me,ib)

<mN|eF> t_iN^bF –> Z(me,ib)

Z(me,ib) –> Z(mb,ei)

Z(ei,ba) <– -t_m^a Z(ei,bm)

W(ei,ab) <– Z(ei,ba) - Z'(ei,ab)

void psi::cchbar::WAbEi_UHF ( void  )

W(Ei,Ab) <— <Ei|Ab>

W(Ei,Ab) <— - F_ME t_Mi^Ab

W(Ei,Ab) <– t(i,f) B(Ef,Ab)

WAbEi <– (T2+T1*T1) *F

Z1a(iA,Mf) = t(i,f)t(M,A) - T(MA,if) <Mb|Ef>(bE,Mf)Z1b(iA,Mf) = W1(bE,iA) [Contract 444] Z1b(ib,mf) = t(mb,if) - t(i,f)t(m,b) <Am|Ef>(AE,mf)Z1b(ib,mf) = W2(AE,ib) [Contract 444] <AM||EF>(AE,MF)T2(ib,MF) =>W2(AE,ib) [Contract 444] W2(AE,ib) sort axpy(qrps) WAbEi (Ei,Ab) W1(bE,iA) sort axpy(qrsp) WAbEi (Ei,Ab)

Z1a = t_i^f t_M^A + T_Mi^Af

W1(bE,iA)<– <Mb|Ef>Z1a(iA,Mf)

Z1b = +t_mi^bf - t_i^f t_m^b

W2(ib,AE)<– <Am|Ef>Z1b(ib,mf)

W2(ib,AE)<–t_iM^bF<AM||EF>

Add W2 and W1 to target

WAbEi <– - t_M^A { <Mb|Ei> + t_iN^bF <MN||EF> + t_in^bf <Mn|Ef> }

  • t_m^b {-<mA|iE> + t_iN^fA <mN|fE> } Evaluate in three steps: (1) Z_MbEi = <Mb|Ei> + t_iN^bF <MN||EF> + tin^bf <Mn|Ef> [stored (Mb,Ei)] (2) Z_mAEi = -<mA|iE> + t_iN^fA <mN|fE> [stored (Am,Ei)] (3) WAbEi <– - t_M^A Z_MbEi + t_m^b Z_mAEi Store targets in W'(Ab,Ei) and W(Ei,AB)

Z(Mb,Ei) <– <Mb|Ei>

<MN||EF> t_iN^bF –> Z(ME,ib)

<Mn|Ef> t_in^bf –> Z(ME,ib)

Z(ME,ib) –> Z(Mb,Ei)

W'(Ab,Ei) <– - t_M^A Z(Mb,Ei)

Z(Am,Ei) <– - <mA|iE>

Z(mE,iA) <– t_iN^fA <mN|fE>

Z(mE,iA) –> Z(Am,Ei)

W(Ei,AB) <– t_m^b Z_mAEi

W(Ei,Ab) <— <Ei|Ab>

W(Ei,Ab) <— - F_ME t_Mi^Ab

W(Ei,Ab) <– t(i,f) B(Ef,Ab)

WAbEi <– (T2+T1*T1) *F

Z1a(iA,Mf) = t(i,f)t(M,A) - T(MA,if) <Mb|Ef>(bE,Mf)Z1b(iA,Mf) = W1(bE,iA) [Contract 444] Z1b(ib,mf) = t(mb,if) - t(i,f)t(m,b) <Am|Ef>(AE,mf)Z1b(ib,mf) = W2(AE,ib) [Contract 444] <AM||EF>(AE,MF)T2(ib,MF) =>W2(AE,ib) [Contract 444] W2(AE,ib) sort axpy(qrps) WAbEi (Ei,Ab) W1(bE,iA) sort axpy(qrsp) WAbEi (Ei,Ab)

Z1a = t_i^f t_M^A + T_Mi^Af

W1(bE,iA)<– <Mb|Ef>Z1a(iA,Mf)

Z1b = +t_mi^bf - t_i^f t_m^b

W2(ib,AE)<– <Am|Ef>Z1b(ib,mf)

W2(ib,AE)<–t_iM^bF<AM||EF>

Add W2 and W1 to target

WAbEi <– - t_M^A { <Mb|Ei> + t_iN^bF <MN||EF> + t_in^bf <Mn|Ef> }

  • t_m^b {-<mA|iE> + t_iN^fA <mN|fE> } Evaluate in three steps: (1) Z_MbEi = <Mb|Ei> + t_iN^bF <MN||EF> + tin^bf <Mn|Ef> [stored (Mb,Ei)] (2) Z_mAEi = -<mA|iE> + t_iN^fA <mN|fE> [stored (Am,Ei)] (3) WAbEi <– - t_M^A Z_MbEi + t_m^b Z_mAEi Store targets in W'(Ab,Ei) and W(Ei,AB)

Z(Mb,Ei) <– <Mb|Ei>

<MN||EF> t_iN^bF –> Z(ME,ib)

<Mn|Ef> t_in^bf –> Z(ME,ib)

Z(ME,ib) –> Z(Mb,Ei)

W'(Ab,Ei) <– - t_M^A Z(Mb,Ei)

Z(Am,Ei) <– - <mA|iE>

Z(mE,iA) <– t_iN^fA <mN|fE>

Z(mE,iA) –> Z(Am,Ei)

W(Ei,AB) <– t_m^b Z_mAEi

void psi::cchbar::WaBeI_UHF ( void  )

W(eI,aB) <— <eI|aB>

W(eI,aB) <— - F_me t_mI^aB

Z(Ie,Ba) <— t_I^F <Fe|Ba>

WAbEi <– (T2+T1*T1) *F

Z1a(Ia,mF) = t(I,F)t(m,a) - T(ma,IF) <mB|eF>(Be,mF)Z1a(Ia,mF) = W1(Be,Ia) [Contract 444] Z(aM,eI)<– -<aM|eF> t_I^F [Contract 424] W(eI,aB)<– Z(aM,eI) t_M^B [Contract 424] W'(ae,IB)<– <am||ef>(ae,mf)T2(IB,mf) [Contract 444] W'(ae,IB)<– <aM|eF>(ae,MF) t_IM^BF(MF,IB) [Contract 444] Z(Be,Ia) sort axpy(qrsp) WaBeI (eI,aB)

Z(Be,Ia)<– <mB|eF>Z1a(Ia,mF)

Z(aM,eI)<– -<aM|eF> t_I^F)

W(eI,aB)<– Z(aM,eI) t_M^B

W'(ae,IB)<– t_Im^Bf<am||ef>

W'(IB,ae) <– <aM|eF>t_IM^BF

Add Z(Be,Ia) to target WaBeI

WaBeI <– - t_m^a { <mB|eI> + t_In^Bf <mn||ef> + t_IN^BF <mN|eF> }

  • t_M^B {-<Ma|Ie> + t_In^Fa <Mn|Fe> } Evaluate in three steps: (1) Z_mBeI = <mB|eI> + t_In^Bf <mn||ef> + tIN^BF <mN|eF> stored (me,IB) (2) Z_MaeI = -<Ma|Ie> + t_In^Fa <Mn|Fe> [stored (aM,eI)] (3) WaBeI <– - t_m^a Z_mBeI + t_M^B Z_MaeI Store targets in W'(ae,IB) and W(eI,aB)

Z(mB,eI) <– <mB|eI>

<mn||ef> t_In^Bf –> Z(me,IB)

<mN|eF> t_IN^BF –> Z(me,IB)

W'(ae,IB) <– - t_m^a Z(me,IB)

Z(aM,eI) <– - <Ma|Ie>

Z(Me,Ia) <– t_In^Fa <Mn|Fe>

Z(Me,Ia) –> Z(aM,eI)

W(eI,aB) <– t_M^B Z_MaeI

W(eI,aB) <— <eI|aB>

W(eI,aB) <— - F_me t_mI^aB

Z(Ie,Ba) <— t_I^F <Fe|Ba>

WAbEi <– (T2+T1*T1) *F

Z1a(Ia,mF) = t(I,F)t(m,a) - T(ma,IF) <mB|eF>(Be,mF)Z1a(Ia,mF) = W1(Be,Ia) [Contract 444] Z(aM,eI)<– -<aM|eF> t_I^F [Contract 424] W(eI,aB)<– Z(aM,eI) t_M^B [Contract 424] W'(ae,IB)<– <am||ef>(ae,mf)T2(IB,mf) [Contract 444] W'(ae,IB)<– <aM|eF>(ae,MF) t_IM^BF(MF,IB) [Contract 444] Z(Be,Ia) sort axpy(qrsp) WaBeI (eI,aB)

Z(Be,Ia)<– <mB|eF>Z1a(Ia,mF)

Z(aM,eI)<– -<aM|eF> t_I^F)

W(eI,aB)<– Z(aM,eI) t_M^B

W'(ae,IB)<– t_Im^Bf<am||ef>

W'(IB,ae) <– <aM|eF>t_IM^BF

Add Z(Be,Ia) to target WaBeI

WaBeI <– - t_m^a { <mB|eI> + t_In^Bf <mn||ef> + t_IN^BF <mN|eF> }

  • t_M^B {-<Ma|Ie> + t_In^Fa <Mn|Fe> } Evaluate in three steps: (1) Z_mBeI = <mB|eI> + t_In^Bf <mn||ef> + tIN^BF <mN|eF> stored (me,IB) (2) Z_MaeI = -<Ma|Ie> + t_In^Fa <Mn|Fe> [stored (aM,eI)] (3) WaBeI <– - t_m^a Z_mBeI + t_M^B Z_MaeI Store targets in W'(ae,IB) and W(eI,aB)

Z(mB,eI) <– <mB|eI>

<mn||ef> t_In^Bf –> Z(me,IB)

<mN|eF> t_IN^BF –> Z(me,IB)

W'(ae,IB) <– - t_m^a Z(me,IB)

Z(aM,eI) <– - <Ma|Ie>

Z(Me,Ia) <– t_In^Fa <Mn|Fe>

Z(Me,Ia) –> Z(aM,eI)

W(eI,aB) <– t_M^B Z_MaeI

void psi::cchbar::Wabei_UHF_sort_ints ( void  )
void psi::cchbar::Wabij_build ( void  )

RHF

RHF

void psi::cchbar::Wamef_build ( void  )

OOC code below added 05/04/05, -TDC

ROHF

ROHF

UHF

UHF

OOC code below added 05/04/05, -TDC

ROHF

ROHF

UHF

UHF

void psi::cchbar::Wmbej_build ( void  )

RHF

ROHF

RHF or ROHF

UHF

UHF

RHF

ROHF

RHF or ROHF

UHF

UHF

void psi::cchbar::Wmbej_for_Wabij ( void  )

RHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::WmbejT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::Wmbij_build ( void  )

Wmbij_build(): Constructs the Wmbij HBAR intermediate, defined in spin orbitals as:

Wmbij = <mb||ij> - Fme t_ij^be - t_n^b Wmnij + 1/2 <mb||ef> tau_ij^ef

  • P(ij) <mn||ie> t_jn^be + P(ij) t_i^e { <mb||ej> - t_nj^bf <mn||ef> }

[cf. Gauss and Stanton, JCP 103, 3561-3577 (1995)]

For RHF orbitals, there is only one unique spin case: WMbIj.

TDC, March 2004

RHF

ROHF

<MB||IJ>

<mb||ij>

<Mb|Ij>

<mB|iJ>

UHF

<MB||IJ>

<mb||ij>

<Mb|Ij>

<mB|iJ>

RHF

F_ME t_Ij^Eb –> W(Mb,Ij)

ROHF

F_ME t_IJ^EB –> W(MB,IJ)

F_me t_ij^eb –> W(mb,ij)

F_ME t_Ij^Eb –> W(Mb,Ij)

F_me t_iJ^eB –> W(mB,iJ)

UHF

F_ME t_IJ^EB –> W(MB,IJ)

F_me t_ij^eb –> W(mb,ij)

F_ME t_Ij^Eb –> W(Mb,Ij)

F_me t_iJ^eB –> W(mB,iJ)

RHF

  • t_n^b W_MnIj

ROHF

  • t_N^B W_MNIJ –> W(MB,IJ)
  • t_n^b W_mnij
  • t_n^b W_MnIj
  • t_N^B W_mNiJ

UHF

  • t_N^B W_MNIJ –> W(MB,IJ)
  • t_n^b W_mnij
  • t_n^b W_MnIj
  • t_N^B W_mNiJ

RHF

<Mb|Ef> tau_Ij^Ef

ROHF

<MB||EF> tau_IJ^EF

<Mb|Ef> tau_Ij^Ef

<mB|eF> tau_iJ^eF

UHF

<MB||EF> tau_IJ^EF

<Mb|Ef> tau_Ij^Ef

<mB|eF> tau_iJ^eF

RHF

ROHF

UHF

RHF

ROHF

<MN||IE> t_JN^BE

<Mn||Ie> t_Jn^Be

<MN||JE> t_IN^BE

<Mn||Je> t_In^Be

<mn||ie> t_jn^be

<mN||iE> t_jN^bE

<mn||je> t_in^be

<mN||jE> t_iN^bE

<MN||IE> t_jN^bE

<Mn|Ie> t_jn^be

<mn||ie> t_Jn^Be

<mN|iE> t_JN^BE

RHF or ROHF

UHF

<MN||IE> t_JN^BE

<Mn|Ie> t_Jn^Be

Z(MI,JB) –> Z(MB,IJ)

Z(MB,IJ) = Z(MB,IJ) - Z(MB,JI)

Z(MB,IJ) –> W(MB,IJ)

<mn||ie> t_jn^be

<mN||iE> t_jN^bE

Z(mi,jb) –> Z(mb,ij)

Z(mb,ij) = Z(mb,ij) - Z(mb,ji)

Z(mb,ij) –> W(mb,ij)

<MN||IE> t_jN^bE

<Mn|Ie> t_jn^be

Z(MI,jb) –> Z(Mb,Ij)

-<Mn|Ej> t_In^Eb

Z(Mb,Ij) –> W(Mb,Ij)

<mn||ie> t_Jn^Be

<mN|iE> t_JN^BE

Z(mi,JB) –> Z(mB,iJ)

Z(mB,iJ) –> W(mB,iJ)

-<mN|eJ> t_iN^eB

UHF

RHF or ROHF

THIS IS NOT ACTUALLY NECESSARY! FIX THESE CONTRACTIONS! (11/14/01)

-<Mn|Ej> t_In^EB

Can be written as: - <Mj|En> t_In^Eb !!

-<mN|eJ> t_iN^eB

Can be written as: -<mJ|eN> t_iN^Eb !!

Prepare intermediates for final term of Wmbij

RHF

ROHF

t_JN^BF <MN||EF> –> Z_MBJE

t_I^E ( <MB||JE> + Z1_MBJE ) –> Z2_MBIJ

Z1_MBJI(TMP0) - Z2_MBIJ(TMP1) –> W_MBIJ

t_jn^bf <mn||ef> –> Z_mbje

t_i^e ( <mb||je> + Z1_mbje ) –> Z2_mbij

Z1_mbji(TMP0) - Z2_mbij(TMP1) –> W_mbij

<Mn|Ef> t_jn^bf + <MN||EF> t_jN^bF –> Z1_MEjb(TMP0)

<Mn|Fe> t_In^Fb –> Z2_MeIb (TMP3)

t_I^E ( <Mj|Eb> + Z(Mb,jE)(TMP1) ) –> Z(Mb,jI)(TMP1)

t_j^e ( <Mb|Ie> - Z(Mb,Ie)(TMP0) ) –> Z(Mb,Ij)(TMP2)

Z(Mb,Ij) (TMP1) + Z(Mb,Ij) (TMP2) –> W_MbIj

t_JN^BF <mN|eF> + t_Jn^Bf <mn||ef> –> Z(mB,Je) (TMP1)

-t_Ni^Bf <mN|fE> –> Z(mB,iE) (TMP0)

t_i^e ( <mJ|eB> + Z(mB,Je) ) –> Z1(mB,iJ) (TMP1)

t_J^E ( <mB|iE> + Z(mB,iE) ) + Z1(mB,Ij) (TMP1) –> Z2(mB,iJ) (TMP2)

Z2(mB,iJ) –> W_mBiJ

RHF or ROHF

UHF

t_JN^BF <MN||EF> –> Z_MBJE

t_I^E ( <MB||JE> + Z1_MBJE ) –> Z2_MBIJ

Z1_MBJI - Z2_MBIJ –> W_MBIJ

t_jn^bf <mn||ef> –> Z_mbje

t_i^e ( <mb||je> + Z1_mbje ) –> Z2_mbij

Z1_mbji - Z2_mbij –> W_mbij

<Mn|Ef> t_jn^bf + <MN||EF> t_jN^bF –> Z1_MEjb

<Mn|Fe> t_In^Fb –> Z2_MeIb

t_I^E ( <Mj|Eb> + Z(Mb,jE) ) –> Z(Mb,jI)

t_j^e ( <Mb|Ie> - Z(Mb,Ie) ) –> Z(Mb,Ij)

Z(Mb,Ij) (TMP1) + Z(Mb,Ij) (TMP2) –> W_MbIj

t_JN^BF <mN|eF> + t_Jn^Bf <mn||ef> –> Z(mB,Je)

t_Ni^Bf <mN|fE> –> Z(mB,iE)

t_i^e ( <mJ|eB> + Z(mB,Je) ) –> Z1(mB,iJ)

-t_J^E ( -<mB|iE> + Z(mB,iE) ) + Z1(mB,Ij) –> Z1(mB,iJ)

Z2(mB,iJ) –> W_mBiJ

RHF

ROHF

<MB||IJ>

<mb||ij>

<Mb|Ij>

<mB|iJ>

UHF

<MB||IJ>

<mb||ij>

<Mb|Ij>

<mB|iJ>

RHF

F_ME t_Ij^Eb –> W(Mb,Ij)

ROHF

F_ME t_IJ^EB –> W(MB,IJ)

F_me t_ij^eb –> W(mb,ij)

F_ME t_Ij^Eb –> W(Mb,Ij)

F_me t_iJ^eB –> W(mB,iJ)

UHF

F_ME t_IJ^EB –> W(MB,IJ)

F_me t_ij^eb –> W(mb,ij)

F_ME t_Ij^Eb –> W(Mb,Ij)

F_me t_iJ^eB –> W(mB,iJ)

RHF

  • t_n^b W_MnIj

ROHF

  • t_N^B W_MNIJ –> W(MB,IJ)
  • t_n^b W_mnij
  • t_n^b W_MnIj
  • t_N^B W_mNiJ

UHF

  • t_N^B W_MNIJ –> W(MB,IJ)
  • t_n^b W_mnij
  • t_n^b W_MnIj
  • t_N^B W_mNiJ

RHF

<Mb|Ef> tau_Ij^Ef

ROHF

<MB||EF> tau_IJ^EF

<Mb|Ef> tau_Ij^Ef

<mB|eF> tau_iJ^eF

UHF

<MB||EF> tau_IJ^EF

<Mb|Ef> tau_Ij^Ef

<mB|eF> tau_iJ^eF

RHF

ROHF

UHF

RHF

ROHF

<MN||IE> t_JN^BE

<Mn||Ie> t_Jn^Be

<MN||JE> t_IN^BE

<Mn||Je> t_In^Be

<mn||ie> t_jn^be

<mN||iE> t_jN^bE

<mn||je> t_in^be

<mN||jE> t_iN^bE

<MN||IE> t_jN^bE

<Mn|Ie> t_jn^be

<mn||ie> t_Jn^Be

<mN|iE> t_JN^BE

RHF or ROHF

UHF

<MN||IE> t_JN^BE

<Mn|Ie> t_Jn^Be

Z(MI,JB) –> Z(MB,IJ)

Z(MB,IJ) = Z(MB,IJ) - Z(MB,JI)

Z(MB,IJ) –> W(MB,IJ)

<mn||ie> t_jn^be

<mN||iE> t_jN^bE

Z(mi,jb) –> Z(mb,ij)

Z(mb,ij) = Z(mb,ij) - Z(mb,ji)

Z(mb,ij) –> W(mb,ij)

<MN||IE> t_jN^bE

<Mn|Ie> t_jn^be

Z(MI,jb) –> Z(Mb,Ij)

-<Mn|Ej> t_In^Eb

Z(Mb,Ij) –> W(Mb,Ij)

<mn||ie> t_Jn^Be

<mN|iE> t_JN^BE

Z(mi,JB) –> Z(mB,iJ)

Z(mB,iJ) –> W(mB,iJ)

-<mN|eJ> t_iN^eB

UHF

RHF or ROHF

THIS IS NOT ACTUALLY NECESSARY! FIX THESE CONTRACTIONS! (11/14/01)

-<Mn|Ej> t_In^EB

Can be written as: - <Mj|En> t_In^Eb !!

-<mN|eJ> t_iN^eB

Can be written as: -<mJ|eN> t_iN^Eb !!

Prepare intermediates for final term of Wmbij

RHF

ROHF

t_JN^BF <MN||EF> –> Z_MBJE

t_I^E ( <MB||JE> + Z1_MBJE ) –> Z2_MBIJ

Z1_MBJI(TMP0) - Z2_MBIJ(TMP1) –> W_MBIJ

t_jn^bf <mn||ef> –> Z_mbje

t_i^e ( <mb||je> + Z1_mbje ) –> Z2_mbij

Z1_mbji(TMP0) - Z2_mbij(TMP1) –> W_mbij

<Mn|Ef> t_jn^bf + <MN||EF> t_jN^bF –> Z1_MEjb(TMP0)

<Mn|Fe> t_In^Fb –> Z2_MeIb (TMP3)

t_I^E ( <Mj|Eb> + Z(Mb,jE)(TMP1) ) –> Z(Mb,jI)(TMP1)

t_j^e ( <Mb|Ie> - Z(Mb,Ie)(TMP0) ) –> Z(Mb,Ij)(TMP2)

Z(Mb,Ij) (TMP1) + Z(Mb,Ij) (TMP2) –> W_MbIj

t_JN^BF <mN|eF> + t_Jn^Bf <mn||ef> –> Z(mB,Je) (TMP1)

-t_Ni^Bf <mN|fE> –> Z(mB,iE) (TMP0)

t_i^e ( <mJ|eB> + Z(mB,Je) ) –> Z1(mB,iJ) (TMP1)

t_J^E ( <mB|iE> + Z(mB,iE) ) + Z1(mB,Ij) (TMP1) –> Z2(mB,iJ) (TMP2)

Z2(mB,iJ) –> W_mBiJ

RHF or ROHF

UHF

t_JN^BF <MN||EF> –> Z_MBJE

t_I^E ( <MB||JE> + Z1_MBJE ) –> Z2_MBIJ

Z1_MBJI - Z2_MBIJ –> W_MBIJ

t_jn^bf <mn||ef> –> Z_mbje

t_i^e ( <mb||je> + Z1_mbje ) –> Z2_mbij

Z1_mbji - Z2_mbij –> W_mbij

<Mn|Ef> t_jn^bf + <MN||EF> t_jN^bF –> Z1_MEjb

<Mn|Fe> t_In^Fb –> Z2_MeIb

t_I^E ( <Mj|Eb> + Z(Mb,jE) ) –> Z(Mb,jI)

t_j^e ( <Mb|Ie> - Z(Mb,Ie) ) –> Z(Mb,Ij)

Z(Mb,Ij) (TMP1) + Z(Mb,Ij) (TMP2) –> W_MbIj

t_JN^BF <mN|eF> + t_Jn^Bf <mn||ef> –> Z(mB,Je)

t_Ni^Bf <mN|fE> –> Z(mB,iE)

t_i^e ( <mJ|eB> + Z(mB,Je) ) –> Z1(mB,iJ)

-t_J^E ( -<mB|iE> + Z(mB,iE) ) + Z1(mB,Ij) –> Z1(mB,iJ)

Z2(mB,iJ) –> W_mBiJ

void psi::cchbar::Wmnie_build ( void  )

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::cchbar::Wmnij_for_Wabij ( void  )

RHF

ROHF

RHF

ROHF

RHF

ROHF

RHF

ROHF

RHF

ROHF

RHF

ROHF

void psi::cchbar::WmnijT2 ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::Z_build ( void  )

RHF

ROHF

RHF

ROHF

void psi::cchbar::ZFW ( dpdbuf4 *  Z,
dpdbuf4 *  F,
dpdbuf4 *  W,
double  alpha,
double  beta 
)
void psi::cchbar::ZT2 ( void  )

RHF

ROHF

RHF

ROHF

Variable Documentation

EXTERN struct MOInfo psi::cchbar::moinfo
EXTERN struct Params psi::cchbar::params