8 #ifndef MMPARAMETRIZATION_FULLHESSIANASSEMBLER_H 
    9 #define MMPARAMETRIZATION_FULLHESSIANASSEMBLER_H 
   22 namespace MMParametrization {
 
   23 struct ParametrizationData;
 
   44   void assembleFullHessianFromSubsystems();
 
   46   void assembleBondContributions();
 
   48   void assembleAngleContributions();
 
   50   void assembleDihedralContributions();
 
   52   void assembleImproperDihedralContributions();
 
   57   void addContributionToSparseHessian(
const std::pair<int, int>& relevantAtoms,
 
   58                                       const std::vector<int>& orderedPotentialCandidatesForHessian);
 
   60   void transferSubblockToSparseHessian(
const Utils::HessianMatrix& subblock, 
int index1, 
int index2);
 
   65   void addNeighboringAtomsToListOfHessianCandidates(std::vector<int>& orderedCandidatesForHessian);
 
   71   std::unique_ptr<FragmentDataDistributor> fragmentDataDistributor_;
 
   77 #endif // MMPARAMETRIZATION_FULLHESSIANASSEMBLER_H 
Assembles the full system's Hessian matrix from the subsystem's Hessians. 
Definition: FullHessianAssembler.h:29
This struct holds all objects used inside the MM parametrization algorithm. 
Definition: ParametrizationData.h:29
void assembleFullHessian()
This function takes all the Hessians from the subsystems and the mapping of the parameters to the sub...
Definition: FullHessianAssembler.cpp:20
FullHessianAssembler(ParametrizationData &data, Core::Log &log)
Constructor. 
Definition: FullHessianAssembler.cpp:16