Psi4
Classes | Typedefs | Enumerations | Functions | Variables
psi::psimrcc Namespace Reference

Classes

class  CCBLAS
 
class  Debugging
 
class  Hamiltonian
 
class  IDMRPT2
 
class  CCIndex
 
class  CCIndexIterator
 
class  IntegralClass
 
class  CCManyBody
 
class  CCMatrix
 
class  CCMatTmp
 
class  CCMatIrTmp
 
class  MP2_CCSD
 
class  CCMRCC
 
class  MRCCSD_T
 
class  CCOperation
 
class  MatrixBase
 
class  BlockMatrix
 
class  IndexMatrix
 
class  CCTransform
 
class  Updater
 Containts the procedure for updating the amplitudes. More...
 
class  MkUpdater
 
class  BWUpdater
 

Typedefs

typedef std::vector< std::string > strvec
 
typedef std::vector< std::pair
< int, int > > 
intpairvec
 
typedef std::vector
< std::vector< int > > 
vecvecint
 

Enumerations

enum  DiisType { DiisEachCycle, DiisCC }
 
enum  SpinCase {
  aaSpin, abSpin, bbSpin, aaaSpin,
  aabSpin, abbSpin, bbbSpin
}
 
enum  TriplesType {
  pt2, ccsd, ccsd_t, ccsdt_1a,
  ccsdt_1b, ccsdt_2, ccsdt_3, ccsdt
}
 
enum  TriplesCouplingType { nocoupling, linear, quadratic, cubic }
 
enum  DiskOpt { none, dump, release }
 

Functions

PsiReturnType psimrcc (SharedWavefunction, Options &)
 
void C_DGEMM_12 (int m, int n, int k, double alpha, double *A, int nra, double *B, int ncb, double beta, double *C, int ncc)
 
void C_DGEMM_22 (int m, int n, int k, double alpha, double *A, int nca, double *B, int ncb, double beta, double *C, int ncc)
 
void F_DAXPY (int *length, double *a, double *x, int *inc_x, double *y, int *inc_y)
 
void F_DCOPY (int *length, double *x, int *inc_x, double *y, int *inc_y)
 
void F_DGEMM (const char *transa, const char *transb, int *m, int *n, int *k, double *alpha, double *A, int *lda, double *B, int *ldb, double *beta, double *C, int *ldc)
 
void F_DROT (int *ntot, double *x, int *incx, double *y, int *incy, double *cotheta, double *sintheta)
 
void F_DSCAL (int *n, double *alpha, double *vec, int *inc)
 
void F_DGEMV (char *transa, int *m, int *n, double *alpha, double *A, int *lda, double *X, int *inc_x, double *beta, double *Y, int *inc_y)
 
double F_DDOT (int *n, double *x, int *incx, double *y, int *incy)
 
void F_DGEEV (const char *jobvl, const char *jobvr, int *n, double *a, int *lda, double *wr, double *wi, double *vl, int *ldvl, double *vr, int *ldvr, double *work, int *lwork, int *info)
 
void F_DGESV (int *n, int *nrhs, double *A, int *lda, int *ipiv, double *B, int *ldb, int *info)
 
void F_DSYEV (char *JOBZ, char *UPLO, int *N, double *A, int *LDA, double *W, double *WORK, int *LWORK, int *INFO)
 
bool is_number (const std::string &str)
 
double get_number (const std::string &str)
 
bool is_operation (const std::string &str)
 
void sort_eigensystem (int ndets, double *&real, double *&imaginary, double **&left, double **&right)
 
void init_psi (int argc, char *argv[])
 
void close_psi ()
 
void mrccsd (SharedWavefunction ref_wfn, Options &options)
 
void mp2_ccsd (SharedWavefunction ref_wfn, Options &options)
 
void mrpt2 (SharedWavefunction ref_wfn, Options &options)
 
void transform_integrals ()
 
void run_psimrcc ()
 
void mrccsd_check ()
 
void multiply (BlockMatrix *A, BlockMatrix *B)
 

Variables

MOInfomoinfo
 
MemoryManagermemory_manager
 
CCBLASblas
 
vector< pair< string, string > > diis_matrices
 
const double diis_singular_tollerance = 1.0e-12
 
Debuggingdebugging
 
Timerglobal_timer
 
CCSort * sorter
 
CCTransformtrans = NULL
 
ModelSpacemodel_space
 

Typedef Documentation

typedef std::vector<std::pair<int,int> > psi::psimrcc::intpairvec
typedef std::vector<std::string> psi::psimrcc::strvec
typedef std::vector<std::vector<int> > psi::psimrcc::vecvecint

Enumeration Type Documentation

