Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

psi.h

00001 
00002 #ifdef __GNUC__
00003 #pragma interface
00004 #endif
00005 
00006 #ifndef _chemistry_qc_psi_psi_h
00007 #define _chemistry_qc_psi_psi_h
00008 
00009 #include <chemistry/qc/wfn/wfn.h>
00010 #include <chemistry/qc/psi/psiinput.h>
00011 
00012 class PsiWfn: public Wavefunction {
00013   protected:
00014     PSI_Input psi_in;
00015     void compute();
00016 
00017     virtual void write_input(int conv) = 0;
00018     virtual double read_energy() = 0;
00019     void write_basic_input(int conv, const char *wfn);
00020   public:
00021     PsiWfn(const Ref<KeyVal>&);
00022     PsiWfn(StateIn&);
00023     virtual ~PsiWfn();
00024     void save_data_state(StateOut&);
00025 
00026     double density(const SCVector3&);
00027     RefSymmSCMatrix density();
00028 
00029     void print(std::ostream&o=ExEnv::out()) const;
00030 
00031     int spin_polarized();
00032     int nelectron();
00033 
00034     int gradient_implemented() const;
00035     int value_implemented() const;
00036 };
00037 
00038 class PsiHF: public PsiWfn {
00039   protected:
00040     void write_input(int conv);
00041     double read_energy();
00042   public:
00043     PsiHF(const Ref<KeyVal>&);
00044     PsiHF(StateIn&);
00045     ~PsiHF();
00046     void save_data_state(StateOut&);
00047 };
00048 
00049 class PsiCCSD: public PsiWfn {
00050   protected:
00051     void write_input(int conv);
00052     double read_energy();
00053   public:
00054     PsiCCSD(const Ref<KeyVal>&);
00055     PsiCCSD(StateIn&);
00056     ~PsiCCSD();
00057     void save_data_state(StateOut&);
00058 };
00059 
00060 class PsiCCSD_T: public PsiWfn {
00061   protected:
00062     void write_input(int conv);
00063     double read_energy();
00064   public:
00065     PsiCCSD_T(const Ref<KeyVal>&);
00066     PsiCCSD_T(StateIn&);
00067     ~PsiCCSD_T();
00068     void save_data_state(StateOut&);
00069 };
00070 
00071 class PsiCCSDT: public PsiWfn {
00072   protected:
00073     void write_input(int conv);
00074     double read_energy();
00075   public:
00076     PsiCCSDT(const Ref<KeyVal>&);
00077     PsiCCSDT(StateIn&);
00078     ~PsiCCSDT();
00079     void save_data_state(StateOut&);
00080     int gradient_implemented() const;
00081 };
00082 
00083 class PsiCI: public PsiWfn {
00084   protected:
00085     void write_input(int conv);
00086     double read_energy();
00087   public:
00088     PsiCI(const Ref<KeyVal>&);
00089     PsiCI(StateIn&);
00090     ~PsiCI();
00091     void save_data_state(StateOut&);
00092 };
00093 
00094 #endif

Generated at Thu Oct 4 18:08:46 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.