Changeset 065574
- Timestamp:
- Dec 10, 2012, 10:10:56 AM (12 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:
- de84ef
- Parents:
- 758e56
- git-author:
- Frederik Heber <heber@…> (08/29/12 13:09:08)
- git-committer:
- Frederik Heber <heber@…> (12/10/12 10:10:56)
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
r758e56 r065574 595 595 mpqccontroller.setHost(params.host.get()); 596 596 mpqccontroller.setPort(params.port.get()); 597 mpqccontroller.setLevel(params.level.get()); 597 598 VMGFragmentController vmgcontroller(io_service); 598 599 vmgcontroller.setHost(params.host.get()); … … 633 634 634 635 // Phase Five: create VMGJobs 635 if (!vmgcontroller.createLongRangeJobs(fragmentData, full_sample, full_fragment)) 636 const size_t near_field_cells = params.near_field_cells.get(); 637 if (!vmgcontroller.createLongRangeJobs(fragmentData, full_sample, full_fragment, near_field_cells)) 636 638 return Action::failure; 637 639 -
src/Actions/FragmentationAction/FragmentationAutomationAction.def
r758e56 r065574 13 13 #include "Parameters/Validators/DummyValidator.hpp" 14 14 #include "Parameters/Validators/Ops_Validator.hpp" 15 #include "Parameters/Validators/RangeValidator.hpp" 15 16 #include "Parameters/Validators/STLVectorValidator.hpp" 16 17 #include "Parameters/Validators/Specific/ParserFileValidator.hpp" … … 20 21 // ValueStorage by the token "Z" -> first column: int, Z, "Z" 21 22 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value 22 #define paramtypes (std::vector< boost::filesystem::path >)(std::string)(std::string)(std::string)(boost::filesystem::path)( bool)23 #define paramtokens ("fragment-jobs")("fragment-path")("server-address")("server-port")("fragment-executable")(" DoLongrange")24 #define paramdescriptions ("vector of fragment files")("prefix of each fragment file")("hostname of server")("controller port of server")("executable to launch on clients")(" whether to calculate long-range contributions")25 #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT("127.0.0.1"))(PARAM_DEFAULT("1026"))(NOPARAM_DEFAULT)(PARAM_DEFAULT( "0"))26 #define paramreferences (jobfiles)(path)(host)(port)(executable)( DoLongrange)23 #define paramtypes (std::vector< boost::filesystem::path >)(std::string)(std::string)(std::string)(boost::filesystem::path)(unsigned int)(unsigned int)(bool) 24 #define paramtokens ("fragment-jobs")("fragment-path")("server-address")("server-port")("fragment-executable")("grid-level")("near-field-cells")("DoLongrange") 25 #define paramdescriptions ("vector of fragment files")("prefix of each fragment file")("hostname of server")("controller port of server")("executable to launch on clients")("resolution of multigrid")("number of cells used in smearing out core charge")("whether to calculate long-range contributions") 26 #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT("127.0.0.1"))(PARAM_DEFAULT("1026"))(NOPARAM_DEFAULT)(PARAM_DEFAULT(5))(PARAM_DEFAULT(5))(PARAM_DEFAULT("0")) 27 #define paramreferences (jobfiles)(path)(host)(port)(executable)(level)(near_field_cells)(DoLongrange) 27 28 #define paramvalids \ 28 29 (STLVectorValidator< std::vector< boost::filesystem::path > >(ParserFileValidator() && FilePresentValidator())) \ … … 31 32 (DummyValidator< std::string >()) \ 32 33 (DummyValidator< boost::filesystem::path >()) \ 34 (RangeValidator< unsigned int >(1, 10)) \ 35 (RangeValidator< unsigned int >(0, 20)) \ 33 36 (DummyValidator< bool >()) 34 37 -
src/Fragmentation/Automation/MPQCFragmentController.cpp
r758e56 r065574 48 48 #include "World.hpp" 49 49 50 const int MPQCFragmentController::LEVEL = 5;51 52 50 bool MPQCFragmentController::addJobsFromFiles( 53 51 const std::string &executable, … … 98 96 ASSERT( M.determinant() == size*size*size, 99 97 "parsejob() - current domain matrix "+toString(M)+" is not cubic."); 100 const int level = LEVEL;101 98 FragmentJob::ptr testJob( new MPQCJob(nextid, output, begin, size, level) ); 102 99 jobs.push_back(testJob); -
src/Fragmentation/Automation/MPQCFragmentController.hpp
r758e56 r065574 34 34 public: 35 35 MPQCFragmentController(boost::asio::io_service &io_service) : 36 SpecificFragmentController(io_service) 36 SpecificFragmentController(io_service), 37 level(5) 37 38 {} 38 39 virtual ~MPQCFragmentController() … … 46 47 } 47 48 49 void setLevel(const size_t _level) { level = _level; } 50 48 51 private: 49 52 void parsejob( … … 55 58 private: 56 59 //!> resolution of sampled electron density as \f$2^{\text{level}}\f$ 57 s tatic const int LEVEL;60 size_t level; 58 61 }; 59 62 -
src/Fragmentation/Automation/VMGFragmentController.cpp
r758e56 r065574 50 50 const std::map<JobId_t, MPQCData> &fragmentData, 51 51 const SamplingGrid &full_sampled_grid, 52 const Fragment &full_fragment) 52 const Fragment &full_fragment, 53 const size_t near_field_cells) 53 54 { 54 55 std::vector<FragmentJob::ptr> jobs; … … 62 63 << " gridpoints and " << data.charges.size() << " particle charges."); 63 64 FragmentJob::ptr testJob( 64 new VMGJob(next_id, data.sampled_grid, data.positions, data.charges ) );65 new VMGJob(next_id, data.sampled_grid, data.positions, data.charges, near_field_cells) ); 65 66 jobs.push_back(testJob); 66 67 } … … 84 85 << " gridpoints and " << charges.size() << " particle charges."); 85 86 FragmentJob::ptr testJob( 86 new VMGJob(next_id, full_sampled_grid, positions, charges ) );87 new VMGJob(next_id, full_sampled_grid, positions, charges, near_field_cells) ); 87 88 jobs.push_back(testJob); 88 89 } -
src/Fragmentation/Automation/VMGFragmentController.hpp
r758e56 r065574 39 39 const std::map<JobId_t, MPQCData> &fragmentData, 40 40 const SamplingGrid &full_sampled_grid, 41 const Fragment &full_fragment); 41 const Fragment &full_fragment, 42 const size_t near_field_cells); 42 43 void getResults(std::map<JobId_t, VMGData> &fragmentData) { 43 44 SpecificFragmentController::getResults<VMGData>(fragmentData); -
src/Jobs/VMGJob.cpp
r758e56 r065574 78 78 const SamplingGrid &_density_grid, 79 79 const std::vector< std::vector< double > > &_particle_positions, 80 const std::vector< double > &_particle_charges) : 80 const std::vector< double > &_particle_charges, 81 const size_t _near_field_cells) : 81 82 FragmentJob(_JobId), 82 83 density_grid(_density_grid), 83 84 particle_positions(_particle_positions), 84 85 particle_charges(_particle_charges), 86 near_field_cells(_near_field_cells), 85 87 returndata(static_cast<const SamplingGridProperties &>(_density_grid)) 86 88 {} 87 89 88 90 VMGJob::VMGJob() : 89 FragmentJob(JobId::IllegalJob) 91 FragmentJob(JobId::IllegalJob), 92 near_field_cells(5) 90 93 {} 91 94 … … 129 132 // TODO: As a matter of fact should use open boundary conditions 130 133 const Boundary boundary(Periodic, Periodic, Periodic); 131 int near_field_cells = 10;132 134 133 135 /* -
src/Jobs/VMGJob.hpp
r758e56 r065574 36 36 * 37 37 * @param _JobId id of the job 38 * @param _ begin offset of the domain39 * @param _ size edge length of the cubic(!) domain40 * @param _ level level is \f$2^{\text{level}}\f$ grid points41 * @param _ sampled_input vector of sampled points of the grid as right-hand side38 * @param _density_grid sampled electron charge density from short-range solutions 39 * @param _particle_positions position per nuclei 40 * @param _particle_charges charges per nuclei 41 * @param _near_field_cells number of grid-points used to smear our nuclei charge 42 42 */ 43 43 VMGJob(const JobId_t _JobId, 44 44 const SamplingGrid &density_grid, 45 45 const std::vector< std::vector< double > > &_particle_positions, 46 const std::vector< double > &_particle_charges); 46 const std::vector< double > &_particle_charges, 47 const size_t _near_field_cells); 47 48 virtual ~VMGJob(); 48 49 … … 59 60 //!> charges of all nuclei 60 61 const std::vector< double > particle_charges; 62 //!> near field cells used in smearing out core charge density 63 const size_t near_field_cells; 61 64 62 65 private: … … 78 81 ar & const_cast< std::vector< std::vector< double > > &>(particle_positions); 79 82 ar & const_cast< std::vector< double > &>(particle_charges); 83 ar & const_cast< size_t &>(near_field_cells); 80 84 ar & returndata; 81 85 } -
tests/Python/AllActions/options.dat
r758e56 r065574 75 75 fragment-molecule "./" 76 76 fragment-path "test/" 77 grid-level "5" 77 78 id-mapping "1" 78 79 input "test.data" … … 86 87 min-distance "1." 87 88 molecule-by-id "0" 89 near-field-cells "3" 88 90 nonconvex-envelope "25" 89 91 nonconvex-file "NonConvexEnvelope"
Note:
See TracChangeset
for help on using the changeset viewer.