Psi4
Classes | Typedefs | Functions
psi::fnocc Namespace Reference

Classes

class  CoupledCluster
 
class  DFCoupledCluster
 
class  CoupledPair
 
class  FrozenNO
 
class  DFFrozenNO
 
struct  integral
 

Typedefs

typedef long int ULI
 

Functions

SharedWavefunction fnocc (SharedWavefunction, Options &)
 
long int Position (long int i, long int j)
 
void F_DGEMV (char trans, integer m, integer n, doublereal alpha, doublereal *A, integer lda, doublereal *X, integer incx, doublereal beta, doublereal *Y, integer incy)
 
void F_DGEMM (char transa, char transb, integer m, integer n, integer k, doublereal alpha, doublereal *A, integer lda, doublereal *B, integer ldb, doublereal beta, doublereal *C, integer ldc)
 
void Diagonalize (integer N, doublereal *A, doublereal *W)
 
void Diagonalize2 (integer N, doublereal *AP, doublereal *W, doublereal *Z)
 
void SVD (integer M, integer N, doublereal *A, doublereal *U, doublereal *VT, doublereal *S)
 
void dgemv (char &trans, integer &m, integer &n, doublereal &alpha, doublereal *A, integer &lda, doublereal *X, integer &incx, doublereal &beta, doublereal *Y, integer &incy)
 
void DGEMV (char &trans, integer &m, integer &n, doublereal &alpha, doublereal *A, integer &lda, doublereal *X, integer &incx, doublereal &beta, doublereal *Y, integer &incy)
 
void dgemm (char &transa, char &transb, integer &m, integer &n, integer &k, doublereal &alpha, doublereal *A, integer &lda, doublereal *B, integer &ldb, doublereal &beta, doublereal *C, integer &ldc)
 
void DGEMM (char &transa, char &transb, integer &m, integer &n, integer &k, doublereal &alpha, doublereal *A, integer &lda, doublereal *B, integer &ldb, doublereal &beta, doublereal *C, integer &ldc)
 
void dcopy (integer &n, doublereal *dx, integer &incx, doublereal *dy, integer &incy)
 
void DCOPY (integer &n, doublereal *dx, integer &incx, doublereal *dy, integer &incy)
 
double dnrm2 (integer &N, doublereal *X, integer &INCX)
 
double DNRM2 (integer &N, doublereal *X, integer &INCX)
 
void dgesv (integer &N, integer &NRHS, doublereal *A, integer &LDA, integer *IPIV, doublereal *B, integer &LDB, integer &INFO)
 
void DGESV (integer &N, integer &NRHS, doublereal *A, integer &LDA, integer *IPIV, doublereal *B, integer &LDB, integer &INFO)
 
double ddot (integer &n, doublereal *dx, integer &incx, doublereal *dy, integer &incy)
 
double DDOT (integer &n, doublereal *dx, integer &incx, doublereal *dy, integer &incy)
 
void dsyev (char &JOBZ, char &UPLO, integer &N, doublereal *A, integer &LDA, doublereal *W, doublereal *WORK, integer &LWORK, integer &INFO)
 
void DSYEV (char &JOBZ, char &UPLO, integer &N, doublereal *A, integer &LDA, doublereal *W, doublereal *WORK, integer &LWORK, integer &INFO)
 
void dspev (char &JOBZ, char &UPLO, integer &N, doublereal *AP, doublereal *W, doublereal *Z, integer &LDZ, doublereal *WORK, integer &INFO)
 
void DSPEV (char &JOBZ, char &UPLO, integer &N, doublereal *AP, doublereal *W, doublereal *Z, integer &LDZ, doublereal *WORK, integer &INFO)
 
void dgesvd (char &JOBU, char &JOBVT, integer &M, integer &N, doublereal *A, integer &LDA, doublereal *S, doublereal *U, integer &LDU, doublereal *VT, integer &LDVT, doublereal *WORK, integer &LWORK, integer &INFO)
 
void DGESVD (char &JOBU, char &JOBVT, integer &M, integer &N, doublereal *A, integer &LDA, doublereal *S, doublereal *U, integer &LDU, doublereal *VT, integer &LDVT, doublereal *WORK, integer &LWORK, integer &INFO)
 
void DefineLinearTasks ()
 
void DefineQuadraticTasks ()
 
void SortIntegrals (int nfzc, int nfzv, int norbs, int ndoccact, int nvirt, Options &options)
 
