Changeset ff7ac6 for src/Fragmentation/Summation
- Timestamp:
- Sep 14, 2016, 6:43:45 PM (8 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, 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_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, GeometryObjects, Gui_displays_atomic_force_velocity, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, RotateToPrincipalAxisSystem_UndoRedo, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, Ubuntu_1604_changes, stable
- Children:
- 3d444a
- Parents:
- f856ec
- git-author:
- Frederik Heber <heber@…> (06/12/16 06:57:47)
- git-committer:
- Frederik Heber <heber@…> (09/14/16 18:43:45)
- Location:
- src/Fragmentation/Summation
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/Summation/OrthogonalSummation.hpp
rf856ec rff7ac6 53 53 } 54 54 55 /** Setter for the zero instance to use as the base in summation. 56 * 57 * This may be used to force some parameters in the summation. We 58 * will use this value to set the initial value and all contributions 59 * are added via operator+(). E.g. In summing SamplingGrid (charge 60 * grids) we may use this instance to enforce a smaller grid size 61 * in the summation of the contributions if fragments have been 62 * calculated at a much higher grid level. 63 * 64 * \param _zeroinstance 65 */ 66 void setZeroInstance(const T &_zeroinstance) 67 { 68 zeroinstance = _zeroinstance; 69 } 70 55 71 private: 56 72 T Sum(const size_t level) const; … … 61 77 //!> set of all subset values 62 78 SetValueMap<T> setvalues; 79 //!> base/"zero" instance to sum upon, defaults to ZeroInstance<T> 80 T zeroinstance; 63 81 }; 64 82 -
src/Fragmentation/Summation/OrthogonalSummation_impl.hpp
rf856ec rff7ac6 18 18 #include "CodePatterns/Log.hpp" 19 19 20 #include "Fragmentation/Summation/OrthogonalSummation.hpp" 21 20 22 #include "Fragmentation/Summation/ZeroInstance.hpp" 21 23 #include "Fragmentation/Summation/printKeyNames.hpp" … … 29 31 InputValues_t& values, 30 32 SubsetMap::ptr _subsetmap) : 31 subsetmap(_subsetmap) 33 subsetmap(_subsetmap), 34 zeroinstance(ZeroInstance<T>()) 32 35 { 33 36 ASSERT( indices.size() == values.size(), … … 69 72 { 70 73 typename SetValueMap<T>::const_iterator iter = setvalues.begin(); 71 T sum( ZeroInstance<T>());74 T sum(zeroinstance); 72 75 if (iter->first->size() <= level) 73 sum = (iter->second)->getContribution();76 sum += (iter->second)->getContribution(); 74 77 LOG(3, "DEBUG: Contribution from subset "+toString(*(iter->second->getIndexSet())) 75 78 +" is "+toString(sum)+"."); -
src/Fragmentation/Summation/Summation.hpp
rf856ec rff7ac6 55 55 } 56 56 57 /** Setter for the zero instance to use as the base in summation. 58 * 59 * This may be used to force some parameters in the summation. We 60 * will use this value to set the initial value and all contributions 61 * are added via operator+(). E.g. In summing SamplingGrid (charge 62 * grids) we may use this instance to enforce a smaller grid size 63 * in the summation of the contributions if fragments have been 64 * calculated at a much higher grid level. 65 * 66 * \param _zeroinstance 67 */ 68 void setZeroInstance(const T &_zeroinstance) 69 { 70 zeroinstance = _zeroinstance; 71 } 72 57 73 private: 58 74 T Sum(const size_t level) const; … … 63 79 //!> set of all subset values 64 80 SetValueMap<T> setvalues; 81 //!> base/"zero" instance to sum upon, defaults to ZeroInstance<T> 82 T zeroinstance; 65 83 }; 66 84 -
src/Fragmentation/Summation/Summation_impl.hpp
rf856ec rff7ac6 15 15 #endif 16 16 17 #include "CodePatterns/Assert.hpp" 17 18 #include "CodePatterns/IteratorAdaptors.hpp" 18 19 #include "CodePatterns/Log.hpp" 20 21 #include "Fragmentation/Summation/Summation.hpp" 19 22 20 23 #include "Fragmentation/Summation/printKeyNames.hpp" … … 29 32 InputValues_t& values, 30 33 SubsetMap::ptr _subsetmap) : 31 subsetmap(_subsetmap) 34 subsetmap(_subsetmap), 35 zeroinstance(ZeroInstance<T>()) 32 36 { 33 37 ASSERT( indices.size() == values.size(), … … 69 73 { 70 74 typename SetValueMap<T>::const_iterator iter = setvalues.begin(); 71 T sum = ZeroInstance<T>();75 T sum(zeroinstance); 72 76 if (iter->first->size() <= level) 73 sum = (iter->second)->getValue();77 sum += (iter->second)->getValue(); 74 78 LOG(3, "DEBUG: Value from subset "+toString(*(iter->second->getIndexSet())) 75 79 +" is "+toString(sum)+".");
Note:
See TracChangeset
for help on using the changeset viewer.