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
DFTB0MethodWrapper.h
Go to the documentation of this file.
1 
7 #ifndef SPARROW_DFTB0METHODWRAPPER_H
8 #define SPARROW_DFTB0METHODWRAPPER_H
9 
10 /* Internal Includes */
13 /* External Includes */
14 #include <string>
15 
16 namespace Scine {
17 
18 namespace Utils {
19 class AdditiveElectronicContribution;
20 } // namespace Utils
21 
22 namespace Sparrow {
27 class DFTB0MethodWrapper final : public Utils::CloneInterface<DFTB0MethodWrapper, DFTBMethodWrapper, Core::Calculator> {
28  public:
29  static constexpr const char* model = "DFTB0";
30 
33  // Rule of 5
35  DFTB0MethodWrapper& operator=(const DFTB0MethodWrapper& rhs);
36  DFTB0MethodWrapper(DFTB0MethodWrapper&& rhs) = delete;
37  DFTB0MethodWrapper& operator=(DFTB0MethodWrapper&& rhs) = delete;
38  ~DFTB0MethodWrapper() final;
43  std::string name() const final;
47  void applySettings() final;
52  void addElectronicContribution(std::shared_ptr<Utils::AdditiveElectronicContribution> contribution) final;
53 
54  private:
55  TDDFTBData getTDDFTBDataImpl() const final;
56  bool successfulCalculation() const final;
58  void copyInto(DFTB0MethodWrapper& instance, const DFTB0MethodWrapper& classToCopy);
59  Utils::DensityMatrix getDensityMatrixGuess() const final;
61  void initialize() final;
63  void calculateImpl(Utils::Derivative requiredDerivative) final;
65  Utils::LcaoMethod& getLcaoMethod() final;
66  const Utils::LcaoMethod& getLcaoMethod() const final;
67  void loadState(std::shared_ptr<Core::State> state) final;
68  dftb::DFTB0 method_;
69 };
70 
71 } /* namespace Sparrow */
72 } /* namespace Scine */
73 
74 #endif /* SPARROW_DFTB0METHODWRAPPER_H */
void applySettings() final
Function to apply the settings to the underlying method.
Definition: DFTB0MethodWrapper.cpp:46
void addElectronicContribution(std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final
Function to add a contribution to the electronic DFTB0 Hamiltonian.
Definition: DFTB0MethodWrapper.cpp:96
This function hides the templated generic function in.
This class contains the infos needed to perform a TD-DFTB calculation. This way excited states proper...
Definition: TDDFTBData.h:27
Definition: DFTB0.h:26
std::string name() const final
Getter for the name of the underlying method.
Definition: DFTB0MethodWrapper.cpp:57
A method wrapper handling DFTB0 calculations.
Definition: DFTB0MethodWrapper.h:27
DFTB0MethodWrapper()
Default Constructor.
Definition: DFTB0MethodWrapper.cpp:27