Changeset 634db9
- Timestamp:
- Jun 9, 2016, 4:53:49 PM (9 years ago)
- Children:
- e3e4ce
- Parents:
- e3569c
- git-author:
- Frederik Heber <heber@…> (05/29/16 17:04:27)
- git-committer:
- Frederik Heber <heber@…> (06/09/16 16:53:49)
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
re3569c r634db9 76 76 #include "Fragmentation/Automation/VMGDebugGridFragmentController.hpp" 77 77 #include "Fragmentation/Automation/VMGFragmentController.hpp" 78 #include "Fragmentation/Summation/Containers/GridDownsampler.hpp" 78 79 #include "Fragmentation/Summation/Containers/VMGData.hpp" 79 80 #include "Fragmentation/Summation/Containers/VMGDataFused.hpp" … … 152 153 } 153 154 154 static void downsampleChargeData(155 const std::map<JobId_t, MPQCData> &_shortrangedata,156 const SamplingGridProperties &_domain,157 std::map<JobId_t, MPQCData> &_shortrangedata_downsampled158 )159 {160 for (std::map<JobId_t, MPQCData>::const_iterator iter = _shortrangedata.begin();161 iter != _shortrangedata.end(); ++iter) {162 LOG(2, "INFO: Downsampling charge data from job " << iter->first);163 MPQCData downsampled(_domain);164 MPQCData::assignWithDownsampledGrid(downsampled, iter->second);165 _shortrangedata_downsampled.insert( std::make_pair( iter->first, downsampled ) );166 }167 }168 169 155 ActionState::ptr FragmentationFragmentationAutomationAction::performCall() { 170 156 boost::asio::io_service io_service; … … 288 274 std::map<JobId_t, MPQCData> shortrangedata_downsampled; 289 275 SamplingGridProperties domain(ExportGraph_ToJobs::getDomainGrid(params.level.get())); 290 downsampleChargeData(shortrangedata, domain, shortrangedata_downsampled);276 GridDownsampler::downsample(shortrangedata, domain, shortrangedata_downsampled); 291 277 FragmentationChargeDensity summedChargeDensity( 292 278 shortrangedata_downsampled, … … 429 415 } 430 416 } 431 container.addFullResults(keysets, forcekeysets, shortrangedata, longrangedata);417 container.addFullResults(keysets, forcekeysets, shortrangedata, shortrangedata_downsampled, longrangedata); 432 418 } else { 433 419 container.addShortRangeResults(keysets, forcekeysets, shortrangedata); -
src/Fragmentation/Summation/Containers/FragmentationResultContainer.cpp
re3569c r634db9 46 46 const KeySetsContainer &_forcekeysets, 47 47 const shortrangedata_t &_shortrangedata, 48 const shortrangedata_t &_shortrangedata_downsampled, 48 49 const longrangedata_t &_longrangedata 49 50 ) … … 60 61 +toString(_keysets.KeySets.size())+") and shortrangedata ("+toString(_shortrangedata.size()) 61 62 +") differ in size."); 63 ASSERT( _keysets.KeySets.size() == _shortrangedata_downsampled.size(), 64 "FragmentationResultContainer::addFullResults() - keysets (" 65 +toString(_keysets.KeySets.size())+") and downsampled shortrangedata (" 66 +toString(_shortrangedata_downsampled.size())+") differ in size."); 67 // check that grids in longrangedata and shortrangedata_downsampled match 68 #ifndef NDEBUG 69 { 70 ASSERT( _longrangedata.size() > 0, 71 "FragmentationResultContainer::addFullResults() - there are no long range results?"); 72 const int longrange_level = _longrangedata.begin()->second.sampled_potential.level; 73 ASSERT( longrange_level == _longrangedata.begin()->second.both_sampled_potential.level, 74 "FragmentationResultContainer::addFullResults() - levels for nuclei-only and both differ?"); 75 for (shortrangedata_t::const_iterator iter = _shortrangedata_downsampled.begin(); 76 iter != _shortrangedata_downsampled.begin(); ++iter) 77 ASSERT( iter->second.sampled_grid.level == longrange_level, 78 "FragmentationResultContainer::addFullResults() - for job " 79 +toString(iter->first)+" level "+toString(iter->second.sampled_grid.level) 80 +" is not equal to long-range level "+toString(longrange_level)); 81 } 82 #endif 62 83 // there are more results for longrangedata! 63 84 // ASSERT( _keysets.KeySets.size() == _longrangedata.size(), … … 68 89 forcekeysets.insert(_forcekeysets); 69 90 shortrangedata.insert(_shortrangedata.begin(), _shortrangedata.end()); 91 shortrangedata_downsampled.insert(_shortrangedata_downsampled.begin(), _shortrangedata_downsampled.end()); 70 92 longrangedata.insert(_longrangedata.begin(), _longrangedata.end()); 71 93 } -
src/Fragmentation/Summation/Containers/FragmentationResultContainer.hpp
re3569c r634db9 73 73 * Adds all the containers to the ones present in this instance. 74 74 * 75 * \param _keysets 76 * \param _forcekeysetskeysets 77 * \param _shortrangedata 78 * \param _longrangedata 75 * \param _keysets container with the index set of each fragment 76 * \param _forcekeysetskeysets container with the extended index set per 77 * fragment containing also all hydrogens 78 * \param _shortrangedata results from short-range calculations 79 * \param _shortrangedata downsampled short-range results to match long-range grid level 80 * \param _longrangedata results from long-range calculatoins 79 81 */ 80 82 void addFullResults( … … 82 84 const KeySetsContainer &_forcekeysets, 83 85 const shortrangedata_t &_shortrangedata, 86 const shortrangedata_t &_shortrangedata_downsampled, 84 87 const longrangedata_t &_longrangedata 85 88 ); … … 90 93 * Adds all the containers to the ones present in this instance. 91 94 * 92 * \param _keysets 93 * \param _forcekeysets 94 * \param _shortrangedata 95 * \param _keysets container with the index set of each fragment 96 * \param _forcekeysetskeysets container with the extended index set per 97 * fragment containing also all hydrogens 98 * \param _shortrangedata results from short-range calculations 95 99 */ 96 100 void addShortRangeResults( … … 140 144 const FragmentationShortRangeResults::summedshortrange_t& getShortRangeSummedResults() const { return summedshortrange; } 141 145 #if defined(HAVE_JOBMARKET) && defined(HAVE_VMG) 146 const shortrangedata_t& getDownsampledShortRangeResults() const { return shortrangedata_downsampled; } 142 147 const longrangedata_t& getLongRangeResults() const; 143 148 #endif … … 156 161 KeySetsContainer forcekeysets; 157 162 //!> container for all short-range results 158 s td::map<JobId_t, MPQCData>shortrangedata;163 shortrangedata_t shortrangedata; 159 164 //! container of all cycle keysets 160 165 KeySetsContainer cycles; … … 163 168 164 169 #if defined(HAVE_JOBMARKET) && defined(HAVE_VMG) 170 //!> container for all short-range results with downsampled grids to match longrange grid level 171 shortrangedata_t shortrangedata_downsampled; 165 172 //!> container for all long-range results 166 std::map<JobId_t, VMGData>longrangedata;173 longrangedata_t longrangedata; 167 174 #endif 168 175 … … 182 189 ar & summedshortrange; 183 190 #if defined(HAVE_JOBMARKET) && defined(HAVE_VMG) 191 if (version > 2) 192 ar & shortrangedata_downsampled; 184 193 ar & longrangedata; 185 194 #endif … … 197 206 ar & summedshortrange; 198 207 #if defined(HAVE_JOBMARKET) && defined(HAVE_VMG) 208 if (version > 2) 209 ar & shortrangedata_downsampled; 199 210 ar & longrangedata; 200 211 #endif … … 204 215 205 216 // version for serialized information associated to FragmentationResultContainer 206 BOOST_CLASS_VERSION(FragmentationResultContainer, 2)217 BOOST_CLASS_VERSION(FragmentationResultContainer, 3) 207 218 208 219 #endif /* FRAGMENTATIONRESULTCONTAINER_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.