Ignore:
Timestamp:
Aug 9, 2013, 2:20:36 PM (11 years ago)
Author:
Frederik Heber <heber@…>
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:
3f64ee
Parents:
af2c7ec
git-author:
Frederik Heber <heber@…> (05/12/13 11:07:11)
git-committer:
Frederik Heber <heber@…> (08/09/13 14:20:36)
Message:

FIX: Shifted all helper functions from SamplingGrid to ..Properties.

  • these functions just rely on member values of ..Properties and allow for using the properties as replacement to the full grid when its values (and the window) are of no more interest.
Location:
src/Fragmentation/Summation/SetValues
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Summation/SetValues/Makefile.am

    raf2c7ec rb5f548  
    1717        Fragmentation/Summation/SetValues/SamplingGrid.hpp \
    1818        Fragmentation/Summation/SetValues/SamplingGrid_inline.hpp \
    19         Fragmentation/Summation/SetValues/SamplingGridProperties.hpp
     19        Fragmentation/Summation/SetValues/SamplingGridProperties.hpp \
     20        Fragmentation/Summation/SetValues/SamplingGridProperties_inline.hpp
    2021
    2122noinst_LTLIBRARIES += libMolecuilderFragmentationSetValues.la
  • src/Fragmentation/Summation/SetValues/SamplingGrid.hpp

    raf2c7ec rb5f548  
    163163  double integral(const SamplingGrid &weight) const;
    164164
    165   /** Returns the volume of the domain for this sampled function.
    166    *
    167    * @return volume
    168    */
    169   const double getVolume() const;
    170 
    171165  /** Returns the total number of gridpoints of the discrete mesh covering the (window) volume.
    172166   *
     
    183177  const size_t getWindowGridPointsPerAxis(const size_t axis) const;
    184178
    185   /** Returns the total number of gridpoints of the discrete mesh covering the volume.
    186    *
    187    * @return number of gridpoints sampled_values should have
    188    */
    189   const size_t getTotalGridPoints() const;
    190 
    191   /** Returns the number of grid points per axis.
    192    *
    193    * @return number of grid points per unit length
    194    */
    195   const size_t getGridPointsPerAxis() const;
    196 
    197   /** Returns the length of the domain for the given \a axis.
    198    *
    199    * \param axis axis for which to get step length
    200    * \return domain length for the given axis, i.e. end - begin
    201    */
    202   const double getTotalLengthPerAxis(const size_t axis) const;
    203 
    204179  /** Returns the length of the window for the given \a axis.
    205180   *
     
    208183   */
    209184  const double getWindowLengthPerAxis(const size_t axis) const;
    210 
    211   /** Returns the real step length from one discrete grid point to the next.
    212    *
    213    * \param axis axis for which to get step length
    214    * \return step length for the given axis, as domain length over getGridPointsPerAxis()
    215    */
    216   const double getDeltaPerAxis(const size_t axis) const;
    217185
    218186  /** Returns the volume of the domain covered by the current window.
  • src/Fragmentation/Summation/SetValues/SamplingGridProperties.hpp

    raf2c7ec rb5f548  
    7878  }
    7979
     80  /** Returns the volume of the domain for this sampled function.
     81   *
     82   * @return volume
     83   */
     84  const double getVolume() const;
     85
     86  /** Returns the total number of gridpoints of the discrete mesh covering the volume.
     87   *
     88   * @return number of gridpoints sampled_values should have
     89   */
     90  const size_t getTotalGridPoints() const;
     91
     92  /** Returns the number of grid points per axis.
     93   *
     94   * @return number of grid points per unit length
     95   */
     96  const size_t getGridPointsPerAxis() const;
     97
     98  /** Returns the length of the domain for the given \a axis.
     99   *
     100   * \param axis axis for which to get step length
     101   * \return domain length for the given axis, i.e. end - begin
     102   */
     103  const double getTotalLengthPerAxis(const size_t axis) const;
     104
     105  /** Returns the real step length from one discrete grid point to the next.
     106   *
     107   * \param axis axis for which to get step length
     108   * \return step length for the given axis, as domain length over getGridPointsPerAxis()
     109   */
     110  const double getDeltaPerAxis(const size_t axis) const;
     111
     112
    80113public:
    81114  //!> offset of grid
     
    107140BOOST_CLASS_EXPORT_KEY(SamplingGridProperties)
    108141
     142// define inline functions
     143#include "SamplingGridProperties_inline.hpp"
     144
    109145#endif /* SAMPLINGGRIDPROPERTIES_HPP_ */
  • src/Fragmentation/Summation/SetValues/SamplingGrid_inline.hpp

    raf2c7ec rb5f548  
    1919inline
    2020#endif
    21 const double SamplingGrid::getVolume() const
    22 {
    23   double volume = 1.;
    24   for (size_t i=0;i<3;++i)
    25     volume *= end[i]-begin[i];
    26   return volume;
    27 }
    28 
    29 #ifdef HAVE_INLINE
    30 inline
    31 #endif
    3221const double SamplingGrid::getWindowVolume() const
    3322{
     
    3625    volume *= end_window[i]-begin_window[i];
    3726  return volume;
    38 }
    39 
    40 
    41 #ifdef HAVE_INLINE
    42 inline
    43 #endif
    44 const size_t SamplingGrid::getTotalGridPoints() const
    45 {
    46   return pow(getGridPointsPerAxis(),3);
    47 }
    48 
    49 #ifdef HAVE_INLINE
    50 inline
    51 #endif
    52 const size_t SamplingGrid::getGridPointsPerAxis() const
    53 {
    54   return pow(2, level);
    55 }
    56 
    57 #ifdef HAVE_INLINE
    58 inline
    59 #endif
    60 const double SamplingGrid::getDeltaPerAxis(const size_t axis) const
    61 {
    62   return getTotalLengthPerAxis(axis)/(double)getGridPointsPerAxis();
    63 }
    64 
    65 #ifdef HAVE_INLINE
    66 inline
    67 #endif
    68 const double SamplingGrid::getTotalLengthPerAxis(const size_t axis) const
    69 {
    70   return (end[axis] - begin[axis]);
    7127}
    7228
     
    8945}
    9046
    91 
    9247#ifdef HAVE_INLINE
    9348inline
     
    10358}
    10459
    105 
    10660#endif /* SAMPLINGGRID_INLINE_HPP_ */
Note: See TracChangeset for help on using the changeset viewer.