Changeset e6f8b7


Ignore:
Timestamp:
May 2, 2008, 1:35:10 PM (17 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:
3b15bb
Parents:
db942e
Message:

commenting in header changed for the four main functions that basically do the fragmentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/molecules.cpp

    rdb942e re6f8b7  
    20462046
    20472047/** Performs a many-body bond order analysis for a given bond order.
    2048  * Writes for each fragment a config file.
     2048 * -# parses adjacency, keysets and orderatsite files
     2049 * -# performs DFS to find connected subgraphs (to leave this in was a design decision: might be useful later)
     2050 * -# RootStack is created for every subgraph (here, later we implement the "update 10 sites with highest energ
     2051y contribution", and that's why this consciously not done in the following loop)
     2052 * -# in a loop over all subgraphs
     2053 *  -# calls FragmentBOSSANOVA with this RootStack and within the subgraph molecule structure
     2054 *  -# creates molecule (fragment)s from the returned keysets (StoreFragmentFromKeySet)
     2055 * -# combines the generated molecule lists from all subgraphs
     2056 * -# saves to disk: fragment configs, adjacency, orderatsite, keyset files
    20492057 * \param *out output stream for debugging
    20502058 * \param Order up to how many neighbouring bonds a fragment contains in BondOrderScheme::BottumUp scheme
     
    29372945
    29382946/** From a given set of Bond sorted by Shortest Path distance, create all possible fragments of size \a SetDimension.
    2939  * This basically involves recursion to create all power set combinations.
     2947 * -# loops over every possible combination (2^dimension of edge set)
     2948 *  -# inserts current set, if there's still space left
     2949 *    -# yes: calls SPFragmentGenerator with structure, created new edge list and size respective to root dist
     2950ance+1
     2951 *    -# no: stores fragment into keyset list by calling InsertFragmentIntoGraph
     2952 *  -# removes all items added into the snake stack (in UniqueFragments structure) added during level (root
     2953distance) and current set
    29402954 * \param *out output stream for debugging
    29412955 * \param FragmentSearch UniqueFragments structure with all values needed
     
    30613075
    30623076/** Creates a list of all unique fragments of certain vertex size from a given graph \a Fragment for a given root vertex in the context of \a this molecule.
     3077 * -# initialises UniqueFragments structure
     3078 * -# fills edge list via BFS
     3079 * -# creates the fragment by calling recursive function SPFragmentGenerator with UniqueFragments structure, 0 as
     3080 root distance, the edge set, its dimension and the current suborder
     3081 * -# Free'ing structure
    30633082 * Note that we may use the fact that the atoms are SP-ordered on the atomstack. I.e. when popping always the last, we first get all
    30643083 * with SP of 2, then those with SP of 3, then those with SP of 4 and so on.
     
    34833502
    34843503/** Performs BOSSANOVA decomposition at selected sites, increasing the cutoff by one at these sites.
     3504 * -# constructs a complete keyset of the molecule
     3505 * -# In a loop over all possible roots from the given rootstack
     3506 *  -# increases order of root site
     3507 *  -# calls PowerSetGenerator with this order, the complete keyset and the rootkeynr
     3508 *  -# for all consecutive lower levels PowerSetGenerator is called with the suborder, the higher order keyset
     3509as the restricted one and each site in the set as the root)
     3510 *  -# these are merged into a fragment list of keysets
     3511 * -# All fragment lists (for all orders, i.e. from all destination fields) are merged into one list for return
    34853512 * Important only is that we create all fragments, it is not important if we create them more than once
    34863513 * as these copies are filtered out via use of the hash table (KeySet).
Note: See TracChangeset for help on using the changeset viewer.