|
psiinput.h00001 /* 00002 ** PSI Input Class 00003 ** 00004 ** This helper class will set up input decks for the PSI suite of 00005 ** ab initio quantum chemistry programs. 00006 ** 00007 ** David Sherrill & Justin Fermann 00008 ** Center for Computational Quantum Chemistry, University of Georgia 00009 ** 00010 */ 00011 00012 #ifdef __GNUG__ 00013 #pragma interface 00014 #endif 00015 00016 #ifndef _chemistry_qc_psi_input_h 00017 #define _chemistry_qc_psi_input_h 00018 00019 using namespace std; 00020 00021 #include <fstream> 00022 #include <string> 00023 #include<util/ref/ref.h> 00024 #include<chemistry/molecule/molecule.h> 00025 #include<chemistry/qc/basis/basis.h> 00026 00027 namespace sc { 00028 00029 class PsiExEnv; 00030 class CorrelationTable; 00031 00034 00035 class PsiInput: public RefCount { 00036 00037 string filename_; 00038 std::ofstream file_; 00039 00040 int indentation_; 00041 00042 // No default constructor 00043 PsiInput() {}; 00044 00045 public: 00046 PsiInput(const string& name); 00047 ~PsiInput(); 00048 void open(); 00049 void close(); 00050 void print(std::ostream&); 00051 00052 void begin_section(const char * s); 00053 void end_section(); 00054 void write_indent(); 00055 void incindent(int); 00056 void decindent(int); 00057 void write_comment(const char *); 00058 void write_keyword(const char *, const char *); 00059 void write_keyword(const char *, int); 00060 void write_keyword(const char *, double); 00061 void write_keyword_array(const char *, int, int *); 00062 void write_keyword_array(const char *, int, double *); 00063 void write_string(const char *); 00064 void write_key_wq(const char *, const char *); 00065 00067 void write_basis(const Ref<GaussianBasisSet>&); 00069 void write_basis_sets(const Ref<GaussianBasisSet>&); 00070 void write_geom(const Ref<Molecule>&); 00071 00072 void write_defaults(const Ref<PsiExEnv>&, const char *dertype); 00073 }; 00074 00075 } 00076 00077 #endif Generated at Fri Jan 10 08:14:09 2003 for MPQC 2.1.3 using the documentation package Doxygen 1.2.14. |