Changeset 2dd305 for src


Ignore:
Timestamp:
Dec 14, 2012, 5:39:42 PM (12 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:
79398d
Parents:
bfbd4a
git-author:
Frederik Heber <heber@…> (09/28/12 10:31:51)
git-committer:
Frederik Heber <heber@…> (12/14/12 17:39:42)
Message:

Split FragmentResults functionality in cstor into cstor and operator().

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/FragmentationAction/FragmentationAutomationAction.cpp

    rbfbd4a r2dd305  
    402402  HomologyContainer::container_t values;
    403403  const size_t FragmentCounter = results.Result_perIndexSet_Energy.size();
    404   KeySetsContainer KeySet;
    405   parseKeySetFile(KeySet, KeySetFilename, FragmentCounter, NonHydrogenKeySets);
    406   KeySetsContainer ForceKeySet;
    407   parseKeySetFile(ForceKeySet, KeySetFilename, FragmentCounter, HydrogenKeySets);
    408404
    409405  // convert KeySetContainer to IndexSetContainer
    410   IndexSetContainer::ptr Container(new IndexSetContainer(KeySet));
    411   IndexSetContainer::ptr ForceContainer(new IndexSetContainer(ForceKeySet));
    412   const IndexSetContainer::Container_t Indices = Container->getContainer();
    413   const IndexSetContainer::Container_t ForceIndices = ForceContainer->getContainer();
     406  IndexSetContainer::ptr ForceContainer(new IndexSetContainer(results.getForceKeySet()));
     407  const IndexSetContainer::Container_t &Indices = results.getContainer();
     408  const IndexSetContainer::Container_t &ForceIndices = ForceContainer->getContainer();
    414409  IndexSetContainer::Container_t::const_iterator iter = Indices.begin();
    415410  IndexSetContainer::Container_t::const_iterator forceiter = ForceIndices.begin();
     
    542537      fragmentData,
    543538      longrangeData,
     539      params.path.get());
     540  results(
     541      fragmentData,
     542      longrangeData,
    544543      fullsolutionData,
    545       params.path.get(),
    546       getNoAtomsFromAdjacencyFile(params.path.get()),
    547544      full_sample);
    548 
    549545  {
    550546    LOG(1, "INFO: Parsing fragment files from " << params.path.get() << ".");
  • src/Fragmentation/Automation/FragmentationResults.cpp

    rbfbd4a r2dd305  
    6262    const std::map<JobId_t,MPQCData> &fragmentData,
    6363    std::map<JobId_t,VMGData> &longrangeData,
    64     const std::vector<VMGData> &fullsolutionData,
    65     const std::string &KeySetFilename,
    66     const size_t NoAtoms,
    67     const std::vector<SamplingGrid> &full_sample)
     64    const std::string &KeySetFilename)
    6865{
    6966  // create lookup from job nr to fragment number
    7067  size_t MPQCFragmentCounter = 0;
    7168  const std::vector<JobId_t> mpqcjobids = extractJobIds<MPQCData>(fragmentData);
    72   const std::map< JobId_t, size_t > MPQCMatrixNrLookup =
     69  MPQCMatrixNrLookup =
    7370      createMatrixNrLookup(mpqcjobids, MPQCFragmentCounter);
    7471
    7572  size_t VMGFragmentCounter = 0;
    7673  const std::vector<JobId_t> vmgjobids = extractJobIds<VMGData>(longrangeData);
    77   const std::map< JobId_t, size_t > VMGMatrixNrLookup =
     74  VMGMatrixNrLookup =
    7875      createMatrixNrLookup(vmgjobids, VMGFragmentCounter);
    7976
    8077  // initialise keysets
    81   KeySetsContainer KeySet;
    8278  parseKeySetFile(KeySet, KeySetFilename, MPQCFragmentCounter, NonHydrogenKeySets);
    83   KeySetsContainer ForceKeySet;
    8479  parseKeySetFile(ForceKeySet, KeySetFilename, MPQCFragmentCounter, HydrogenKeySets);
    8580
     
    8782
    8883  // convert KeySetContainer to IndexSetContainer
    89   IndexSetContainer::ptr container(new IndexSetContainer(KeySet));
     84  container.reset(new IndexSetContainer(KeySet));
    9085  // create the map of all keysets
    91   SubsetMap::ptr subsetmap(new SubsetMap(*container));
    92 
     86  subsetmap.reset(new SubsetMap(*container));
     87}
     88
     89void FragmentationResults::operator()(
     90    const std::map<JobId_t,MPQCData> &fragmentData,
     91    std::map<JobId_t,VMGData> &longrangeData,
     92    const std::vector<VMGData> &fullsolutionData,
     93    const std::vector<SamplingGrid> &full_sample)
     94{
    9395  MaxLevel = subsetmap->getMaximumSetLevel();
    9496  LOG(1, "INFO: Summing up results till level " << MaxLevel << ".");
  • src/Fragmentation/Automation/FragmentationResults.hpp

    rbfbd4a r2dd305  
    2121#include "JobMarket/types.hpp"
    2222
     23#include "Fragmentation/KeySetsContainer.hpp"
    2324#include "Fragmentation/Summation/IndexSet.hpp"
     25#include "Fragmentation/Summation/IndexSetContainer.hpp"
     26#include "Fragmentation/Summation/SubsetMap.hpp"
    2427
    2528#include "Jobs/MPQCData.hpp"
     
    5356      const std::map<JobId_t,MPQCData> &fragmentData,
    5457      std::map<JobId_t,VMGData> &longrangeData,
     58      const std::string &KeySetFilename);
     59
     60  void operator()(
     61      const std::map<JobId_t,MPQCData> &fragmentData,
     62      std::map<JobId_t,VMGData> &longrangeData,
    5563      const std::vector<VMGData> &fullsolutionData,
    56       const std::string &KeySetFilename,
    57       const size_t NoAtoms,
    5864      const std::vector<SamplingGrid> &full_sample);
    5965
     
    6268  }
    6369
     70  IndexSetContainer::Container_t getContainer() const {
     71    return container->getContainer();
     72  }
     73
     74  const KeySetsContainer& getKeySet() const {
     75    return KeySet;
     76  }
     77
     78  const KeySetsContainer& getForceKeySet() const {
     79    return ForceKeySet;
     80  }
     81
     82private:
     83  std::map< JobId_t, size_t > MPQCMatrixNrLookup;
     84  std::map< JobId_t, size_t > VMGMatrixNrLookup;
     85  KeySetsContainer KeySet;
     86  KeySetsContainer ForceKeySet;
     87  IndexSetContainer::ptr container;
     88  SubsetMap::ptr subsetmap;
     89
     90public:
    6491  //!> results per level of summed up energy
    6592  std::vector<MPQCDataEnergyMap_t> Result_Energy_fused;
Note: See TracChangeset for help on using the changeset viewer.