8 #ifndef SWOOSE_QMMM_QMMMDATABASEHELPER_H
9 #define SWOOSE_QMMM_QMMMDATABASEHELPER_H
11 #include <Database/Manager.h>
13 #include <yaml-cpp/yaml.h>
14 #include <Eigen/Dense>
27 class BondOrderCollection;
38 using ForcesCollection = Eigen::Matrix<double, Eigen::Dynamic, 3, Eigen::RowMajor>;
51 const std::vector<QmmmModel>& qmmmReferenceModels,
const QmmmData& qmmmData,
62 std::string getParametersAsString()
const;
64 bool submitCalculation(
const QmmmModel& qmmmModel,
const Database::ID& structureID,
int qmmmModelIndex,
65 std::shared_ptr<Database::Collection> calculations,
double symmetryScore = 0.0,
66 double maxAllowedSymmetryScore = 0.0);
68 std::vector<ForcesCollection> collectCalculationResults(std::shared_ptr<Database::Collection> calculations,
69 std::shared_ptr<Database::Collection> structures,
70 std::shared_ptr<Database::Collection> properties);
76 std::unique_ptr<Database::Manager> database_;
78 const std::vector<QmmmModel>& qmmmModelCandidates_;
80 const std::vector<QmmmModel>& qmmmReferenceModels_;
96 #endif // SWOOSE_QMMM_QMMMDATABASEHELPER_H
QmmmDatabaseHelper(const Utils::Settings &settings, Core::Log &log, const Utils::AtomCollection &structure, const Utils::BondOrderCollection &bondOrders, const std::vector< QmmmModel > &qmmmModelCandidates, const std::vector< QmmmModel > &qmmmReferenceModels, const QmmmData &qmmmData, const Utils::Settings &calculatorSettings)
Constructor.
Definition: QmmmDatabaseHelper.cpp:29
Definition: QmmmReferenceDataManager.h:36
Holds the information about one QM/MM model: its structure, its QM atom indices, and its charge and s...
Definition: QmRegionSelector.h:31
std::vector< ForcesCollection > calculateForces()
Calculates the forces for the QM/MM candidate and reference models.
Definition: QmmmDatabaseHelper.cpp:63
This class handles the submission and collection of results for QM/MM calculations via the database...
Definition: QmmmDatabaseHelper.h:44