-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f26e6c7
commit d581223
Showing
5 changed files
with
66 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule dev
updated
11 files
+14 −0 | CHANGELOG.rst | |
+56 −0 | cmake/ColorMessages.cmake | |
+80 −0 | cmake/DownloadFileHelper.cmake | |
+1 −1 | cmake/ImportCore.cmake | |
+42 −0 | cmake/ImportIntegralEvaluator.cmake | |
+34 −0 | cmake/ImportJSON.cmake | |
+1 −1 | cmake/ImportLBFGSB.cmake | |
+3 −2 | cmake/ImportLibint.cmake | |
+1 −1 | cmake/ImportPybind11.cmake | |
+68 −0 | cmake/ImportSpgLib.cmake | |
+1 −1 | cmake/ImportUtilsOS.cmake |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/** | ||
* @file Calculator.h | ||
* @copyright This code is licensed under the 3-clause BSD license.\n | ||
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n | ||
* See LICENSE.txt for details. | ||
*/ | ||
#ifndef CORE_EMBEDDINGCALCULATOR_H | ||
#define CORE_EMBEDDINGCALCULATOR_H | ||
/* Internal Includes */ | ||
#include "Core/ExportControl.h" | ||
#include "Core/Interfaces/Calculator.h" | ||
/* External Includes */ | ||
#include <Eigen/Core> | ||
#include <memory> | ||
#include <string> | ||
#include <vector> | ||
|
||
namespace Scine { | ||
namespace Utils { | ||
class Settings; | ||
class Results; | ||
} // namespace Utils | ||
namespace Core { | ||
class Calculator; | ||
|
||
class EmbeddingCalculator : public Calculator { | ||
public: | ||
static constexpr const char* interface = "embedding_calculator"; | ||
|
||
/// @brief Default constructor. | ||
EmbeddingCalculator() = default; | ||
/** | ||
* @brief Sets the underlying calculators for a calculation performed with the embedding calculator. | ||
* @note In the derived class, care must be taken of the exakt embedding method (for instance, QM/QM or QM/MM) and | ||
* that the overall Hamiltonian is correctly constructed. | ||
* @param underlyingCalculators A vector of Calculators. | ||
*/ | ||
virtual void setUnderlyingCalculators(std::vector<std::shared_ptr<Calculator>> underlyingCalculators) = 0; | ||
/** | ||
* @brief Accessor for the underlying calculators. | ||
* @return std::vector<std::shared_ptr<Calculator>> A vector of underlying calculators. | ||
*/ | ||
virtual std::vector<std::shared_ptr<Calculator>> getUnderlyingCalculators() = 0; | ||
/// @brief Default destructor. | ||
virtual ~EmbeddingCalculator() = default; | ||
|
||
private: | ||
// The underlying calculators. | ||
std::vector<std::shared_ptr<Calculator>> underlyingCalculators_; | ||
}; | ||
|
||
} // namespace Core | ||
} // namespace Scine | ||
|
||
#endif // CORE_CALCULATORWITHREFERENCE_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters