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
DFTB2.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_DFTB2_H
9 #define SPARROW_DFTB2_H
10 
15 #include <Eigen/Core>
16 #include <string>
17 #include <vector>
18 
19 namespace Scine {
20 namespace Sparrow {
21 
22 namespace dftb {
23 class ZeroOrderMatricesCalculator;
24 
25 class DFTB2 : public Utils::ScfMethod {
26  public:
27  DFTB2();
28  ~DFTB2() override;
29  void initializeFromParameterPath(const std::string& path);
30 
31  Eigen::MatrixXd calculateGammaMatrix() const;
32  std::shared_ptr<Eigen::VectorXd> calculateSpinConstantVector() const;
33  std::shared_ptr<DFTBCommon> getInitializer() const;
34 
35  private:
36  DFTBCommon::AtomicParameterContainer atomParameters; // parameters for atoms
37  DFTBCommon::DiatomicParameterContainer pairParameters; // List of pointers to parameters
38  std::shared_ptr<DFTBCommon> dftbBase;
39  std::unique_ptr<dftb::ZeroOrderMatricesCalculator> matricesCalculator_;
40 };
41 
42 } // namespace dftb
43 
44 } // namespace Sparrow
45 } // namespace Scine
46 #endif // SPARROW_DFTB2_H
Definition: DFTB2.h:25