- Timestamp:
- Nov 14, 2012, 10:02:51 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:
- 442cee
- Parents:
- d12d621
- git-author:
- Frederik Heber <heber@…> (07/26/12 08:45:44)
- git-committer:
- Frederik Heber <heber@…> (11/14/12 10:02:51)
- Location:
- src
- Files:
-
- 4 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
rd12d621 r28c025 495 495 LOG(1, "INFO: Creating VMGJob."); 496 496 FragmentJob::ptr testJob( 497 new VMGJob(next_id, iter-> density.begin, iter->density.size, iter->density.level, iter->density.sampled_grid) );497 new VMGJob(next_id, iter->sampled_grid) ); 498 498 jobs.push_back(testJob); 499 499 } … … 504 504 const int level = LEVEL; 505 505 const int GRID = pow(2, level); 506 std::vector<double> full_sample d_grid(GRID*GRID*GRID, 0.);506 std::vector<double> full_sample(GRID*GRID*GRID, 0.); 507 507 double begin[NDIM] = { 0., 0., 0. }; 508 508 const RealSpaceMatrix& M = World::getInstance().getDomain().getM(); … … 510 510 ASSERT( M.determinant() == size*size*size, 511 511 "createLongRangeJobs() - current domain matrix "+toString(M)+" is not cubic."); 512 const SamplingGrid full_sampled_grid(begin, size, level, full_sample); 512 513 const JobId_t next_id = controller.getAvailableId(); 513 514 FragmentJob::ptr testJob( 514 new VMGJob(next_id, begin, size, level,full_sampled_grid) );515 new VMGJob(next_id, full_sampled_grid) ); 515 516 jobs.push_back(testJob); 516 517 } -
src/Jobs/MPQCData.cpp
rd12d621 r28c025 42 42 #include "CodePatterns/Log.hpp" 43 43 #include "LinearAlgebra/defs.hpp" 44 45 MPQCData::MPQCData(const SamplingGridProperties &_props) : 46 sampled_grid(_props) 47 {} 48 49 MPQCData::MPQCData() 50 {} 44 51 45 52 MPQCData::energy_t::energy_t() : -
src/Jobs/MPQCData.hpp
rd12d621 r28c025 20 20 #include <vector> 21 21 22 #include "Jobs/Grid/SamplingGrid.hpp" 23 22 24 class MPQCCommandJob; 23 25 class MPQCCommandJobTest; … … 37 39 friend std::ostream & operator<<(std::ostream &ost, const MPQCData &data); 38 40 public: 41 /** Constructor for class MPQCData with full sampling information. 42 * 43 * \param _props properties of the grid 44 */ 45 MPQCData(const SamplingGridProperties &_props); 46 47 /** Default Constructor for class MPQCData. 48 * 49 */ 50 MPQCData(); 51 39 52 bool operator==(const MPQCData &other) const; 40 53 … … 67 80 68 81 /// Density 69 struct density_t { 70 //!> Begin (min coordinates) of grid in real space 71 double begin[3]; 72 //!> edge length of cubic(!) domain 73 double size; 74 //!> level of the grid, hence \f$2^\text{level}\f$ 75 int level; 76 77 //!> typedef for vector of samples grids 78 typedef std::vector<double> grid_type; 79 //!> vector of sample points in order x, y, z 80 grid_type sampled_grid; 81 } density; 82 SamplingGrid sampled_grid; 82 83 83 84 /// Timing structure … … 109 110 ar & energies.eigenvalues; 110 111 ar & forces; 111 int i; 112 for (int i=0; i<3; ++i) 113 ar & density.begin[i]; 114 ar & density.size; 115 ar & density.level; 116 ar & density.sampled_grid; 112 ar & sampled_grid; 117 113 ar & times.walltime; 118 114 ar & times.cputime; -
src/Jobs/MPQCJob.cpp
rd12d621 r28c025 54 54 FragmentJob(_JobId), 55 55 inputfile(_inputfile), 56 size(_size), 57 level(_level) 58 { 59 for (int i=0; i<3; ++i) 60 begin[i] = _begin[i]; 61 } 56 grid(_begin, _size, _level) 57 {} 62 58 63 59 MPQCJob::MPQCJob() : 64 FragmentJob(JobId::IllegalJob), 65 size(0.), 66 level(0) 60 FragmentJob(JobId::IllegalJob) 67 61 {} 68 62 -
src/Jobs/MPQCJob.hpp
rd12d621 r28c025 19 19 #include "JobMarket/Jobs/FragmentJob.hpp" 20 20 21 #include "Jobs/Grid/SamplingGridProperties.hpp" 22 21 23 #include <string> 22 24 … … 38 40 39 41 private: 40 //!> contents of the inputfile42 //!> contents of inputfile 41 43 const std::string inputfile; 42 //!> offset of grid 43 double begin[3]; 44 //!> size of grid, i.e. edge length of cubic(!) domain 45 const double size; 46 //!> level, i.e. \f$2^{\text{level}}\f$ grid points per axis 47 const int level; 44 //!> information for how to sample the density 45 const SamplingGridProperties grid; 48 46 49 47 private: … … 59 57 ar & boost::serialization::base_object<FragmentJob>(*this); 60 58 ar & const_cast<std::string &>(inputfile); 61 int i; 62 for (i=0; i<3; ++i) 63 ar & begin[i]; 64 ar & const_cast<double &>(size); 65 ar & const_cast<int &>(level); 59 ar & const_cast<SamplingGridProperties &>(grid); 66 60 } 67 61 }; -
src/Jobs/Makefile.am
rd12d621 r28c025 9 9 JOBSSOURCE += \ 10 10 Jobs/InterfaceVMGJob.cpp \ 11 Jobs/VMGJob.cpp 11 Jobs/VMGJob.cpp \ 12 Jobs/Grid/SamplingGrid.cpp \ 13 Jobs/Grid/SamplingGridProperties.cpp 12 14 endif 13 15 … … 22 24 JOBSHEADER += \ 23 25 Jobs/InterfaceVMGJob.hpp \ 24 Jobs/VMGJob.hpp 26 Jobs/VMGJob.hpp \ 27 Jobs/Grid/SamplingGrid.hpp \ 28 Jobs/Grid/SamplingGridProperties.hpp 25 29 endif 26 30 -
src/Jobs/VMGJob.cpp
rd12d621 r28c025 76 76 VMGJob::VMGJob( 77 77 const JobId_t _JobId, 78 const double _begin[3], 79 const double _size, 80 const int _level, 81 const std::vector< double > &_sampled_input) : 78 const SamplingGrid _density_grid) : 82 79 FragmentJob(_JobId), 83 size(_size), 84 level(_level), 85 sampled_input(_sampled_input) 86 { 87 for (size_t i=0; i<3; ++i) 88 begin[i] = _begin[i]; 89 } 80 density_grid(_density_grid) 81 {} 90 82 91 83 VMGJob::VMGJob() : 92 FragmentJob(JobId::IllegalJob), 93 size(0.), 94 level(0) 84 FragmentJob(JobId::IllegalJob) 95 85 {} 96 86 … … 141 131 new DiscretizationPoissonFD(4); 142 132 new VMGInterfaces::InterfaceVMGJob( 143 sampled_input,133 density_grid.sampled_grid, 144 134 boundary, 145 135 2, 146 level,147 Vector( begin),148 size);136 density_grid.level, 137 Vector(density_grid.begin), 138 density_grid.size); 149 139 new LevelOperatorCS(Stencils::RestrictionFullWeight, Stencils::InterpolationTrilinear); 150 140 new Givens<SolverSingular>(); -
src/Jobs/VMGJob.hpp
rd12d621 r28c025 19 19 20 20 #include "JobMarket/Jobs/FragmentJob.hpp" 21 #include "Jobs/Grid/SamplingGrid.hpp" 21 22 22 23 #include <vector> … … 40 41 */ 41 42 VMGJob(const JobId_t _JobId, 42 const double _begin[3], 43 const double _size, 44 const int _level, 45 const std::vector< double > &_sampled_input); 43 const SamplingGrid density_grid); 46 44 virtual ~VMGJob(); 47 45 … … 52 50 53 51 private: 54 double begin[3]; 55 const double size; 56 const int level; 57 //!> contents of the input file 58 const std::vector< double > sampled_input; 52 //!> sampled density required as input 53 const SamplingGrid density_grid; 59 54 60 55 private: … … 69 64 { 70 65 ar & boost::serialization::base_object<FragmentJob>(*this); 71 int i; 72 for (i=0; i< 3; ++i) 73 ar & begin[i]; 74 ar & const_cast< double &>(size); 75 ar & const_cast< int &>(level); 76 ar & const_cast< std::vector< double > &>(sampled_input); 66 ar & const_cast< SamplingGrid &>(density_grid); 77 67 } 78 68 };
Note:
See TracChangeset
for help on using the changeset viewer.