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 size_t
 

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, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, double *klcd)
 
void ijkl_terms (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t &nijkl, struct integral *ijkl)
 
void ijak_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nijak, struct integral *ijak)
 
void ijak2_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nijak2, struct integral *ijak2)
 
void klcd_terms (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nklcd, struct integral *klcd)
 
void akjc_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nklcd, struct integral *klcd)
 
void abci1_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabci1, struct integral *abci1)
 
void abci3_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabci3, struct integral *abci3)
 
void abci4_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabci4, struct integral *abci4)
 
void abci5_terms (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabci5, struct integral *abci5)
 
void abcd1_terms (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabcd1, struct integral *abcd1)
 
void abcd2_terms (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabcd2, struct integral *abcd2)
 
void abcd1_terms_new (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t *nabcd1, size_t *totalnabcd1, struct integral **abcd1, size_t binsize, size_t bucketsize, psio_address *addr, size_t nfiles)
 
void abcd2_terms_new (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t *nabcd2, size_t *totalnabcd2, struct integral **abcd2, size_t binsize, size_t bucketsize, psio_address *addr, size_t nfiles)
 
void abci1_terms_new (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t *nabci1, size_t *totalnabci1, struct integral **abci1, size_t binsize, size_t bucketsize, psio_address *addr, size_t filestart, size_t nfiles)
 
void abci3_terms_new (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t *nabci3, size_t *totalnabci3, struct integral **abci3, size_t binsize, size_t bucketsize, psio_address *addr, size_t filestart, size_t nfiles)
 
void abci5_terms_new (double val, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t *nabci5, size_t *totalnabci5, struct integral **abci5, size_t binsize, size_t bucketsize, psio_address *addr, size_t filestart, size_t nfiles)
 
void abcd3_terms (double val, size_t pq, size_t rs, size_t p, size_t q, size_t r, size_t s, size_t o, size_t v, size_t &nabcd1, struct integral *abcd1)
 
void SortBlock (size_t nelem, size_t blockdim, struct integral *buffer, double *tmp, size_t PSIFILE, const char *string, size_t maxdim)
 
void SortBlockNew (size_t nelem, size_t blockdim, struct integral *buffer, double *tmp, size_t PSIFILE, const char *string, size_t maxdim)
 
void SortBlockNewNew (size_t *nelem, size_t blockdim, struct integral *buffer, double *tmp, size_t PSIFILE, const char *string, size_t maxdim, size_t filestart, size_t nfiles)
 

Typedef Documentation

typedef long int psi::fnocc::size_t

Function Documentation

void psi::fnocc::abcd1_terms ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabcd1,
struct integral *  abcd1 
)
void psi::fnocc::abcd1_terms_new ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t *  nabcd1,
size_t *  totalnabcd1,
struct integral **  abcd1,
size_t  binsize,
size_t  bucketsize,
psio_address *  addr,
size_t  nfiles 
)
void psi::fnocc::abcd2_terms ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  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,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t *  nabcd2,
size_t *  totalnabcd2,
struct integral **  abcd2,
size_t  binsize,
size_t  bucketsize,
psio_address *  addr,
size_t  nfiles 
)
void psi::fnocc::abcd3_terms ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabcd1,
struct integral *  abcd1 
)
void psi::fnocc::abci1_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabci1,
struct integral *  abci1 
)
void psi::fnocc::abci1_terms_new ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t *  nabci1,
size_t *  totalnabci1,
struct integral **  abci1,
size_t  binsize,
size_t  bucketsize,
psio_address *  addr,
size_t  filestart,
size_t  nfiles 
)
void psi::fnocc::abci3_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabci3,
struct integral *  abci3 
)
void psi::fnocc::abci3_terms_new ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t *  nabci3,
size_t *  totalnabci3,
struct integral **  abci3,
size_t  binsize,
size_t  bucketsize,
psio_address *  addr,
size_t  filestart,
size_t  nfiles 
)
void psi::fnocc::abci4_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabci4,
struct integral *  abci4 
)
void psi::fnocc::abci5_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nabci5,
struct integral *  abci5 
)
void psi::fnocc::abci5_terms_new ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t *  nabci5,
size_t *  totalnabci5,
struct integral **  abci5,
size_t  binsize,
size_t  bucketsize,
psio_address *  addr,
size_t  filestart,
size_t  nfiles 
)
void psi::fnocc::akjc_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  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,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nijak2,
struct integral *  ijak2 
)
void psi::fnocc::ijak_terms ( double  val,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nijak,
struct integral *  ijak 
)
void psi::fnocc::ijkl_terms ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t &  nijkl,
struct integral *  ijkl 
)
void psi::fnocc::klcd_terms ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  v,
size_t &  nklcd,
struct integral *  klcd 
)
void psi::fnocc::klcd_terms_incore ( double  val,
size_t  pq,
size_t  rs,
size_t  p,
size_t  q,
size_t  r,
size_t  s,
size_t  o,
size_t  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 ( size_t  nelem,
size_t  blockdim,
struct integral *  buffer,
double *  tmp,
size_t  PSIFILE,
const char *  string,
size_t  maxdim 
)
void psi::fnocc::SortBlockNew ( size_t  nelem,
size_t  blockdim,
struct integral *  buffer,
double *  tmp,
size_t  PSIFILE,
const char *  string,
size_t  maxdim 
)
void psi::fnocc::SortBlockNewNew ( size_t *  nelem,
size_t  blockdim,
struct integral *  buffer,
double *  tmp,
size_t  PSIFILE,
const char *  string,
size_t  maxdim,
size_t  filestart,
size_t  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