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