Re: extracting force on a single atom

From: Jérôme Hénin (jerome.henin_at_ibpc.fr)
Date: Thu Aug 31 2017 - 05:37:13 CDT

Hi Ben,

Two things here. The first one is, you probably want to use loadTotalForces
rather than loadForces (loadforces will only collect external forces
applied through TclForces). Second, with loadTotalForces, data is collected
at the end of one timestep and available on the next. So no data will be
available on the very first timestep, and then the forces you'll get will
be stale by one timestep.

Best,
Jerome

On 31 August 2017 at 02:18, Ben Adams <benny.adams1993_at_gmail.com> wrote:

> Dear NAMD users,
>
> I've been looking everywhere to find a way to extract forces on a single
> atom. It seems the best way is to use "tclforces". Here is that part of my
> NAMD configuration file:
>
> tclForces on
> tclForcesScript {
> set nter [addgroup {3}]
> set cter [addgroup {4}]
> proc calcforces {} {
> global nter cter
> loadcoords coor
> loadforces forces
> print nter=$forces($nter)
> print nter=$coor($nter)
>
> }
> }
>
>
> Unfortunately it doesn't recognize "loadforces" and I get the following
> error:
>
> FATAL ERROR: can't read "forces(g1)": no such variable
> while executing
> "print nter=$forces($nter)"
> (procedure "calcforces" line 5)
>
> I also tried "$forces(4)" and got the same error.
> I search through mailing list. Such a problem is being reported several
> times but there are no answers to them.
> Can anybody help me with that?
> Is there any other way beside "dcdforces" (which outputs all the atoms
> together) to get forces for a single atom?
>
> Regards,
>
> Ben
>
>

This archive was generated by hypermail 2.1.6 : Sun Dec 31 2017 - 23:21:36 CST