Ignore:
Timestamp:
Nov 4, 2016, 9:37:51 AM (8 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, Automaking_mpqc_open, AutomationFragmentation_failures, 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_ChronosMutex, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, 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_IntegrationTest, 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, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, ThirdParty_MPQC_rebuilt_buildsystem, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, Ubuntu_1604_changes, stable
Children:
ea63cb
Parents:
041a79
git-author:
Frederik Heber <heber@…> (10/04/16 08:06:18)
git-committer:
Frederik Heber <heber@…> (11/04/16 09:37:51)
Message:

FragmentJobQueue additionally stores the bond graph as an edge set per fragment/job.

  • added SaturatedFragment::getEdges() that returns the set of edges, indices rewritten (starting at 0), and hydrogens included, i.e. matching with the lines in the output config.
  • ExportGraph_ToJobs::operator() additionally queries for the edge set and places it in the JobQueue.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Automation/FragmentJobQueue.hpp

    r041a79 r9445081  
    2020#include "CodePatterns/Singleton.hpp"
    2121
     22#include "Fragmentation/EdgesPerFragment.hpp"
    2223#include "Fragmentation/KeySetsContainer.hpp"
    2324#include "Fragmentation/parseKeySetFile.hpp"
    2425#include "Jobs/MPQCJob.hpp"
     26#include "types.hpp"
    2527
    2628/** FragmentJobQueue is a static instance to contain all present fragment
     
    4547
    4648public:
     49  typedef FragmentationEdges::edges_per_fragment_t edges_per_fragment_t;
    4750
    4851  /** Pushes a vector of jobs into the queue.
    4952   *
    5053   * \param _jobs new jobs to push
    51    * \param KeySet KeySet of all (non-hydrogen) atoms
    52    * \param FullKeySet KeySet of all atoms except saturation hydrogens
     54   * \param _KeySet KeySet of all (non-hydrogen) atoms
     55   * \param _FullKeySet KeySet of all atoms except saturation hydrogens
     56   * \param _edges_per_fragment edges of bond graph of all fragments
    5357   */
    5458  void addJobs(
    5559      std::vector<FragmentJob::ptr> &_jobs,
    5660      const KeySetsContainer &_KeySets,
    57       const KeySetsContainer &_FullKeySets);
     61      const KeySetsContainer &_FullKeySets,
     62      const edges_per_fragment_t &_edges_per_fragment);
    5863
    5964  /** Returns ref to jobs.
     
    96101      );
    97102
     103  /** Adds edges after fragments have been added by file.
     104   *
     105   */
     106  bool addEdgesPerFragmentFromFiles(
     107      const boost::filesystem::path &path
     108      );
     109
    98110  /** Getter for the container of all KeySets to the jobs.
    99111   *
     
    107119   */
    108120  const KeySetsContainer& getFullKeySets() const { return FullKeySets; }
     121
     122  /** Getter for the container of all edges of the bond graph over all jobs.
     123   *
     124   * \return const ref to container
     125   */
     126  const edges_per_fragment_t& getEdgesPerFragment() const { return edges_per_fragment; }
    109127
    110128  /* Empties contained jobs and all KeySets.
     
    130148  //!> container for all KeySet's with all except saturation hydrogen to the jobs
    131149  KeySetsContainer FullKeySets;
     150  //!> container for all edges of the bond graph of each fragments
     151  edges_per_fragment_t edges_per_fragment;
    132152};
    133153
     
    136156    std::vector<FragmentJob::ptr> &_jobs,
    137157    const KeySetsContainer &_KeySets,
    138     const KeySetsContainer &_FullKeySets)
     158    const KeySetsContainer &_FullKeySets,
     159    const edges_per_fragment_t &_edges_per_fragment)
    139160{
    140161  jobs.insert(jobs.end(), _jobs.begin(), _jobs.end());
    141162  KeySets.insert(_KeySets);
    142163  FullKeySets.insert(_FullKeySets);
     164  edges_per_fragment.reserve(edges_per_fragment.size()+_edges_per_fragment.size());
     165  edges_per_fragment.insert(
     166      edges_per_fragment.end(),
     167      _edges_per_fragment.begin(), _edges_per_fragment.end());
    143168}
    144169
Note: See TracChangeset for help on using the changeset viewer.