Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ReferenceCalculationsIO.h
Go to the documentation of this file.
1 
8 #ifndef MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H
9 #define MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H
10 
11 #include <memory>
12 #include <vector>
13 
14 namespace Scine {
15 
16 namespace Core {
17 struct Log;
18 } // namespace Core
19 
20 namespace StructurePreparation {
21 struct TitrableSite;
22 } // namespace StructurePreparation
23 
24 namespace Utils {
25 class Settings;
26 namespace ExternalQC {
27 class TurbomoleMainOutputParser;
28 } // namespace ExternalQC
29 } // namespace Utils
30 
31 namespace MMParametrization {
32 struct ParametrizationData;
33 struct TitrationResults;
34 
35 namespace ReferenceCalculationsIO {
36 
43 void writeXyzFiles(ParametrizationData& data, std::string referenceDataDir, std::shared_ptr<Utils::Settings> settings);
44 
49 void readReferenceDataFromFiles(ParametrizationData& data, TitrationResults& titrationResults,
50  std::string referenceDataDir, std::shared_ptr<Utils::Settings> settings, Core::Log& log);
51 
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);
81 
82 static constexpr const char* nonRefStateDir = "non_ref_state";
83 } // namespace ReferenceCalculationsIO
84 } // namespace MMParametrization
85 } // namespace Scine
86 
87 #endif // MMPARAMETRIZATION_REFERENCECALCULATIONSIO_H