Changeset 647148
- Timestamp:
- Sep 9, 2016, 8:22:09 AM (8 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, 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_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, GeometryObjects, 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, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, Ubuntu_1604_changes, stable
- Children:
- d33f24
- Parents:
- 27e6a7
- git-author:
- Frederik Heber <heber@…> (09/01/16 14:11:53)
- git-committer:
- Frederik Heber <heber@…> (09/09/16 08:22:09)
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp
r27e6a7 r647148 306 306 const IndexSetContainer::Container_t &Indices = shortrangeresults.getContainer(); 307 307 const IndexSetContainer::Container_t &ForceIndices = ForceContainer->getContainer(); 308 ASSERT( Indices.size() == ForceIndices.size(), 309 "appendToHomologies() - Indices ("+toString(Indices.size()) 310 +") and ForceIndices ("+toString(ForceIndices.size())+") sizes differ."); 308 311 IndexSetContainer::Container_t::const_iterator iter = Indices.begin(); 309 312 IndexSetContainer::Container_t::const_iterator forceiter = ForceIndices.begin(); -
src/Fragmentation/Homology/HomologyGraph_getFromKeyset.cpp
r27e6a7 r647148 52 52 // in all the cludder of World, atom, molecule, and so on ... 53 53 54 template <typename S, typename U> 55 void addNodeToMap(S &_map, std::pair< U, size_t> _pair) { 56 std::pair<typename S::iterator,bool> inserter = 57 _map.insert( _pair ); 58 if (!inserter.second) 59 inserter.first->second += _pair.second; 60 } 61 54 62 template <typename T> 55 63 const HomologyGraph::nodes_t getNodesFromSet(const std::set<T> &keyset) … … 69 77 if (keyset.count(OtherWalker->getId())) 70 78 ++NoBonds; 79 else { 80 // add as many bonds as saturation hydrogens 81 NoBonds += (*bonditer)->getDegree(); 82 // add a saturation node for each, too 83 // LOG(1, "DEBUG: Adding saturation node " << *Walker << "."); 84 addNodeToMap(nodes, std::make_pair(FragmentNode(1, 1), (size_t)1) ); 85 } 71 86 } 72 // LOG( 2, "DEBUG: Adding node " << Walker->getId()<< " with element "87 // LOG(1, "DEBUG: Adding node " << *Walker << " with element " 73 88 // << Walker->getElementNo() << " and " << NoBonds << " bonds."); 74 std::pair<HomologyGraph::nodes_t::iterator,bool> inserter = 75 nodes.insert( std::make_pair(FragmentNode(Walker->getElementNo(), NoBonds), (size_t)1) ); 76 if (!inserter.second) 77 inserter.first->second += (size_t)1; 89 addNodeToMap(nodes, std::make_pair(FragmentNode(Walker->getElementNo(), NoBonds), (size_t)1) ); 78 90 } else { 79 91 ELOG(3, "Skipping id " << *iter << ", is not associated with any atom."); … … 97 109 bonditer != ListOfBonds.end(); ++bonditer) { 98 110 const atom * const OtherWalker = (*bonditer)->GetOtherAtom(Walker); 99 // LOG(2, "DEBUG: Neighbor is " << OtherWalker->getId() << "."); 100 if ((keyset.count(OtherWalker->getId())) && (Walker->getId() < OtherWalker->getId())) { 101 // LOG(1, "DEBUG: Adding edge " << Walker->getId() << " and " << OtherWalker->getId() << "."); 102 std::pair<HomologyGraph::edges_t::iterator,bool> inserter = 103 edges.insert( std::make_pair(FragmentEdge( Walker->getElementNo(), OtherWalker->getElementNo()), (size_t)1) ); 104 if (!inserter.second) 105 inserter.first->second += (size_t)1; 111 // LOG(1, "DEBUG: Neighbor is " << OtherWalker->getId() << "."); 112 if (keyset.count(OtherWalker->getId())) { 113 if (Walker->getId() < OtherWalker->getId()) { 114 // LOG(1, "DEBUG: Adding edge " << Walker->getId() << " and " << OtherWalker->getId() << "."); 115 addNodeToMap(edges, std::make_pair(FragmentEdge( Walker->getElementNo(), OtherWalker->getElementNo()), (size_t)1) ); 116 } 117 } else { // also add edge for each saturation hydrogen 118 const size_t bonddegree = (*bonditer)->getDegree(); 119 // LOG(1, "DEBUG: Adding " << bonddegree << " saturation edge(s) " << Walker->getId() << " and " << OtherWalker->getId() << "."); 120 addNodeToMap(edges, std::make_pair(FragmentEdge( Walker->getElementNo(), 1), bonddegree) ); 106 121 } 107 122 }
Note:
See TracChangeset
for help on using the changeset viewer.