Changeset a03d25 for src/molecule_fragmentation.cpp
- Timestamp:
- Oct 25, 2011, 12:08:03 PM (14 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, 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_BoundInBox_CenterInBox_MoleculeActions, 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, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, 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:
- f6d1d0
- Parents:
- d9a032
- git-author:
- Frederik Heber <heber@…> (10/18/11 11:53:21)
- git-committer:
- Frederik Heber <heber@…> (10/25/11 12:08:03)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/molecule_fragmentation.cpp
rd9a032 ra03d25 31 31 #include "Element/periodentafel.hpp" 32 32 #include "Fragmentation/fragmentation_helpers.hpp" 33 #include "Fragmentation/UniqueFragments.hpp" 33 34 #include "Graph/BondGraph.hpp" 34 35 #include "Graph/CheckAgainstAdjacencyFile.hpp" … … 732 733 DoLog(0) && (Log() << Verbose(0) << (*runner) << " "); 733 734 DoLog(0) && (Log() << Verbose(0) << endl); 734 InsertFragmentIntoGraph(FragmentSearch);735 FragmentSearch->InsertFragmentIntoGraph(); 735 736 } 736 737 … … 769 770 DoLog(0) && (Log() << Verbose(0) << "Begin of PowerSetGenerator with order " << Order << " at Root " << *FragmentSearch.Root << "." << endl); 770 771 771 SetSPList(Order, FragmentSearch);772 FragmentSearch.SetSPList(Order); 772 773 773 774 // do a BFS search to fill the SP lists and label the found vertices 774 F illSPListandLabelVertices(Order, FragmentSearch, this, RestrictedKeySet);775 FragmentSearch.FillSPListandLabelVertices(Order, RestrictedKeySet); 775 776 776 777 // outputting all list for debugging 777 OutputSPList(Order, FragmentSearch);778 FragmentSearch.OutputSPList(Order); 778 779 779 780 // creating fragments with the found edge sets (may be done in reverse order, faster) 780 int SP = CountNumbersInBondsList(Order, FragmentSearch);781 int SP = FragmentSearch.CountNumbersInBondsList(Order); 781 782 DoLog(0) && (Log() << Verbose(0) << "Total number of edges is " << SP << "." << endl); 782 783 if (SP >= (Order-1)) { … … 804 805 805 806 // free'ing the bonds lists 806 ResetSPList(Order, FragmentSearch);807 FragmentSearch.ResetSPList(Order); 807 808 808 809 // return list … … 856 857 } 857 858 858 // initialise the fragments structure 859 FragmentSearch.FragmentCounter = 0; 860 FragmentSearch.FragmentSet = new KeySet; 861 FragmentSearch.Root = FindAtom(RootKeyNr); 862 FragmentSearch.ShortestPathList = new int[getAtomCount()]; 863 for (int i=getAtomCount();i--;) { 864 FragmentSearch.ShortestPathList[i] = -1; 865 } 859 FragmentSearch.Init(FindAtom(RootKeyNr), getAtomCount()); 866 860 867 861 // Construct the complete KeySet which we need for topmost level only (but for all Roots) … … 890 884 891 885 // initialise Order-dependent entries of UniqueFragments structure 892 InitialiseSPList(Order, FragmentSearch);886 FragmentSearch.InitialiseSPList(Order); 893 887 894 888 // allocate memory for all lower level orders in this 1D-array of ptrs … … 924 918 925 919 // free Order-dependent entries of UniqueFragments structure for next loop cycle 926 Fr eeSPList(Order, FragmentSearch);920 FragmentSearch.FreeSPList(Order); 927 921 } 928 922 } … … 932 926 933 927 // cleanup FragmentSearch structure 934 delete[](FragmentSearch.ShortestPathList); 935 delete(FragmentSearch.FragmentSet); 928 FragmentSearch.Cleanup(); 936 929 937 930 // now, FragmentLowerOrdersList is complete, it looks - for BondOrder 5 - as this (number is the ANOVA Order of the terms therein)
Note:
See TracChangeset
for help on using the changeset viewer.