Ignore:
Timestamp:
Nov 12, 2017, 8:48:40 AM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
ForceAnnealing_with_BondGraph_continued_betteresults
Children:
8d3610
Parents:
06b7d9
git-author:
Frederik Heber <frederik.heber@…> (08/02/17 20:25:57)
git-committer:
Frederik Heber <frederik.heber@…> (11/12/17 08:48:40)
Message:

BondVectors::getRemnant...() now requires atom's gradient.

  • No more default anneal() without bondgraph, and can't store remnant gradient in force.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Dynamics/BondVectors.cpp

    r06b7d9 r30e1a4  
    287287Vector BondVectors::getRemnantGradientForAtomAtStep(
    288288    const atom &_walker,
     289    const Vector &_walkerGradient,
    289290    const std::vector<Vector> _BondVectors,
    290291    const BondVectors::weights_t &_weights,
     
    292293    forcestore_t _forcestore) const
    293294{
    294   const Vector &walkerGradient = _walker.getAtomicForceAtStep(_step);
    295295  BondVectors::weights_t::const_iterator weightiter = _weights.begin();
    296296  std::vector<Vector>::const_iterator vectoriter = _BondVectors.begin();
     
    303303    const Vector &BondVector = *vectoriter;
    304304
    305     const double temp = (*weightiter)*walkerGradient.ScalarProduct(BondVector);
     305    const double temp = (*weightiter)*_walkerGradient.ScalarProduct(BondVector);
    306306    _forcestore(_walker, current_bond, _step, temp);
    307307    LOG(4, "DEBUG: BondVector " << BondVector << " receives projected force of "
    308         << temp);
     308        << (*weightiter) << "*" << _walkerGradient << "*" << BondVector << " = " << temp);
    309309    forcesum += temp * BondVector;
    310310  }
     
    314314      "BondVectors::getRemnantGradientForAtomAtStep() - vectoriter is not at end when it should be.");
    315315
    316   return walkerGradient-forcesum;
     316  return _walkerGradient-forcesum;
    317317}
    318318
Note: See TracChangeset for help on using the changeset viewer.