Changeset 7294dc for src/Fragmentation


Ignore:
Timestamp:
Jun 21, 2017, 9:51:24 PM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, AutomationFragmentation_failures, Candidate_v1.6.1, ChangeBugEmailaddress, ChemicalSpaceEvaluator, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph_documentation, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, ForceAnnealing_oldresults, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, Gui_displays_atomic_force_velocity, IndependentFragmentGrids_IntegrationTest, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, StoppableMakroAction, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps
Children:
101d2d
Parents:
9f2071
git-author:
Frederik Heber <heber@…> (03/23/17 17:11:47)
git-committer:
Frederik Heber <frederik.heber@…> (06/21/17 21:51:24)
Message:

FIX: Fixing the use of the trajectories that were changed to maps.

  • as the atom's trajectories are now stored inside a map, i.e. not every step necessarily needs to be present, there will still some places in the code that were meant for the old vector storing.
  • Atom::UpdateStep() updates the current step, not the future step.
  • AtomInfo::append/removeTrajectoryStep() now no longer ASSERT that the step is not the current one. Due to the trajectory in map concept (with current it simply sought by lower_bound()) this is no longer necessary.
  • HydrogenPool no longer adds all trajectory steps till current time.
  • World has commented out code for also copying the current atom positions in case a new time step is added, but this is not used as so far we do not recognize whether it is a new time step ... and also it is not really necessary.
  • TESTS: Removed XFAILs from tests of previous commit. They are all working again.
Location:
src/Fragmentation/Exporters
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Exporters/HydrogenPool.cpp

    r9f2071 r7294dc  
    9191      +" from pool is already in use.");
    9292  LOG(3, "DEBUG: Leasing " << *Walker << ".");
    93   UpdateSteps(Walker);
    9493  HydrogenInUse.insert( std::make_pair( Walker->getId(), Walker) );
    9594  HydrogenQueue.pop_front();
    9695
    9796  return Walker;
    98 }
    99 
    100 void HydrogenPool::UpdateSteps(atom * _atom) const
    101 {
    102   // make sure we are up to current time step
    103   const size_t CurrentTime = WorldTime::getTime();
    104   for (size_t step = _atom->getTrajectorySize(); step <= CurrentTime; ++step)
    105     _atom->UpdateStep(step);
    10697}
    10798
  • src/Fragmentation/Exporters/HydrogenPool.hpp

    r9f2071 r7294dc  
    7373  void cleanup();
    7474
    75   /** Helper function to make sure \a _atom is up to current time step.
    76    *
    77    * \param _atom atom to bring trajectory size up to speed
    78    */
    79   void UpdateSteps(atom * _atom) const;
    80 
    81 
    8275private:
    8376  //!> typedef for the deque of available hydrogens.
Note: See TracChangeset for help on using the changeset viewer.