Changeset dadc74


Ignore:
Timestamp:
Oct 25, 2011, 12:08:03 PM (13 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:
ba94c5
Parents:
f0674a
git-author:
Frederik Heber <heber@…> (10/20/11 09:02:58)
git-committer:
Frederik Heber <heber@…> (10/25/11 12:08:03)
Message:

Extracted Graph (map of KeySets) into own class from graph.hpp.

Location:
src
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/BondsPerShortestPath.hpp

    rf0674a rdadc74  
    1717#include <vector>
    1818
    19 #include "graph.hpp"
    20 
    2119class atom;
    2220class bond;
     21class KeySet;
    2322
    2423class BondsPerShortestPath
  • src/Fragmentation/Fragmentation.cpp

    rf0674a rdadc74  
    2929#include "Element/periodentafel.hpp"
    3030#include "Fragmentation/fragmentation_helpers.hpp"
     31#include "Fragmentation/Graph.hpp"
    3132#include "Fragmentation/KeySet.hpp"
    3233#include "Fragmentation/PowerSetGenerator.hpp"
  • src/Fragmentation/Fragmentation.hpp

    rf0674a rdadc74  
    1616#include <string>
    1717
    18 #include "graph.hpp"
    1918#include "Graph/DepthFirstSearchAnalysis.hpp"
    2019
     20#include "graph.hpp"
     21
    2122class atom;
     23class Graph;
    2224class KeySet;
    2325class molecule;
  • src/Fragmentation/Makefile.am

    rf0674a rdadc74  
    88        Fragmentation/Fragmentation.cpp \
    99        Fragmentation/fragmentation_helpers.cpp \
     10        Fragmentation/Graph.cpp \
    1011        Fragmentation/helpers.cpp \
    1112        Fragmentation/HessianMatrix.cpp \
     
    2324        Fragmentation/Fragmentation.hpp \
    2425        Fragmentation/fragmentation_helpers.hpp \
     26        Fragmentation/Graph.hpp \
     27        Fragmentation/helpers.cpp \
    2528        Fragmentation/helpers.hpp \
    2629        Fragmentation/HessianMatrix.hpp \
  • src/Fragmentation/PowerSetGenerator.hpp

    rf0674a rdadc74  
    1818
    1919#include "Fragmentation/BondsPerShortestPath.hpp"
    20 #include "graph.hpp"
    2120
    2221class bond;
    23 class UniqueFragment;
     22class UniqueFragments;
    2423
    2524class PowerSetGenerator
  • src/Fragmentation/UniqueFragments.cpp

    rf0674a rdadc74  
    2727#include "Bond/bond.hpp"
    2828#include "Element/element.hpp"
     29#include "Fragmentation/Graph.hpp"
    2930#include "Fragmentation/KeySet.hpp"
    3031#include "graph.hpp"
  • src/Fragmentation/UniqueFragments.hpp

    rf0674a rdadc74  
    1717#include <vector>
    1818
    19 #include "graph.hpp"
    20 
    2119class atom;
    2220class bond;
    2321class config;
     22class Graph;
     23class KeySet;
    2424
    2525/** Structure containing all values in power set combination generation.
  • src/Fragmentation/fragmentation_helpers.cpp

    rf0674a rdadc74  
    2929#include "Bond/bond.hpp"
    3030#include "Element/element.hpp"
     31#include "Fragmentation/Graph.hpp"
    3132#include "Fragmentation/KeySet.hpp"
     33#include "graph.hpp"
    3234#include "Helpers/defs.hpp"
    3335#include "Helpers/helpers.hpp"
     
    457459    for(int i=0;i<NumLevels;i++) {
    458460      if (FragmentLowerOrdersList[RootNr][i] != NULL) {
    459         InsertGraphIntoGraph(*FragmentList, (*FragmentLowerOrdersList[RootNr][i]), &counter);
     461        (*FragmentList).InsertGraph((*FragmentLowerOrdersList[RootNr][i]), &counter);
    460462      }
    461463    }
  • src/Fragmentation/fragmentation_helpers.hpp

    rf0674a rdadc74  
    2222
    2323class bond;
     24class Graph;
     25class KeySet;
    2426class molecule;
    2527
  • src/graph.cpp

    rf0674a rdadc74  
    9191//};
    9292
    93 /** Inserts each KeySet in \a graph2 into \a graph1.
    94  * \param *out output stream for debugging
    95  * \param graph1 first (dest) graph
    96  * \param graph2 second (source) graph
    97  * \param *counter keyset counter that gets increased
    98  */
    99 void InsertGraphIntoGraph(Graph &graph1, Graph &graph2, int *counter)
    100 {
    101   GraphTestPair testGraphInsert;
    102 
    103   for(Graph::iterator runner = graph2.begin(); runner != graph2.end(); runner++) {
    104     testGraphInsert = graph1.insert(GraphPair ((*runner).first,pair<int,double>((*counter)++,((*runner).second).second)));  // store fragment number and current factor
    105     if (testGraphInsert.second) {
    106       DoLog(2) && (Log() << Verbose(2) << "KeySet " << (*counter)-1 << " successfully inserted." << endl);
    107     } else {
    108       DoLog(2) && (Log() << Verbose(2) << "KeySet " << (*counter)-1 << " failed to insert, present fragment is " << ((*(testGraphInsert.first)).second).first << endl);
    109       ((*(testGraphInsert.first)).second).second += (*runner).second.second;
    110       DoLog(2) && (Log() << Verbose(2) << "New factor is " << (*(testGraphInsert.first)).second.second << "." << endl);
    111     }
    112   }
    113 };
    114 
  • src/graph.hpp

    rf0674a rdadc74  
    1818#include <deque>
    1919#include <map>
    20 #include <set>
    21 #include <list>
    2220
    2321/****************************************** forward declarations *****************************/
    24 
    25 class atom;
    26 class bond;
    27 class config;
    28 class molecule;
    29 
    30 class SubGraph;
    31 class Node;
    32 class Edge;
    33 class KeySet;
    34 class UniqueFragments;
    3522
    3623/********************************************** definitions *********************************/
     
    4027
    4128typedef std::deque<int> KeyStack;
    42 typedef std::pair<int, double> NumberValuePair;
    43 
    44 
    45 typedef std::map <KeySet, NumberValuePair > Graph;
    46 typedef std::pair <KeySet, NumberValuePair > GraphPair;
    47 typedef std::pair<Graph::iterator, bool> GraphTestPair;
    48 
    49 
    50 /******************************** Some small functions and/or structures **********************************/
    51 
    52 //bool operator < (KeySet SubgraphA, KeySet SubgraphB);   //note: this declaration is important, otherwise normal < is used (producing wrong order)
    53 void InsertGraphIntoGraph(Graph &graph1, Graph &graph2, int *counter);  // Insert all KeySet's in a Graph into another Graph
    54 
    55 
    56 /********************************************** declarations *******************************/
    57 
    58 ///** Graph class containing the graphs behind molecules.
    59 // */
    60 //class Graph
    61 //{
    62 //      NodeMap ListOfNodes;            //!< tree-list of all nodes in this graph
    63 //      EdgeMap ListOfEdges;            //!< tree-multi-list of all nodes, referenced to node id
    64 //};
    65 //
    66 ///** Class describing subgraphs of the Class \a Graph.
    67 // * SubGraph has its own node and edge lists, however also a pointer to its father graph
    68 // * and hence access to its list as well.
    69 // */
    70 //class SubGraph : class Graph
    71 //{
    72 //      class Graph *FatherGraph;               //!< Graph whose subgraph we are
    73 //};
    74 //
    75 ///** Class containing the nodes of a graph.
    76 // */
    77 //class Node
    78 //{
    79 //      int     id;                             //!< individual id of the node
    80 //      char *Name;             //!< Name of the node for pretty printing
    81 //};
    82 //
    83 ///** Class containing egdes in a Graph strructure.
    84 // */
    85 //class Edge
    86 //{
    87 //      class Node *leftnode;           //!< pointer to first node
    88 //      class Node *atomnode;           //!< pointer to second node
    89 //};
    90 
    91 
    9229
    9330#endif /*GRAPH_HPP_*/
  • src/molecule.hpp

    rf0674a rdadc74  
    4343class element;
    4444class ForceMatrix;
     45class Graph;
    4546class LinkedCell;
    4647class molecule;
  • src/moleculelist.cpp

    rf0674a rdadc74  
    3333#include "config.hpp"
    3434#include "Element/element.hpp"
     35#include "Fragmentation/Graph.hpp"
    3536#include "Fragmentation/KeySet.hpp"
    3637#include "Graph/BondGraph.hpp"
Note: See TracChangeset for help on using the changeset viewer.