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

Action_Thermostats Add_AtomRandomPerturbation Add_RotateAroundBondAction Add_SelectAtomByNameAction Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_ChronosMutex Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion GeometryObjects Gui_displays_atomic_force_velocity IndependentFragmentGrids_IntegrationTest JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks RotateToPrincipalAxisSystem_UndoRedo StoppableMakroAction Subpackage_levmar Subpackage_vmg ThirdParty_MPQC_rebuilt_buildsystem TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps Ubuntu_1604_changes stable
Last change on this file since bbc982 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.