Changeset b119a0 for src/Actions


Ignore:
Timestamp:
Oct 19, 2014, 5:10:16 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:
5c8807
Parents:
9e1bfb (diff), 46ce1c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'DynamicMolecules' into Candidate_v1.4.9

Location:
src/Actions
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MoleculeAction/ForceAnnealingAction.cpp

    r9e1bfb rb119a0  
    7979        ++iter) {
    8080      atom * const Walker = iter->second;
    81       Walker->UpdateSteps();
    8281      Walker->setPositionAtStep(CurrentStep+1,
    8382          Walker->getPositionAtStep(CurrentStep));
  • src/Actions/MoleculeAction/VerletIntegrationAction.cpp

    r9e1bfb rb119a0  
    5656using namespace MoleCuilder;
    5757
    58 enum {
     58enum VectorIndexType {
    5959  PositionIndex=0,
    6060  VelocityIndex=1,
    6161  ForceIndex=2,
    6262  MAXINDEX
    63 } VectorIndexType;
     63};
    6464
    6565// and construct the stuff
     
    134134
    135135  // remove current step for all modified atoms
    136   removeLastStep(getIdsFromAtomicInfo(state->UndoInfo));
     136  removeLastStep(getIdsFromAtomicInfo(state->UndoInfo), CurrentStep);
    137137
    138138  // and set back the old step (forces have been changed)
     
    151151
    152152  // set stored new state
    153   addNewStep(state->UndoInfo);
     153  size_t CurrentStep = WorldTime::getInstance().getTime()+1;
     154  addNewStep(state->UndoInfo, CurrentStep);
    154155
    155156  // add a new time step
    156   size_t CurrentStep = WorldTime::getInstance().getTime();
    157   World::getInstance().setTime(CurrentStep+1);
     157  World::getInstance().setTime(CurrentStep);
    158158
    159159  // and set positions of the new step
  • src/Actions/UndoRedoHelpers.cpp

    r9e1bfb rb119a0  
    181181}
    182182
    183 void MoleCuilder::removeLastStep(const std::vector<atomId_t> &_atoms)
     183void MoleCuilder::removeLastStep(const std::vector<atomId_t> &_atoms, const unsigned int _step)
    184184{
    185185  for (size_t i=0; i<_atoms.size(); ++i) {
    186186    atom * const _atom = World::getInstance().getAtom(AtomById(_atoms[i]));
    187     _atom->removeSteps();
    188   }
    189 }
    190 
    191 void MoleCuilder::addNewStep(const std::vector<AtomicInfo> &_movedatoms)
     187    _atom->removeStep(_step);
     188  }
     189}
     190
     191void MoleCuilder::addNewStep(const std::vector<AtomicInfo> &_movedatoms, const unsigned int _step)
    192192{
    193193  for(size_t i=0; i< _movedatoms.size(); ++i) {
    194194    atom * const _atom = World::getInstance().getAtom(AtomById(_movedatoms[i].getId()));
    195     _atom->UpdateSteps();
    196   }
    197 }
    198 
    199 void MoleCuilder::addNewStep(const std::vector<atomId_t> &_ids)
     195    _atom->UpdateStep(_step);
     196  }
     197}
     198
     199void MoleCuilder::addNewStep(const std::vector<atomId_t> &_ids, const unsigned int _step)
    200200{
    201201  for(size_t i=0; i< _ids.size(); ++i) {
    202202    atom * const _atom = World::getInstance().getAtom(AtomById(_ids[i]));
    203     _atom->UpdateSteps();
     203    _atom->UpdateStep(_step);
    204204  }
    205205}
  • src/Actions/UndoRedoHelpers.hpp

    r9e1bfb rb119a0  
    107107   *
    108108   * @param movedatoms atoms whose last step in time to remove
     109   * @param _step which trajectory to remove
    109110   */
    110   void removeLastStep(const std::vector<atomId_t> &movedatoms);
     111  void removeLastStep(const std::vector<atomId_t> &movedatoms, const unsigned int _step);
    111112
    112113  /** Adds another time step to all \a movedatoms.
     
    115116   *
    116117   * @param _ids atoms whose last step in time to remove
     118   * @param _step which trajectory to insert/assign
    117119   */
    118   void addNewStep(const std::vector<atomId_t> &_ids);
     120  void addNewStep(const std::vector<atomId_t> &_ids, const unsigned int _step);
    119121
    120122  /** Adds another time step to all \a movedatoms.
     
    124126   *
    125127   * @param _movedatoms atoms whose last step in time to remove
     128   * @param _step which trajectory to insert/assign
    126129   */
    127   void addNewStep(const std::vector<AtomicInfo> &_movedatoms);
     130  void addNewStep(const std::vector<AtomicInfo> &_movedatoms, const unsigned int _step);
    128131
    129132  /** Helper function to extract id information from vector of AtomicInfo.
Note: See TracChangeset for help on using the changeset viewer.