Changeset 7294dc for src/Atom


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/Atom
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Atom/atom.cpp

    r9f2071 r7294dc  
    103103  LOG(4,"atom::UpdateStep() called.");
    104104  // append to position, velocity and force vector
    105   AtomInfo::AppendTrajectoryStep(WorldTime::getTime()+1);
     105  AtomInfo::AppendTrajectoryStep(WorldTime::getTime());
    106106  // append to ListOfBonds vector
    107   BondedParticleInfo::AppendTrajectoryStep(WorldTime::getTime()+1);
     107  BondedParticleInfo::AppendTrajectoryStep(WorldTime::getTime());
    108108}
    109109
  • src/Atom/atom_atominfo.cpp

    r9f2071 r7294dc  
    9191void AtomInfo::AppendTrajectoryStep(const unsigned int _step)
    9292{
    93   ASSERT (WorldTime::getTime() != _step,
    94       "AtomInfo::AppendTrajectoryStep() - cannot append current time step.");
    9593  NOTIFY(TrajectoryChanged);
    9694  AtomicPosition.insert( std::make_pair(_step, zeroVec) );
     
    105103void AtomInfo::removeTrajectoryStep(const unsigned int _step)
    106104{
    107   ASSERT (WorldTime::getTime() != _step,
    108       "AtomInfo::removeTrajectoryStep() - cannot remove current time step.");
    109105  NOTIFY(TrajectoryChanged);
    110106  AtomicPosition.erase(_step);
Note: See TracChangeset for help on using the changeset viewer.