Ignore:
Timestamp:
Jul 14, 2014, 11:16:23 AM (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, Candidate_v1.7.0, Candidate_v1.7.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:
2a03b0
Parents:
c73e35 (diff), a61dbb (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'Fragmentation_Automation_wo_JobMarket' into stable

Conflicts:

src/Actions/ActionQueue.cpp
src/Actions/FragmentationAction/FragmentationAction.cpp
src/Actions/PotentialAction/FitParticleChargesAction.cpp

Location:
src/Fragmentation/Automation
Files:
5 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Automation/MPQCFragmentController.cpp

    rc73e35 rd8821e  
    5757    )
    5858{
     59  bool status = true;
    5960  // give them all valid ids
    6061  std::vector<FragmentJob::ptr> newjobs = FragmentJobQueue::getInstance().getJobs();
     
    6566    job->DoLongrange = _DoLongrange;
    6667    job->DoValenceOnly = _DoValenceOnly;
    67     changeJobId((*jobiter), getAvailableId());
     68    JobId_t id = getAvailableId();
     69    if (id == FragmentJob::IllegalJob) {
     70      status = false;
     71      break;
     72    }
     73    changeJobId((*jobiter), id);
    6874  }
    6975  // add the jobs
    7076  addJobs(newjobs);
     77  status &= (newjobs.size() != 0);
    7178
    72   return (newjobs.size() != 0);
     79  return status;
    7380}
    7481
  • src/Fragmentation/Automation/MPQCFragmentController.hpp

    rc73e35 rd8821e  
    7070private:
    7171  //!> type-specific result container
    72   SpecificFragmentController::ResultContainer<MPQCData> results;
     72  SpecificFragmentController::ReceiveResultContainer<MPQCData> results;
    7373};
    7474
  • src/Fragmentation/Automation/Makefile.am

    rc73e35 rd8821e  
    44FRAGMENTATIONAUTOMATIONSOURCE = \
    55        Fragmentation/Automation/FragmentJobQueue.cpp \
     6        Fragmentation/Automation/MPQCCommandFragmentController.cpp
     7
     8if CONDJOBMARKET
     9FRAGMENTATIONAUTOMATIONSOURCE += \
    610        Fragmentation/Automation/MPQCFragmentController.cpp \
    711        Fragmentation/Automation/SpecificFragmentController.cpp
     
    1317endif
    1418
     19endif
     20
    1521FRAGMENTATIONAUTOMATIONHEADER = \
    1622        Fragmentation/Automation/FragmentJobQueue.hpp \
     23        Fragmentation/Automation/MPQCCommandFragmentController.hpp \
     24        Fragmentation/Automation/ResultContainer.hpp \
     25        Fragmentation/Automation/ResultContainer_impl.hpp
     26
     27if CONDJOBMARKET
     28FRAGMENTATIONAUTOMATIONHEADER += \
    1729        Fragmentation/Automation/MPQCFragmentController.hpp \
    1830        Fragmentation/Automation/SpecificFragmentController.hpp \
    19         Fragmentation/Automation/SpecificFragmentController_ResultContainer_impl.hpp
     31        Fragmentation/Automation/SpecificFragmentController_ReceiveResultContainer_impl.hpp
    2032       
    2133if CONDVMG
     
    2335        Fragmentation/Automation/VMGDebugGridFragmentController.hpp \
    2436        Fragmentation/Automation/VMGFragmentController.hpp
     37endif
    2538endif
    2639
  • src/Fragmentation/Automation/SpecificFragmentController.hpp

    rc73e35 rd8821e  
    2323#include <string>
    2424#include <vector>
     25
     26#include "Fragmentation/Automation/ResultContainer.hpp"
    2527
    2628/** This class extends FragmentController by some commodity functions used
     
    5860   * This struct takes of the waiting.
    5961   *
     62   * We extend ResultContainer by functions to receive results from a
     63   * JobMarket server.
     64   *
    6065   */
    6166  template <typename T>
    62   struct ResultContainer {
     67  struct ReceiveResultContainer : public ResultContainer<T> {
    6368    /** cycle to wait for results
    6469     *
     
    7883     */
    7984    size_t receiveResults(SpecificFragmentController &callback);
    80 
    81     /** Extracts specific Data type from received vector of FragmentResults.
    82      *
    83      * @param results results to extract specific Data type from
    84      * @param fragmentData on return array filled with extracted specific Data type
    85      */
    86     void ConvertFragmentResultTo(
    87         const std::vector<FragmentResult::ptr> &results,
    88         std::vector<T> &fragmentData);
    89 
    90     /** Clears all internally stored results.
    91      *
    92      */
    93     void clear()
    94     { IdData.clear(); }
    95 
    96     //!> internal container for the received data
    97     std::map<JobId_t, T> IdData;
    9885  };
    9986
     
    10996};
    11097
    111 #include "SpecificFragmentController_ResultContainer_impl.hpp"
     98#include "SpecificFragmentController_ReceiveResultContainer_impl.hpp"
    11299
    113100#endif /* SPECIFICFRAGMENTCONTROLLER_HPP_ */
  • src/Fragmentation/Automation/VMGDebugGridFragmentController.hpp

    rc73e35 rd8821e  
    5555private:
    5656  //!> type-specific result container
    57   SpecificFragmentController::ResultContainer<std::string> results;
     57  SpecificFragmentController::ReceiveResultContainer<std::string> results;
    5858};
    5959
  • src/Fragmentation/Automation/VMGFragmentController.hpp

    rc73e35 rd8821e  
    8989private:
    9090  //!> type-specific result container
    91   SpecificFragmentController::ResultContainer<VMGData> results;
     91  SpecificFragmentController::ReceiveResultContainer<VMGData> results;
    9292};
    9393
Note: See TracChangeset for help on using the changeset viewer.