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
MNDOMethodWrapper.h
Go to the documentation of this file.
1 
7 #ifndef SPARROW_MNDOMETHODWRAPPER_H
8 #define SPARROW_MNDOMETHODWRAPPER_H
9 
10 /* Internal Includes */
11 
14 /* External Includes */
17 #include <string>
18 
19 namespace Scine {
20 namespace Sparrow {
25 class MNDOMethodWrapper final : public Utils::CloneInterface<MNDOMethodWrapper, NDDOMethodWrapper, Core::Calculator> {
26  public:
27  static constexpr const char* model = "MNDO";
28 
31  // Rule of 5
33  MNDOMethodWrapper& operator=(const MNDOMethodWrapper& rhs);
34  MNDOMethodWrapper(MNDOMethodWrapper&& rhs) = delete;
35  MNDOMethodWrapper& operator=(MNDOMethodWrapper&& rhs) = delete;
37  ~MNDOMethodWrapper() final;
42  std::string name() const final;
46  void applySettings() final;
51  void addElectronicContribution(std::shared_ptr<Utils::AdditiveElectronicContribution> contribution) final;
52 
53  private:
54  bool successfulCalculation() const final;
55  Eigen::MatrixXd getOneElectronMatrix() const final;
56  Utils::SpinAdaptedMatrix getTwoElectronMatrix() const final;
57 
58  Utils::DensityMatrix getDensityMatrixGuess() const final;
59  CISData getCISDataImpl() const final;
60 
62  void initialize() final;
63 
64  Utils::LcaoMethod& getLcaoMethod() final;
65  const Utils::LcaoMethod& getLcaoMethod() const final;
66 
67  void calculateImpl(Utils::Derivative requiredDerivative) final;
68 
69  nddo::MNDOMethod method_;
70 };
71 
72 } /* namespace Sparrow */
73 } /* namespace Scine */
74 
75 #endif /* SPARROW_MNDOMETHODWRAPPER_H */
MNDOMethodWrapper()
Default Constructor.
Definition: MNDOMethodWrapper.cpp:30
std::string name() const final
Getter for the name of the underlying method.
Definition: MNDOMethodWrapper.cpp:58
void applySettings() final
Function to apply the settings to the underlying method.
Definition: MNDOMethodWrapper.cpp:49
Definition: MNDOMethod.h:26
A method wrapper handling MNDO calculations.
Definition: MNDOMethodWrapper.h:25
~MNDOMethodWrapper() final
Default Destructor.
This class contains the infos needed to perform a CIS calculation. This way excited states properties...
Definition: CISData.h:24
void addElectronicContribution(std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final
Function to add a contribution to the electronic MNDO Hamiltonian.
Definition: MNDOMethodWrapper.cpp:115