8 #ifndef MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H
9 #define MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H
20 namespace StructurePreparation {
26 namespace ExternalQC {
27 class TurbomoleMainOutputParser;
31 namespace MMParametrization {
32 struct ParametrizationData;
33 struct TitrationResults;
35 namespace ReferenceCalculationsIO {
43 void writeXyzFiles(ParametrizationData& data, std::string referenceDataDir, std::shared_ptr<Utils::Settings> settings);
49 void readReferenceDataFromFiles(ParametrizationData& data, TitrationResults& titrationResults,
50 std::string referenceDataDir, std::shared_ptr<Utils::Settings> settings, Core::Log& log);
56 Utils::ExternalQC::TurbomoleMainOutputParser getPreparedTurbomoleParser(
const std::string& referenceDataDir,
int fragmentIndex);
61 void writeAdditionalDataForTitration(ParametrizationData& data,
int fragmentIndex,
int criticalAtomIndex,
62 std::string referenceDataDir, std::shared_ptr<Utils::Settings> settings);
66 void saveAdditionalStructuresForTitration(ParametrizationData& data, TitrationResults& results,
int fragmentIndex,
67 std::string referenceDataDir);
71 void parseElectronicEnergiesForTitration(ParametrizationData& data, TitrationResults& results,
int fragmentIndex,
72 std::string referenceDataDir,
bool parseTurbomoleOutput,
73 std::shared_ptr<Utils::Settings> settings);
80 void writeConstrainedAtomsFile(
const std::vector<int>& constrainedAtoms, std::string& constrainedAtomsFile);
82 static constexpr
const char* nonRefStateDir =
"non_ref_state";
87 #endif // MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H