Ignore:
Timestamp:
Oct 25, 2011, 12:08:03 PM (14 years ago)
Author:
Frederik Heber <heber@…>
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)
Message:

Placed all routines working on UniqueFragments struct inside this class.

  • changed struct to class.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/molecule_fragmentation.cpp

    rd9a032 ra03d25  
    3131#include "Element/periodentafel.hpp"
    3232#include "Fragmentation/fragmentation_helpers.hpp"
     33#include "Fragmentation/UniqueFragments.hpp"
    3334#include "Graph/BondGraph.hpp"
    3435#include "Graph/CheckAgainstAdjacencyFile.hpp"
     
    732733          DoLog(0) && (Log() << Verbose(0) << (*runner) << " ");
    733734        DoLog(0) && (Log() << Verbose(0) << endl);
    734         InsertFragmentIntoGraph(FragmentSearch);
     735        FragmentSearch->InsertFragmentIntoGraph();
    735736      }
    736737
     
    769770  DoLog(0) && (Log() << Verbose(0) << "Begin of PowerSetGenerator with order " << Order << " at Root " << *FragmentSearch.Root << "." << endl);
    770771
    771   SetSPList(Order, FragmentSearch);
     772  FragmentSearch.SetSPList(Order);
    772773
    773774  // do a BFS search to fill the SP lists and label the found vertices
    774   FillSPListandLabelVertices(Order, FragmentSearch, this, RestrictedKeySet);
     775  FragmentSearch.FillSPListandLabelVertices(Order, RestrictedKeySet);
    775776
    776777  // outputting all list for debugging
    777   OutputSPList(Order, FragmentSearch);
     778  FragmentSearch.OutputSPList(Order);
    778779
    779780  // 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);
    781782  DoLog(0) && (Log() << Verbose(0) << "Total number of edges is " << SP << "." << endl);
    782783  if (SP >= (Order-1)) {
     
    804805
    805806  // free'ing the bonds lists
    806   ResetSPList(Order, FragmentSearch);
     807  FragmentSearch.ResetSPList(Order);
    807808
    808809  // return list
     
    856857  }
    857858
    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());
    866860
    867861  // Construct the complete KeySet which we need for topmost level only (but for all Roots)
     
    890884
    891885      // initialise Order-dependent entries of UniqueFragments structure
    892       InitialiseSPList(Order, FragmentSearch);
     886      FragmentSearch.InitialiseSPList(Order);
    893887
    894888      // allocate memory for all lower level orders in this 1D-array of ptrs
     
    924918
    925919      // free Order-dependent entries of UniqueFragments structure for next loop cycle
    926       FreeSPList(Order, FragmentSearch);
     920      FragmentSearch.FreeSPList(Order);
    927921    }
    928922  }
     
    932926
    933927  // cleanup FragmentSearch structure
    934   delete[](FragmentSearch.ShortestPathList);
    935   delete(FragmentSearch.FragmentSet);
     928  FragmentSearch.Cleanup();
    936929
    937930  // 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.