source: ThirdParty/mpqc_open/src/lib/chemistry/qc/psi/psiinput.h

Candidate_v1.6.1
Last change on this file was 860145, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '0b990dfaa8c6007a996d030163a25f7f5fc8a7e7' as 'ThirdParty/mpqc_open'

  • Property mode set to 100644
File size: 1.7 KB
Line 
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
19using 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
27namespace sc {
28
29class PsiExEnv;
30class CorrelationTable;
31
32///////////////////////////////////////////////////
33/// PsiInput is a Psi input file
34
35class 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
66 /// Construct the "basis" keyword for input
67 void write_basis(const Ref<GaussianBasisSet>&);
68 /// Write basis sets explicitly
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
Note: See TracBrowser for help on using the repository browser.