void VectorMultiColvar::addForcesOnAtoms( const std::vector<double>& inforces ){ plumed_dbg_assert( inforces.size()==getNumberOfDerivatives() ); std::vector<double> oldforces( getNumberOfDerivatives() ); getForcesFromVessels( oldforces ); for(unsigned i=0;i<getNumberOfDerivatives();++i) oldforces[i]+=inforces[i]; setForcesOnAtoms( oldforces ); }
void SecondaryStructureRMSD::apply(){ if( getForcesFromVessels( forcesToApply ) ) setForcesOnAtoms( forcesToApply ); }
void MultiColvarBase::apply(){ if( getForcesFromVessels( forcesToApply ) ) setForcesOnAtoms( forcesToApply ); }
void Mapping::apply(){ if( getForcesFromVessels( forcesToApply ) ){ addForcesOnArguments( forcesToApply ); if( getNumberOfAtoms()>0 ) setForcesOnAtoms( forcesToApply, getNumberOfArguments() ); } }
void ActionWithIntegral::apply(){ if( getForcesFromVessels( forcesToApply ) ) ingrid->setForce( forcesToApply ); }