Changeset 47cee7


Ignore:
Timestamp:
Oct 17, 2013, 7:24:25 AM (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:
c8d13f5
Parents:
f58e56
git-author:
Frederik Heber <heber@…> (09/28/13 09:07:50)
git-committer:
Frederik Heber <heber@…> (10/17/13 07:24:25)
Message:

Writing out energy file with value and contribution per index set

  • placed in printReceivedShortResultsPerIndex().
  • added writeIndexedTable which writes per indexset not per level.
  • HeaderPrinter is not initialized with some string anymore.
  • ValuePrinter does not write the level anymore.
  • these are now done in write(Indexed)Table.
  • TESTFIX: Added BondFragment_IndexedEnergy.dat diff to regression tests.
Files:
3 added
6 edited

Legend:

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

    rf58e56 r47cee7  
    7676#include "Fragmentation/Summation/SetValues/IndexedVectors.hpp"
    7777#include "Fragmentation/Summation/IndexSetContainer.hpp"
     78#include "Fragmentation/Summation/writeIndexedTable.hpp"
    7879#include "Fragmentation/Summation/writeTable.hpp"
    7980#ifdef HAVE_VMG
     
    119120  std::string filename;
    120121  filename += FRAGMENTPREFIX + std::string("_CycleEnergy.dat");
     122  writeToFile(filename, energyresult);
     123}
     124
     125/** Print (short range) energy, forces, and timings from received results per index set.
     126 *
     127 * @param results summed up results container
     128 */
     129void printReceivedShortResultsPerIndex(
     130    const FragmentationShortRangeResults &results)
     131{
     132  // print tables  per keyset(without eigenvalues, they go extra)
     133  typedef boost::mpl::remove<
     134        boost::mpl::remove<MPQCDataEnergyVector_t, MPQCDataFused::energy_eigenvalues>::type,
     135      MPQCDataFused::energy_eigenhistogram>::type
     136    MPQCDataEnergyVector_noeigenvalues_t;
     137  const std::string energyresult =
     138      writeIndexedTable<MPQCDataEnergyMap_t, MPQCDataEnergyVector_noeigenvalues_t >()(
     139          results.Result_perIndexSet_Energy, results.getMaxLevel());
     140  LOG(2, "DEBUG: Indexed Energy table is \n" << energyresult);
     141  std::string filename;
     142  filename += FRAGMENTPREFIX + std::string("_IndexedEnergy.dat");
    121143  writeToFile(filename, energyresult);
    122144}
     
    512534  shortrangeresults(shortrangedata);
    513535  printReceivedShortResults(shortrangeresults);
     536  printReceivedShortResultsPerIndex(shortrangeresults);
    514537
    515538  /// now do we need to calculate the cycle contribution
  • src/Fragmentation/Summation/HeaderPrinter.hpp

    rf58e56 r47cee7  
    3131 */
    3232struct HeaderPrinter {
    33   HeaderPrinter(const std::string &init) :
    34     header(init)
     33  HeaderPrinter(const std::string _suffix = std::string("")) :
     34    header(""),
     35    suffix(_suffix)
    3536  {}
    3637
    3738  template <typename MapKey>
    3839  void operator()(MapKey &) {
    39     header += std::string("\t") + printKeyNames::printName<MapKey>();
     40    header += std::string("\t") + printKeyNames::printName<MapKey>() + suffix;
    4041  }
    4142
     
    4647private:
    4748  std::string header;
     49  std::string suffix;
    4850};
    4951
  • src/Fragmentation/Summation/Makefile.am

    rf58e56 r47cee7  
    2727        Fragmentation/Summation/SumUpPerLevel.hpp \
    2828        Fragmentation/Summation/ValuePrinter.hpp \
     29        Fragmentation/Summation/writeIndexedTable.hpp \
    2930        Fragmentation/Summation/writeTable.hpp \
    3031        Fragmentation/Summation/ZeroInstance.hpp
  • src/Fragmentation/Summation/ValuePrinter.hpp

    rf58e56 r47cee7  
    3131template <typename MapType, int numprecision=5>
    3232struct ValuePrinter {
    33   ValuePrinter(const MapType &_instance, const size_t level) :
     33  ValuePrinter(const MapType &_instance) :
    3434    instance(_instance),
    35     value(toString(level))
     35    value("")
    3636  {}
    3737
  • src/Fragmentation/Summation/writeTable.hpp

    rf58e56 r47cee7  
    3838
    3939    /// create header line for energy
    40     HeaderPrinter header("level");
     40    resultstream << "level";
     41    HeaderPrinter header;
    4142    boost::mpl::for_each<VectorType>(boost::ref(header));
    4243    resultstream << header.get() << std::endl;
     
    4748          "writeTable<M,V>() - results has insufficient size.");
    4849      for (size_t level = StartLevel; level <= MaxLevel; ++level) {
    49         ValuePrinter<MapType, numprecision> values(results[level-1], level);
     50        resultstream << level;
     51        ValuePrinter<MapType, numprecision> values(results[level-1]);
    5052        boost::mpl::for_each<VectorType>(boost::ref(values));
    5153        resultstream << values.get() << std::endl;
  • tests/regression/Fragmentation/AnalyseFragmentationResults/testsuite-fragmentation-analyse-fragment-results.at

    rf58e56 r47cee7  
    3434AT_CHECK([output=BondFragment_Eigenvalues.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/ShortRange/$output], 0, [ignore], [ignore])
    3535AT_CHECK([output=BondFragment_Eigenhistogram.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/ShortRange/$output], 0, [ignore], [ignore])
     36AT_CHECK([output=BondFragment_IndexedEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/ShortRange/$output], 0, [ignore], [ignore])
    3637
    3738AT_CLEANUP
     
    6566AT_CHECK([output=BondFragment_Eigenvalues.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/$output], 0, [ignore], [ignore])
    6667AT_CHECK([output=BondFragment_Eigenhistogram.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/$output], 0, [ignore], [ignore])
     68AT_CHECK([output=BondFragment_IndexedEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/$output], 0, [ignore], [ignore])
    6769AT_CHECK([grep "File contains long-range information" stderr], 0, [ignore], [ignore], [
    6870        AT_CHECK([output=BondFragment_LongRangeEnergy.dat; diff $output ${abs_top_srcdir}/tests/regression/Fragmentation/AnalyseFragmentationResults/post/LongRange/$output], 0, [ignore], [ignore])
Note: See TracChangeset for help on using the changeset viewer.