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
DFTB0.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_DFTB_H
9 #define SPARROW_DFTB_H
10 
13 #include <string>
14 
15 namespace Scine {
16 namespace Utils {
17 class RepulsionCalculator;
18 class OverlapCalculator;
19 class ElectronicContributionCalculator;
20 } // namespace Utils
21 namespace Sparrow {
22 
23 namespace dftb {
24 class ZeroOrderMatricesCalculator;
25 
26 class DFTB0 : public Utils::LcaoMethod {
27  public:
28  DFTB0();
29  ~DFTB0() override;
30  void initializeFromParameterPath(const std::string& path);
31  std::shared_ptr<DFTBCommon> getInitializer() const;
32  Eigen::MatrixXd calculateGammaMatrix() const;
33  std::shared_ptr<Eigen::VectorXd> calculateSpinConstantVector() 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_DFTB_H
Definition: DFTB0.h:26