void Sort_OV3_LowMemory (long int memory, long int o, long int v)
 
void SortOVOV (struct iwlbuf *Buf, int nfzc, int nfzv, int norbs, int ndoccact, int nvirt)
 
double Normalize (long int o, long int v, double *t1, double *t2, int cepa_level)
 
void BuildD1 (long int nfzc, long int o, long int v, long int nfzv, double *t1, double *ta, double *tb, double c0, double *D1)
 
void SortAllIntegrals (iwlbuf *Buf, int nfzc, int nfzv, int norbs, int ndoccact, int nvirt, Options &options)
 
void klcd_terms_incore (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, double *klcd)
 
void ijkl_terms (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI &nijkl, struct integral *ijkl)
 
void ijak_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nijak, struct integral *ijak)
 
void ijak2_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nijak2, struct integral *ijak2)
 
void klcd_terms (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nklcd, struct integral *klcd)
 
void akjc_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nklcd, struct integral *klcd)
 
void abci1_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabci1, struct integral *abci1)
 
void abci3_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabci3, struct integral *abci3)
 
void abci4_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabci4, struct integral *abci4)
 
void abci5_terms (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabci5, struct integral *abci5)
 
void abcd1_terms (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabcd1, struct integral *abcd1)
 
void abcd2_terms (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabcd2, struct integral *abcd2)
 
void abcd1_terms_new (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI *nabcd1, ULI *totalnabcd1, struct integral **abcd1, ULI binsize, ULI bucketsize, psio_address *addr, ULI nfiles)
 
void abcd2_terms_new (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI *nabcd2, ULI *totalnabcd2, struct integral **abcd2, ULI binsize, ULI bucketsize, psio_address *addr, ULI nfiles)
 
void abci1_terms_new (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI *nabci1, ULI *totalnabci1, struct integral **abci1, ULI binsize, ULI bucketsize, psio_address *addr, ULI filestart, ULI nfiles)
 
void abci3_terms_new (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI *nabci3, ULI *totalnabci3, struct integral **abci3, ULI binsize, ULI bucketsize, psio_address *addr, ULI filestart, ULI nfiles)
 
void abci5_terms_new (double val, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI *nabci5, ULI *totalnabci5, struct integral **abci5, ULI binsize, ULI bucketsize, psio_address *addr, ULI filestart, ULI nfiles)
 
void abcd3_terms (double val, ULI pq, ULI rs, ULI p, ULI q, ULI r, ULI s, ULI o, ULI v, ULI &nabcd1, struct integral *abcd1)
 
void SortBlock (ULI nelem, ULI blockdim, struct integral *buffer, double *tmp, ULI PSIFILE, const char *string, ULI maxdim)
 
void SortBlockNew (ULI nelem, ULI blockdim, struct integral *buffer, double *tmp, ULI PSIFILE, const char *string, ULI maxdim)
 
void SortBlockNewNew (ULI *nelem, ULI blockdim, struct integral *buffer, double *tmp, ULI PSIFILE, const char *string, ULI maxdim, ULI filestart, ULI nfiles)
 

Typedef Documentation

typedef long int psi::fnocc::ULI

Function Documentation

void psi::fnocc::abcd1_terms ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabcd1,
struct integral *  abcd1 
)
void psi::fnocc::abcd1_terms_new ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabcd1,
ULI totalnabcd1,
struct integral **  abcd1,
ULI  binsize,
ULI  bucketsize,
psio_address *  addr,
ULI  nfiles 
)
void psi::fnocc::abcd2_terms ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabcd2,
struct integral *  abcd2 
)

ABCD-type integrals, because of weird SJS packing, are really confusing to sort. I couldn't think of an analytic way to do this, so I resorted to brute force.

