Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
PM6Method.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_PM6METHOD_H
9 #define SPARROW_PM6METHOD_H
10 
12 
13 namespace Scine {
14 namespace Sparrow {
15 
16 namespace nddo {
17 class FockMatrix;
18 class NDDOInitializer;
19 class Parameters;
20 class OneElectronMatrix;
21 class TwoElectronMatrix;
22 
23 class PM6Method : public Utils::ScfMethod {
24  public:
25  PM6Method();
26  ~PM6Method() override;
27 
29  void setStructure(const Utils::AtomCollection& atoms, std::string parameterPath = "");
31  void readParameters(const std::string& parameterPath);
33  void saveParameters(const std::string& fileName);
34 
35  const nddo::OneElectronMatrix& getOneElectronMatrix() const;
36  const nddo::TwoElectronMatrix& getTwoElectronMatrix() const;
37 
38  NDDOInitializer& getInitializer() {
39  return *pm6Settings_;
40  }
41  const NDDOInitializer& getInitializer() const {
42  return *pm6Settings_;
43  }
44 
48  const Parameters& getRawParameters() const;
49 
50  private:
51  std::shared_ptr<NDDOInitializer> pm6Settings_;
52  std::shared_ptr<FockMatrix> pm6Fock_;
53 };
54 
55 } // namespace nddo
56 
57 } // namespace Sparrow
58 } // namespace Scine
59 #endif // SPARROW_PM6METHOD_H
void readParameters(const std::string &parameterPath)
Definition: PM6Method.cpp:57
Parameters & getRawParameters()
Definition: PM6Method.cpp:65
Settings for generic NDDO methods. Reads the parameters and applies them to the system of interest...
Definition: NDDOInitializer.h:32
This class generates the one-electron matrix H for semi-empirical methods.
Definition: OneElectronMatrix.h:32
Class to generate the two-electron matrix G for semi-empirical methods. This class is parallelized wi...
Definition: TwoElectronMatrix.h:42
void saveParameters(const std::string &fileName)
Definition: PM6Method.cpp:61
void setStructure(const Utils::AtomCollection &atoms, std::string parameterPath="")
Definition: PM6Method.cpp:45
Nddo method parameters.
Definition: Parameters.h:20
Definition: PM6Method.h:23