Changeset d6a7b9
- Timestamp:
- Jul 13, 2014, 6:04:51 PM (11 years ago)
- 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:
- 99692c
- Parents:
- 18ed8c
- git-author:
- Frederik Heber <heber@…> (07/12/14 23:05:27)
- git-committer:
- Frederik Heber <heber@…> (07/13/14 18:04:51)
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
configure.ac
r18ed8c rd6a7b9 235 235 AC_MSG_RESULT($enable_jobmarket) 236 236 AS_IF([test x"$enable_jobmarket" != x"no"],[ 237 # JobMarket library (needs priorizing of jobs)238 AM_PATH_JOBMARKET([1.1. 4], $have_debug,[237 # JobMarket library (needs SystemCommandJob with suffix) 238 AM_PATH_JOBMARKET([1.1.5], $have_debug,[ 239 239 # the following is only required if we have JobMarket 240 240 BOOST_ASIO -
src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
r18ed8c rd6a7b9 169 169 const size_t NoJobs = mpqccontroller.addJobsFromQueue( 170 170 params.DoLongrange.get() ? MPQCData::DoSampleDensity : MPQCData::DontSampleDensity, 171 params.DoValenceOnly.get() ? MPQCData::DoSampleValenceOnly : MPQCData::DontSampleValenceOnly 171 params.DoValenceOnly.get() ? MPQCData::DoSampleValenceOnly : MPQCData::DontSampleValenceOnly, 172 params.executable.get().string() 172 173 ); 173 174 LOG(1, "INFO: Added " << NoJobs << " from FragmentJobsQueue."); -
src/Fragmentation/Automation/MPQCCommandFragmentController.cpp
r18ed8c rd6a7b9 61 61 bool MPQCCommandFragmentController::addJobsFromQueue( 62 62 const MPQCData::DoLongrange_t _DoLongrange, 63 const MPQCData::DoValenceOnly_t _DoValenceOnly 63 const MPQCData::DoValenceOnly_t _DoValenceOnly, 64 const std::string &_executable 64 65 ) 65 66 { … … 74 75 #ifndef HAVE_JOBMARKET 75 76 job->setId(getAvailableId()); 77 if (!_executable.empty()) 78 job->setCommand(_executable); 79 job->setSuffix(".in"); 76 80 #endif /* cause we don't inherit from FragmentController */ 77 81 // add the jobs -
src/Fragmentation/Automation/MPQCCommandFragmentController.hpp
r18ed8c rd6a7b9 44 44 * \param _DoSampleDensity whether to actually sample the resulting electronic density 45 45 * \param _DoValenceOnly whether to sample just the valence or the total elctron and nuclei density 46 * \param _command command to pass to jobs for execution 46 47 * \return true - jobs obtained, false - queue empty 47 48 */ 48 49 bool addJobsFromQueue( 49 50 const MPQCData::DoLongrange_t _DoLongrange, 50 const MPQCData::DoValenceOnly_t _DoValenceOnly 51 const MPQCData::DoValenceOnly_t _DoValenceOnly, 52 const std::string &_command 51 53 ); 52 54 -
src/Jobs/JobMarket/SystemCommandJob.cpp
r18ed8c rd6a7b9 77 77 * \param _outputfile configuration file for solver 78 78 * \param _JobId unique id of this job 79 */ 80 SystemCommandJob::SystemCommandJob(const std::string &_command, const std::string &_outputfile, const JobId_t _JobId) : 79 * \param _suffix possible suffix for temporary filenames, may be left empty 80 */ 81 SystemCommandJob::SystemCommandJob( 82 const std::string &_command, 83 const std::string &_outputfile, 84 const JobId_t _JobId, 85 const std::string &_suffix) : 81 86 FragmentJob(_JobId), 82 87 command(_command), 88 suffix(_suffix), 83 89 outputfile(_outputfile) 84 90 {} … … 121 127 "SystemCommandJob::Work() - the temporary file could not be opened."); 122 128 output << outputfile << std::endl; 129 output.close(); 123 130 124 131 // fork into subprocess and launch command … … 163 170 164 171 // close temporary file and remove it 165 output.close();166 172 boost::filesystem::path tmpPath(tmpTemplate); 167 173 if (boost::filesystem::exists(boost::filesystem::status(tmpPath))) { -
src/Jobs/JobMarket/SystemCommandJob.hpp
r18ed8c rd6a7b9 42 42 friend class SystemCommandJobTest; 43 43 public: 44 SystemCommandJob(const std::string &_command, const std::string &_outputfile, const JobId_t _JobId );44 SystemCommandJob(const std::string &_command, const std::string &_outputfile, const JobId_t _JobId, const std::string &_suffix = std::string("")); 45 45 virtual ~SystemCommandJob(); 46 46 … … 53 53 } 54 54 55 private: 55 const std::string& getOutputfile() const { 56 return outputfile; 57 } 58 59 const std::string& getCommand() const { 60 return command; 61 } 62 63 protected: 56 64 virtual FragmentResult::ptr extractResult(const std::string &resultstring); 57 65 58 66 //!> string containing the command to launch the solver 59 67 std::string command; 68 69 //!> suffix to be appended to output file name 70 std::string suffix; 60 71 61 72 //!> string containing the configuration file for the solver -
src/Jobs/MPQCCommandJob.hpp
r18ed8c rd6a7b9 29 29 30 30 class MPQCCommandJobTest; 31 class MPQCCommandFragmentController; 31 32 32 33 /** This class calls mpqc for solving a specific Hartree Fock problem. … … 37 38 //!> grant unit test access 38 39 friend class MPQCCommandJobTest; 40 //!> grant access to controller 41 friend class MPQCCommandFragmentController; 39 42 public: 40 43 MPQCCommandJob(const std::string &_inputfile, const JobId_t _JobId, const std::string &_command = std::string("mpqc")); … … 48 51 49 52 private: 53 //!> Allow controller access to changing the commands 54 void setCommand(const std::string &_command) 55 { command = _command; } 56 57 //!> Allow controller access to changing the suffix 58 void setSuffix(const std::string &_suffix) 59 { suffix = _suffix; } 60 50 61 //!> private default cstor only for serializatio 51 62 MPQCCommandJob();
Note:
See TracChangeset
for help on using the changeset viewer.