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
NDDOInitializer.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_NDDOINITIALIZER_H
9 #define SPARROW_NDDOINITIALIZER_H
10 
17 #include <string>
18 #include <vector>
19 
20 namespace Scine {
21 namespace Sparrow {
22 
23 namespace nddo {
24 
33  public:
34  explicit NDDOInitializer(BasisFunctions basisFunctions = BasisFunctions::spd, bool hasDiatomicParameters = true)
35  : basisFunctions_(basisFunctions), hasDiatomicParameters_(hasDiatomicParameters){};
36 
47  void readParameters(const std::string& parameterPath);
49  void saveParameters(const std::string& fileName);
51  void initialize(const Utils::ElementTypeCollection& elements) override;
52 
53  Utils::AtomsOrbitalsIndexes getAtomsOrbitalsIndexes() const override;
54  unsigned getNumberElectronsForUnchargedSpecies() const override;
55  std::vector<double> getCoreCharges() const override;
56  bool unrestrictedCalculationPossible() const override;
57 
61  const Parameters& getRawParameters() const;
62 
63  const ElementParameters& getElementParameters();
64  const ElementPairParameters& getElementPairParameters();
65  const OneCenterIntegralContainer& getOneCenterIntegrals();
66 
67  BasisFunctions getBasisFunctions() const;
68 
69  private:
70  ElementParameters elementParameters_;
71  ElementPairParameters elementPairParameters_;
72  OneCenterIntegralContainer oneCenterIntegrals_;
73  Parameters rawParameters_;
74 
75  unsigned int nElectronsForUnchargedSpecies_ = 0;
76  std::vector<double> coreCharges_;
77  Utils::AtomsOrbitalsIndexes aoIndexes_;
78 
79  BasisFunctions basisFunctions_;
80  bool hasDiatomicParameters_;
81 };
82 
83 } // namespace nddo
84 } // namespace Sparrow
85 } // namespace Scine
86 
87 #endif // SPARROW_NDDOINITIALIZER_H
void initialize(const Utils::ElementTypeCollection &elements) override
Definition: NDDOInitializer.cpp:69
Definition: ElementParameters.h:26
Definition: ElementPairParameters.h:29
void applyRawParameters(const Utils::ElementTypeCollection &elements)
(Re)generate values and run-time parameters from the current raw parameters. Only needed if the param...
Definition: NDDOInitializer.cpp:23
void saveParameters(const std::string &fileName)
Definition: NDDOInitializer.cpp:65
Settings for generic NDDO methods. Reads the parameters and applies them to the system of interest...
Definition: NDDOInitializer.h:32
void readParameters(const std::string &parameterPath)
Definition: NDDOInitializer.cpp:61
Definition: oneCenterIntegralContainer.h:32
Parameters & getRawParameters()
Definition: NDDOInitializer.cpp:83
Nddo method parameters.
Definition: Parameters.h:20