Enumerator
DiisEachCycle 
DiisCC 
Enumerator
none 
dump 
release 
Enumerator
aaSpin 
abSpin 
bbSpin 
aaaSpin 
aabSpin 
abbSpin 
bbbSpin 
Enumerator
nocoupling 
linear 
quadratic 
cubic 
Enumerator
pt2 
ccsd 
ccsd_t 
ccsdt_1a 
ccsdt_1b 
ccsdt_2 
ccsdt_3 
ccsdt 

Function Documentation

void psi::psimrcc::C_DGEMM_12 ( int  m,
int  n,
int  k,
double  alpha,
double *  A,
int  nra,
double *  B,
int  ncb,
double  beta,
double *  C,
int  ncc 
)
void psi::psimrcc::C_DGEMM_22 ( int  m,
int  n,
int  k,
double  alpha,
double *  A,
int  nca,
double *  B,
int  ncb,
double  beta,
double *  C,
int  ncc 
)
void psi::psimrcc::close_psi ( )
void psi::psimrcc::F_DAXPY ( int *  length,
double *  a,
double *  x,
int *  inc_x,
double *  y,
int *  inc_y 
)
void psi::psimrcc::F_DCOPY ( int *  length,
double *  x,
int *  inc_x,
double *  y,
int *  inc_y 
)
double psi::psimrcc::F_DDOT ( int *  n,
double *  x,
int *  incx,
double *  y,
int *  incy 
)
void psi::psimrcc::F_DGEEV ( const char *  jobvl,
const char *  jobvr,
int *  n,
double *  a,
int *  lda,
double *  wr,
double *  wi,
double *  vl,
int *  ldvl,
double *  vr,
int *  ldvr,
double *  work,
int *  lwork,
int *  info 
)
void psi::psimrcc::F_DGEMM ( const char *  transa,
const char *  transb,
int *  m,
int *  n,
int *  k,
double *  alpha,
double *  A,
int *  lda,
double *  B,
int *  ldb,
double *  beta,
double *  C,
int *  ldc 
)
void psi::psimrcc::F_DGEMV ( char *  transa,
int *  m,
int *  n,
double *  alpha,
double *  A,
int *  lda,
double *  X,
int *  inc_x,
double *  beta,
double *  Y,
int *  inc_y 
)
void psi::psimrcc::F_DGESV ( int *  n,
int *  nrhs,
double *  A,
int *  lda,
int *  ipiv,
double *  B,
int *  ldb,
int *  info 
)
void psi::psimrcc::F_DROT ( int *  ntot,
double *  x,
int *  incx,
double *  y,
int *  incy,
double *  cotheta,
double *  sintheta 
)
void psi::psimrcc::F_DSCAL ( int *  n,
double *  alpha,
double *  vec,
int *  inc 
)
void psi::psimrcc::F_DSYEV ( char *  JOBZ,
char *  UPLO,
int *  N,
double *  A,
int *  LDA,
double *  W,
double *  WORK,
int *  LWORK,
int *  INFO 
)
double psi::psimrcc::get_number ( const std::string &  str)
void psi::psimrcc::init_psi ( int  argc,
char *  argv[] 
)
bool psi::psimrcc::is_number ( const std::string &  str)
bool psi::psimrcc::is_operation ( const std::string &  str)
void psi::psimrcc::mp2_ccsd ( SharedWavefunction  ref_wfn,
Options &  options 
)

Runs a CCSD_MP2 computation

void psi::psimrcc::mrccsd ( SharedWavefunction  ref_wfn,
Options &  options 
)

Runs a MRPT2 and a MRCCSD computation

Todo:
move this code in the CCMRCC class
void psi::psimrcc::mrccsd_check ( )
void psi::psimrcc::mrpt2 ( SharedWavefunction  ref_wfn,
Options &  options 
)

Runs a MRPT2 computation

void psi::psimrcc::multiply ( BlockMatrix *  A,
BlockMatrix *  B 
)
PsiReturnType psi::psimrcc::psimrcc ( SharedWavefunction  ref_wfn,
Options options 
)
void psi::psimrcc::run_psimrcc ( )
void psi::psimrcc::sort_eigensystem ( int  ndets,
double *&  real,
double *&  imaginary,
double **&  left,
double **&  right 
)
void psi::psimrcc::transform_integrals ( )

Runs a integral transformation

Todo:
CCTransform is still unused in the code

Variable Documentation

CCBLAS * psi::psimrcc::blas
Debugging * psi::psimrcc::debugging
vector<pair<string,string> > psi::psimrcc::diis_matrices
const double psi::psimrcc::diis_singular_tollerance = 1.0e-12
Timer* psi::psimrcc::global_timer
MemoryManager * psi::psimrcc::memory_manager
ModelSpace* psi::psimrcc::model_space
MOInfo * psi::psimrcc::moinfo
CCSort* psi::psimrcc::sorter
CCTransform * psi::psimrcc::trans = NULL