Scine::Sparrow  5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
DFTB3MethodWrapper.h
Go to the documentation of this file.
1 
7 #ifndef SPARROW_DFTB3METHODWRAPPER_H
8 #define SPARROW_DFTB3METHODWRAPPER_H
9 
10 /* Internal Includes */
13 /* External Includes */
15 #include <string>
16 
17 namespace Scine {
18 
19 namespace Utils {
20 class AdditiveElectronicContribution;
21 } // namespace Utils
22 
23 namespace Sparrow {
28 class DFTB3MethodWrapper final : public Utils::CloneInterface<DFTB3MethodWrapper, DFTBMethodWrapper, Core::Calculator> {
29  public:
30  static constexpr const char* model = "DFTB3";
31 
34  // Rule of 5
36  DFTB3MethodWrapper& operator=(const DFTB3MethodWrapper& rhs);
37  DFTB3MethodWrapper(DFTB3MethodWrapper&& rhs) = delete;
38  DFTB3MethodWrapper& operator=(DFTB3MethodWrapper&& rhs) = delete;
40  ~DFTB3MethodWrapper() final;
45  std::string name() const final;
49  void applySettings() final;
54  void addElectronicContribution(std::shared_ptr<Utils::AdditiveElectronicContribution> contribution) final;
55 
56  private:
57  TDDFTBData getTDDFTBDataImpl() const final;
58  bool successfulCalculation() const final;
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  dftb::DFTB3 method_;
68 };
69 
70 } /* namespace Sparrow */
71 } /* namespace Scine */
72 
73 #endif /* SPARROW_DFTB3METHODWRAPPER_H */
A method wrapper handling DFTB3 calculations.
Definition: DFTB3MethodWrapper.h:28
void addElectronicContribution(std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final
Function to add a contribution to the electronic DFTB3 Hamiltonian.
Definition: DFTB3MethodWrapper.cpp:118
Definition: DFTB3.h:25
std::string name() const final
Getter for the name of the underlying method.
Definition: DFTB3MethodWrapper.cpp:88
This function hides the templated generic function in.
DFTB3MethodWrapper()
Default Constructor.
Definition: DFTB3MethodWrapper.cpp:29
void applySettings() final
Function to apply the settings to the underlying method.
Definition: DFTB3MethodWrapper.cpp:48
This class contains the infos needed to perform a TD-DFTB calculation. This way excited states proper...
Definition: TDDFTBData.h:27
~DFTB3MethodWrapper() final
Default Destructor.