Changeset e355b31 for src


Ignore:
Timestamp:
Aug 9, 2013, 2:20:37 PM (12 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:
c4a323
Parents:
bf1d1b
git-author:
Frederik Heber <heber@…> (07/25/13 17:35:59)
git-committer:
Frederik Heber <heber@…> (08/09/13 14:20:37)
Message:

Added both_sampled_potential to VMGData, analogous to nuclei_longrange.

  • AnalyseFragmentationResultsAction sets both both_sampled_potential and nuclei_longrange from second set of longrange calculations.
  • we require the combined potential for fitting partial nuclei charges
  • fixed typo in testsuite-fragmentation-analyse-fragment-results.at
Location:
src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp

    rbf1d1b re355b31  
    4444#include <boost/mpl/remove.hpp>
    4545
    46 #include <vector>
    4746#include <fstream>
    4847#include <iostream>
     48//#include <numeric>
    4949#include <string>
    5050#include <vector>
     
    283283          "appendToHomologyFile() - cannot find index "+toString(*index)
    284284          +" in FragmentResults.");
    285       value.potential_distribution = boost::fusion::at_key<VMGDataFused::sampled_potential>(potentialiter->second.second); // contributions
     285      // add e+n potentials
     286      value.potential_distribution = boost::fusion::at_key<VMGDataFused::both_sampled_potential>(potentialiter->second.second); // contributions
     287//      // and re-average to zero (integral is times volume_element which we don't need here)
     288//      const double sum =
     289//          std::accumulate(
     290//              value.potential_distribution.sampled_grid.begin(),
     291//              value.potential_distribution.sampled_grid.end(),
     292//              0.);
     293//      const double offset = sum/(double)value.potential_distribution.sampled_grid.size();
     294//      for (SamplingGrid::sampledvalues_t::iterator iter = value.potential_distribution.sampled_grid.begin();
     295//          iter != value.potential_distribution.sampled_grid.end();
     296//          ++iter)
     297//        *iter -= offset;
    286298    }
    287299    values.insert( std::make_pair( graph, value) );
  • src/Actions/FragmentationAction/FragmentationAutomationAction.cpp

    rbf1d1b re355b31  
    208208          "FragmentationFragmentationAutomationAction::performCall() - longrange results have different sizes.");
    209209      std::map<JobId_t, VMGData>::iterator destiter = longrangedata.begin();
    210       std::map<JobId_t, VMGData>::iterator srciter = longrangedata_both.begin();
    211       for (;destiter != longrangedata.end(); ++srciter, ++destiter)
     210      std::map<JobId_t, VMGData>::const_iterator srciter = longrangedata_both.begin();
     211      for (;destiter != longrangedata.end(); ++srciter, ++destiter) {
     212        destiter->second.both_sampled_potential = srciter->second.sampled_potential;
    212213        destiter->second.nuclei_long = srciter->second.nuclei_long;
     214      }
    213215    }
    214216  }
  • src/Fragmentation/Summation/Containers/VMGData.hpp

    rbf1d1b re355b31  
    4242  //!> sampled potential on the grid as output
    4343  SamplingGrid sampled_potential;
     44  //!> sampled potential on the grid as output
     45  SamplingGrid both_sampled_potential;
    4446  //!> nuclei long-range contribution to energy
    4547  double nuclei_long;
     
    5456  {
    5557    ar & sampled_potential;
     58    if (version > 1)
     59      ar & both_sampled_potential;
    5660    if (version > 0)
    5761      ar & nuclei_long;
     
    6064};
    6165
    62 BOOST_CLASS_VERSION(VMGData, 1)
     66BOOST_CLASS_VERSION(VMGData, 2)
    6367
    6468std::ostream & operator<<(std::ostream &ost, const VMGData &data);
  • src/Fragmentation/Summation/Containers/VMGDataFused.hpp

    rbf1d1b re355b31  
    2626  // keys for sampled_potential
    2727  struct sampled_potential {};
    28   struct energy_potential {};
     28  struct both_sampled_potential {};
    2929  struct nuclei_long {};
    3030  struct electron_long {};
  • src/Fragmentation/Summation/Containers/VMGDataMap.hpp

    rbf1d1b re355b31  
    3131typedef boost::fusion::map<
    3232    boost::fusion::pair<VMGDataFused::sampled_potential, SamplingGrid >,
    33     boost::fusion::pair<VMGDataFused::energy_potential, double >,
     33    boost::fusion::pair<VMGDataFused::both_sampled_potential, SamplingGrid >,
    3434    boost::fusion::pair<VMGDataFused::nuclei_long, double >,
    3535    boost::fusion::pair<VMGDataFused::electron_long, double >
     
    3838typedef boost::mpl::list<
    3939    VMGDataFused::sampled_potential,
    40     VMGDataFused::energy_potential,
     40    VMGDataFused::both_sampled_potential,
    4141    VMGDataFused::nuclei_long,
    4242    VMGDataFused::electron_long
  • src/Fragmentation/Summation/Containers/VMGData_printKeyNames.hpp

    rbf1d1b re355b31  
    3535#define tokensequence \
    3636        (sampled_potential) \
    37   (energy_potential) \
     37  (both_sampled_potential) \
    3838  (nuclei_long) \
    3939  (electron_long) \
  • src/Fragmentation/Summation/Converter/DataConverter.hpp

    rbf1d1b re355b31  
    8989    VMGDataMap_t instance;
    9090    boost::fusion::at_key<VMGDataFused::sampled_potential>(instance) = extractedData.sampled_potential;
    91     boost::fusion::at_key<VMGDataFused::energy_potential>(instance) = extractedData.sampled_potential.integral();
     91    boost::fusion::at_key<VMGDataFused::both_sampled_potential>(instance) = extractedData.both_sampled_potential;
    9292    boost::fusion::at_key<VMGDataFused::nuclei_long>(instance) = extractedData.nuclei_long;
    9393    boost::fusion::at_key<VMGDataFused::electron_long>(instance) = extractedData.electron_long;
Note: See TracChangeset for help on using the changeset viewer.