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
RawParameterProcessor.h
Go to the documentation of this file.
1 
8 #ifndef SPARROW_RAWPARAMETERPROCESSOR_H
9 #define SPARROW_RAWPARAMETERPROCESSOR_H
10 
15 #include <memory>
16 
17 namespace Scine {
18 namespace Sparrow {
19 namespace nddo {
20 
21 class AtomicParameters;
22 class PM6DiatomicParameters;
23 class OneCenterTwoElectronIntegrals;
30  public:
31  explicit RawParameterProcessor(const Parameters& rawParameters, BasisFunctions basisFunctions = BasisFunctions::spd);
32  std::unique_ptr<PM6DiatomicParameters> runtimeDiatomicParameters(Utils::ElementType e1, Utils::ElementType e2);
33  std::pair<std::unique_ptr<AtomicParameters>, std::unique_ptr<OneCenterTwoElectronIntegrals>>
34  processAtomicParameters(Utils::ElementType e);
35 
36  private:
37  std::unique_ptr<OneCenterTwoElectronIntegrals> get1c2eIntegrals(Utils::ElementType e, const Parameters::Atomic& p) const;
38  void computeSlaterCondonParameters(AtomicParameters& runtimeAtomicPar, const Parameters::Atomic& p);
39  void setKlopman(AtomicParameters& par, const Parameters::Atomic& p) const;
40  void setChargeSeparations(Utils::ElementType e, AtomicParameters& par, const Parameters::Atomic& p) const;
41  void setGtoExpansion(Utils::ElementType e, AtomicParameters& par, const Parameters::Atomic& p) const;
42  static void setDiatomicExponent(PM6DiatomicParameters& par, Utils::ElementType e1, Utils::ElementType e2,
43  const Parameters::Diatomic& p);
44 
45  const Parameters& rawParameters_;
46  SlaterCondonParameters scParameters_;
47  BasisFunctions basisFunctions_;
48 };
49 } // namespace nddo
50 } // namespace Sparrow
51 } // namespace Scine
52 #endif // SPARROW_RAWPARAMETERPROCESSOR_H
Definition: PM6DiatomicParameters.h:23
Definition: RawParameterProcessor.h:29
Diatomic parameters.
Definition: Parameters.h:103
Definition: SlaterCondonParameters.h:43
Definition: Parameters.h:24
Definition: AtomicParameters.h:29
Nddo method parameters.
Definition: Parameters.h:20