void psi::fnocc::abcd2_terms_new ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabcd2,
ULI totalnabcd2,
struct integral **  abcd2,
ULI  binsize,
ULI  bucketsize,
psio_address *  addr,
ULI  nfiles 
)
void psi::fnocc::abcd3_terms ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabcd1,
struct integral *  abcd1 
)
void psi::fnocc::abci1_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci1,
struct integral *  abci1 
)
void psi::fnocc::abci1_terms_new ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci1,
ULI totalnabci1,
struct integral **  abci1,
ULI  binsize,
ULI  bucketsize,
psio_address *  addr,
ULI  filestart,
ULI  nfiles 
)
void psi::fnocc::abci3_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci3,
struct integral *  abci3 
)
void psi::fnocc::abci3_terms_new ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci3,
ULI totalnabci3,
struct integral **  abci3,
ULI  binsize,
ULI  bucketsize,
psio_address *  addr,
ULI  filestart,
ULI  nfiles 
)
void psi::fnocc::abci4_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci4,
struct integral *  abci4 
)
void psi::fnocc::abci5_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci5,
struct integral *  abci5 
)
void psi::fnocc::abci5_terms_new ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nabci5,
ULI totalnabci5,
struct integral **  abci5,
ULI  binsize,
ULI  bucketsize,
psio_address *  addr,
ULI  filestart,
ULI  nfiles 
)
void psi::fnocc::akjc_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nklcd,
struct integral *  klcd 
)
void psi::fnocc::BuildD1 ( long int  nfzc,
long int  o,
long int  v,
long int  nfzv,
double *  t1,
double *  ta,
double *  tb,
double  c0,
double *  D1 
)
void psi::fnocc::dcopy ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)

name mangling dcopy

void psi::fnocc::DCOPY ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)
inline
double psi::fnocc::ddot ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)

name mangling ddot

double psi::fnocc::DDOT ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)
inline
void psi::fnocc::DefineLinearTasks ( )
void psi::fnocc::DefineQuadraticTasks ( )
void psi::fnocc::dgemm ( char &  transa,
char &  transb,
integer m,
integer n,
integer k,
doublereal alpha,
doublereal A,
integer lda,
doublereal B,
integer ldb,
doublereal beta,
doublereal C,
integer ldc 
)

name mangling for fortran-ordered dgemm

void psi::fnocc::DGEMM ( char &  transa,
char &  transb,
integer m,
integer n,
integer k,
doublereal alpha,
doublereal A,
integer lda,
doublereal B,
integer ldb,
doublereal beta,
doublereal C,
integer ldc 
)
inline
void psi::fnocc::dgemv ( char &  trans,
integer m,
integer n,
doublereal alpha,
doublereal A,
integer lda,
doublereal X,
integer incx,
doublereal beta,
doublereal Y,
integer incy 
)

name mangling for fortran-ordered dgemv

void psi::fnocc::DGEMV ( char &  trans,
integer m,
integer n,
doublereal alpha,
doublereal A,
integer lda,
doublereal X,
integer incx,
doublereal beta,
doublereal Y,
integer incy 
)
inline
void psi::fnocc::dgesv ( integer N,
integer NRHS,
doublereal A,
integer LDA,
integer IPIV,
doublereal B,
integer LDB,
integer INFO 
)

name mangling dgesv

void psi::fnocc::DGESV ( integer N,
integer NRHS,
doublereal A,
integer LDA,
integer IPIV,
doublereal B,
integer LDB,
integer INFO 
)
inline
void psi::fnocc::dgesvd ( char &  JOBU,
char &  JOBVT,
integer M,
integer N,
doublereal A,
integer LDA,
doublereal S,
doublereal U,
integer LDU,
doublereal VT,
integer LDVT,
doublereal WORK,
integer LWORK,
integer INFO 
)

name mangling dgesvd

void psi::fnocc::DGESVD ( char &  JOBU,
char &  JOBVT,
integer M,
integer N,
doublereal A,
integer LDA,
doublereal S,
doublereal U,
integer LDU,
doublereal VT,
integer LDVT,
doublereal WORK,
integer LWORK,
integer INFO 
)
inline
void psi::fnocc::Diagonalize ( integer  N,
doublereal A,
doublereal W 
)

Diagonalize a real symmetric matrix

diagonalize a real symmetric matrix

void psi::fnocc::Diagonalize2 ( integer  N,
doublereal AP,
doublereal W,
doublereal Z 
)

diagonalize a real symmetric packed matrix

double psi::fnocc::dnrm2 ( integer N,
doublereal X,
integer INCX 
)

name mangling dnrm2

double psi::fnocc::DNRM2 ( integer N,
doublereal X,
integer INCX 
)
inline
void psi::fnocc::dspev ( char &  JOBZ,
char &  UPLO,
integer N,
doublereal AP,
doublereal W,
doublereal Z,
integer LDZ,
doublereal WORK,
integer INFO 
)

name mangling dspev

