MPQC  2.3.1
psiinput.h
1 /*
2 ** PSI Input Class
3 **
4 ** This helper class will set up input decks for the PSI suite of
5 ** ab initio quantum chemistry programs.
6 **
7 ** David Sherrill & Justin Fermann
8 ** Center for Computational Quantum Chemistry, University of Georgia
9 **
10 */
11 
12 #ifdef __GNUG__
13 #pragma interface
14 #endif
15 
16 #ifndef _chemistry_qc_psi_input_h
17 #define _chemistry_qc_psi_input_h
18 
19 using namespace std;
20 
21 #include <fstream>
22 #include <string>
23 #include<util/ref/ref.h>
24 #include<chemistry/molecule/molecule.h>
25 #include<chemistry/qc/basis/basis.h>
26 
27 namespace sc {
28 
29 class PsiExEnv;
30 class CorrelationTable;
31 
34 
35 class PsiInput: public RefCount {
36 
37  string filename_;
38  std::ofstream file_;
39 
40  int indentation_;
41 
42  // No default constructor
43  PsiInput() {};
44 
45  public:
46  PsiInput(const string& name);
47  ~PsiInput();
48  void open();
49  void close();
50  void print(std::ostream&);
51 
52  void begin_section(const char * s);
53  void end_section();
54  void write_indent();
55  void incindent(int);
56  void decindent(int);
57  void write_comment(const char *);
58  void write_keyword(const char *, const char *);
59  void write_keyword(const char *, int);
60  void write_keyword(const char *, double);
61  void write_keyword_array(const char *, int, int *);
62  void write_keyword_array(const char *, int, double *);
63  void write_string(const char *);
64  void write_key_wq(const char *, const char *);
65 
67  void write_basis(const Ref<GaussianBasisSet>&);
69  void write_basis_sets(const Ref<GaussianBasisSet>&);
70  void write_geom(const Ref<Molecule>&);
71 
72  void write_defaults(const Ref<PsiExEnv>&, const char *dertype);
73 };
74 
75 }
76 
77 #endif
sc::Ref< GaussianBasisSet >
sc::PsiInput
PsiInput is a Psi input file.
Definition: psiinput.h:35
sc::RefCount
The base class for all reference counted objects.
Definition: ref.h:194

Generated at Sun Jan 26 2020 23:33:04 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.