8 #ifndef MMPARAMETRIZATION_DATAMANAGER_H
9 #define MMPARAMETRIZATION_DATAMANAGER_H
18 #include <Eigen/Dense>
19 #include <Eigen/Sparse>
24 namespace MMParametrization {
140 std::string groupType;
141 std::vector<double> eneryOfDeprotonation;
142 std::vector<double> pKas;
147 std::vector<std::string> requiredFunctionalGroups;
153 std::map<int, std::unique_ptr<Utils::HessianMatrix>> vectorOfHessiansForNonRefStates;
158 std::vector<StructurePreparation::TitrableSite>
sites;
159 std::map<int, std::pair<double, double>> electronicEnergies;
161 std::vector<TrainingData> trainingData;
167 #endif // MMPARAMETRIZATION_DATAMANAGER_H
std::map< int, int > unpairedElectrons
A map containing the indices of atoms and the number of unpaired electrons that can be assigned to th...
Definition: ParametrizationData.h:112
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
std::map< int, int > formalCharges
A map containing the indices of atoms and their formal charge in the full system. ...
Definition: ParametrizationData.h:107
std::map< int, std::string > pHSensitiveSites
A map containing the indices of atoms of which the protonation state can be changed and the correspon...
Definition: ParametrizationData.h:117
Utils::AtomCollection fullStructure
The structure of the entire system to parametrize.
Definition: ParametrizationData.h:33
std::vector< std::string > vectorOfAtomTypesForParameter
Vector that holds the atom types of the parameter currently optimized.
Definition: ParametrizationData.h:99
std::vector< std::unique_ptr< Utils::AtomCollection > > vectorOfOptimizedStructures
Vector of unique pointers to molecular structures that represent the optimized subsystems of the para...
Definition: ParametrizationData.h:56
std::vector< std::unique_ptr< Utils::HessianMatrix > > vectorOfHessians
Vector of unique pointers to dense Eigen matrices that represent the Hessians of the subsystems of th...
Definition: ParametrizationData.h:46
std::map< int, std::unique_ptr< Utils::AtomCollection > > vectorOfOptimizedNonRefStructures
Vector of unique pointers to molecular structures that represent the optimized subsystems of the pH s...
Definition: ParametrizationData.h:152
Definition: ParametrizationData.h:139
std::vector< int > superfluousFragments
A vector of fragment indices which are superfluous and for which the reference data does not need to ...
Definition: ParametrizationData.h:136
MolecularMechanics::AtomTypesHolder atomTypes
The atom types.
Definition: ParametrizationData.h:90
std::vector< std::vector< int > > atomIndexMapping
Vector of all fragments containing a vector of indices that correspond to the indices of the atoms in...
Definition: ParametrizationData.h:126
std::vector< std::unique_ptr< Utils::AtomCollection > > vectorOfStructures
Vector of unique pointers to molecular structures that represent the subsystems of the parametrizatio...
Definition: ParametrizationData.h:51
int numberOfAtoms
Number of atoms in the full structure.
Definition: ParametrizationData.h:37
std::vector< std::pair< int, int > > vectorOfHessianSubmatrixIndices
Vector that holds the pairs of atom indices corresponding to the partial Hessian blocks relevant for ...
Definition: ParametrizationData.h:95
Class containing the MM atom types of the atoms in a molecular system.
Definition: AtomTypesHolder.h:21
Definition: ParametrizationData.h:146
std::vector< std::unique_ptr< Utils::BondOrderCollection > > vectorOfBondOrderCollections
Vector of unique pointers to bond order matrices for for each molecular structure representing a subs...
Definition: ParametrizationData.h:66
std::vector< std::pair< int, int > > vectorOfChargesAndMultiplicities
Vector of charge and spin multiplicity pairs for each molecular structure representing a subsystem of...
Definition: ParametrizationData.h:61
MolecularMechanics::SfamParameters parameters
The SFAM molecular mechanics parameters.
Definition: ParametrizationData.h:86
std::vector< std::vector< int > > constrainedAtoms
Contains the indices of the atoms to be constrained during a geometry optimization for each fragment...
Definition: ParametrizationData.h:131
Eigen::SparseMatrix< double > fullHessian
Full Hessian matrix of the system that only contains the subblocks needed for the parametrization pro...
Definition: ParametrizationData.h:41
This struct holds all objects used inside the MM parametrization algorithm.
Definition: ParametrizationData.h:29
std::vector< bool > siteIspHSensitive
A vector that indicates whether a fragment is pH sensitive.
Definition: ParametrizationData.h:121
Utils::BondOrderCollection bondOrders
A bond order matrix of the full system.
Definition: ParametrizationData.h:103
std::vector< std::list< int > > listsOfNeighbors
The connectivity of the system. It is a vector of a list of neighbor atom indices for each atom...
Definition: ParametrizationData.h:78
Class containing the parameters for SFAM's MM model obtained after parsing a SFAM parameter file...
Definition: SfamParameters.h:37
std::vector< std::vector< double > > atomicChargesForEachFragment
Vector that holds the atomic charges for each fragment of the system.
Definition: ParametrizationData.h:74
MolecularMechanics::IndexedStructuralTopology topology
Topology of the system.
Definition: ParametrizationData.h:82
std::vector< double > atomicCharges
Atomic charges for the whole system calculated from fragments.
Definition: ParametrizationData.h:70
std::vector< StructurePreparation::TitrableSite > sites
This map stores a pair of electronic energies (reference state and (charged) non-reference state) cor...
Definition: ParametrizationData.h:158