void psi::fnocc::DSPEV ( char &  JOBZ,
char &  UPLO,
integer N,
doublereal AP,
doublereal W,
doublereal Z,
integer LDZ,
doublereal WORK,
integer INFO 
)
inline
void psi::fnocc::dsyev ( char &  JOBZ,
char &  UPLO,
integer N,
doublereal A,
integer LDA,
doublereal W,
doublereal WORK,
integer LWORK,
integer INFO 
)

name mangling dsyev

void psi::fnocc::DSYEV ( char &  JOBZ,
char &  UPLO,
integer N,
doublereal A,
integer LDA,
doublereal W,
doublereal WORK,
integer LWORK,
integer INFO 
)
inline
void psi::fnocc::F_DGEMM ( char  transa,
char  transb,
integer  m,
integer  n,
integer  k,
doublereal  alpha,
doublereal A,
integer  lda,
doublereal B,
integer  ldb,
doublereal  beta,
doublereal C,
integer  ldc 
)

fortran-ordered dgemm

void psi::fnocc::F_DGEMV ( char  trans,
integer  m,
integer  n,
doublereal  alpha,
doublereal A,
integer  lda,
doublereal X,
integer  incx,
doublereal  beta,
doublereal Y,
integer  incy 
)

fortran-ordered dgemv

SharedWavefunction psi::fnocc::fnocc ( SharedWavefunction  ref_wfn,
Options &  options 
)
void psi::fnocc::ijak2_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nijak2,
struct integral *  ijak2 
)
void psi::fnocc::ijak_terms ( double  val,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nijak,
struct integral *  ijak 
)
void psi::fnocc::ijkl_terms ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI nijkl,
struct integral *  ijkl 
)
void psi::fnocc::klcd_terms ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
ULI nklcd,
struct integral *  klcd 
)
void psi::fnocc::klcd_terms_incore ( double  val,
ULI  pq,
ULI  rs,
ULI  p,
ULI  q,
ULI  r,
ULI  s,
ULI  o,
ULI  v,
double *  klcd 
)
double psi::fnocc::Normalize ( long int  o,
long int  v,
double *  t1,
double *  t2,
int  cepa_level 
)
long int psi::fnocc::Position ( long int  i,
long int  j 
)
void psi::fnocc::Sort_OV3_LowMemory ( long int  memory,
long int  o,
long int  v 
)
void psi::fnocc::SortAllIntegrals ( iwlbuf *  Buf,
int  nfzc,
int  nfzv,
int  norbs,
int  ndoccact,
int  nvirt,
Options &  options 
)

first buffer (read in when Buf was initialized)

now do the same for the rest of the buffers

write any leftover bits that might not have been dumped to disk

sort values in each of the files

Sort ABCI2 integrals (actually, just ABCI2-2*ABCI3)

Combine ABCD1 and ABCD2 integrals if SJS packing

first buffer (read in when Buf was initialized)

now do the same for the rest of the buffers

write any leftover bits that might not have been dumped to disk

sort values in each of the files

Sort ABCI2 integrals (actually, just ABCI2-2*ABCI3)

Combine ABCD1 and ABCD2 integrals if SJS packing

void psi::fnocc::SortBlock ( ULI  nelem,
ULI  blockdim,
struct integral *  buffer,
double *  tmp,
ULI  PSIFILE,
const char *  string,
ULI  maxdim 
)
void psi::fnocc::SortBlockNew ( ULI  nelem,
ULI  blockdim,
struct integral *  buffer,
double *  tmp,
ULI  PSIFILE,
const char *  string,
ULI  maxdim 
)
void psi::fnocc::SortBlockNewNew ( ULI nelem,
ULI  blockdim,
struct integral *  buffer,
double *  tmp,
ULI  PSIFILE,
const char *  string,
ULI  maxdim,
ULI  filestart,
ULI  nfiles 
)
void psi::fnocc::SortIntegrals ( int  nfzc,
int  nfzv,
int  norbs,
int  ndoccact,
int  nvirt,
Options &  options 
)
void psi::fnocc::SortOVOV ( struct iwlbuf *  Buf,
int  nfzc,
int  nfzv,
int  norbs,
int  ndoccact,
int  nvirt 
)

OVOV in-core integral sort. requires o^2v^2 doubles

first buffer (read in when Buf was initialized)

now do the same for the rest of the buffers

write to disk

first buffer (read in when Buf was initialized)

now do the same for the rest of the buffers

write to disk

void psi::fnocc::SVD ( integer  M,
integer  N,
doublereal A,
doublereal U,
doublereal VT,
doublereal S 
)

General SVD