Changeset bd6e5c for src/Fragmentation
- Timestamp:
- May 18, 2016, 10:02:06 PM (9 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- d713ce
- Parents:
- d45ed9
- git-author:
- Frederik Heber <heber@…> (03/07/16 13:44:02)
- git-committer:
- Frederik Heber <heber@…> (05/18/16 22:02:06)
- Location:
- src/Fragmentation
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/AtomFragmentsMap.cpp
rd45ed9 rbd6e5c 54 54 const KeySet &keyset = keysetiter->first; 55 55 LOG(2, "DEBUG: Current keyset is " << keyset); 56 const AtomIdSet atoms(keyset); 57 const size_t atoms_size = atoms.getAtomIds().size(); 58 if ((atoms_size > _MaxOrder) || (atoms_size == 0)) 56 if ((keyset.size() > _MaxOrder) || (keyset.empty())) 59 57 continue; 60 for ( AtomIdSet::const_iterator atomiter = atoms.begin();61 atomiter != atoms.end(); ++atomiter) {58 for (KeySet::const_iterator keyiter = keyset.begin(); 59 keyiter != keyset.end(); ++keyiter) { 62 60 // either create new list ... 63 61 std::pair<AtomFragmentsMap_t::iterator, bool> inserter = 64 atommap.insert( std::make_pair(* atomiter, keysets_t(1, &keyset) ));62 atommap.insert( std::make_pair(*keyiter, keysets_t(1, keyset) )); 65 63 // ... or push to end 66 64 if (inserter.second) { … … 68 66 } else { 69 67 LOG(3, "DEBUG: Added keyset to present entry."); 70 inserter.first->second.push_back( &keyset);68 inserter.first->second.push_back(keyset); 71 69 } 72 70 } -
src/Fragmentation/AtomFragmentsMap.hpp
rd45ed9 rbd6e5c 18 18 #include <map> 19 19 20 class atom; 20 #include "types.hpp" 21 21 22 class KeySet; 22 23 class Graph; … … 33 34 size_t _MaxOrder); 34 35 35 typedef std::list< const KeySet *> keysets_t;36 typedef std::list<KeySet> keysets_t; 36 37 //!> typedef for the internal map 37 typedef std::map< const atom *, keysets_t> AtomFragmentsMap_t;38 typedef std::map<atomId_t, keysets_t> AtomFragmentsMap_t; 38 39 39 40 const AtomFragmentsMap_t& getMap() const -
src/Fragmentation/Interfragmenter.cpp
rd45ed9 rbd6e5c 107 107 for (candidates_t::const_iterator candidateiter = _candidates.begin(); 108 108 candidateiter != _candidates.end(); ++candidateiter) { 109 const atom * _atom = *candidateiter;110 atomkeyset_t::const_iterator iter = _atomkeyset.find( _atom);109 const atomId_t atomid = (*candidateiter)->getId(); 110 atomkeyset_t::const_iterator iter = _atomkeyset.find(atomid); 111 111 ASSERT( iter != _atomkeyset.end(), 112 112 "Interfragmenter::getAtomSpecificKeySetMap() - could not find atom " 113 +toString( _atom->getId())+" in lookup.");114 fragmentmap.insert( std::make_pair( _atom, iter->second) );113 +toString(atomid)+" in lookup."); 114 fragmentmap.insert( std::make_pair( atomid, iter->second) ); 115 115 } 116 116 LOG(4, "DEBUG: Copied part of lookup map contains " << fragmentmap.size() << " keys."); … … 122 122 const size_t _MaxOrder, 123 123 const candidates_t &_candidates, 124 atomkeyset_t &_fragmentmap,124 const atomkeyset_t &_fragmentmap, 125 125 const KeySet &_keyset, 126 126 Graph &_InterFragments, … … 131 131 const atom *_atom = *candidateiter; 132 132 LOG(3, "DEBUG: Current candidate is " << *_atom << "."); 133 atomkeyset_t:: iterator finditer = _fragmentmap.find(_atom);133 atomkeyset_t::const_iterator finditer = _fragmentmap.find(_atom->getId()); 134 134 ASSERT( finditer != _fragmentmap.end(), 135 135 "Interfragmenter::combineFragments() - could not find atom " 136 136 +toString(_atom->getId())+" in fragment specific lookup."); 137 keysets_t &othersets = finditer->second; 137 // copy set to allow erase 138 keysets_t othersets(finditer->second); 138 139 ASSERT( !othersets.empty(), 139 140 "Interfragmenter::combineFragments() - keysets to "+toString(_atom->getId())+ … … 141 142 keysets_t::iterator otheriter = othersets.begin(); 142 143 while (otheriter != othersets.end()) { 143 const KeySet &otherset = * *otheriter;144 const KeySet &otherset = *otheriter; 144 145 LOG(3, "DEBUG: Current keyset is " << otherset << "."); 145 146 // only add them one way round and not the other -
src/Fragmentation/Interfragmenter.hpp
rd45ed9 rbd6e5c 114 114 const size_t _MaxOrder, 115 115 const candidates_t &_candidates, 116 atomkeyset_t &_fragmentmap,116 const atomkeyset_t &_fragmentmap, 117 117 const KeySet &_keyset, 118 118 Graph &_InterFragments,
Note:
See TracChangeset
for help on using the changeset viewer.