Re: extracting force on a single atom

From: Florian Blanc (blanc.flori_at_gmail.com)
Date: Thu Aug 31 2017 - 10:07:59 CDT

Dear Ben,

I have not tried it, but you wrote "getsetp", when I guess it should be
"getstep".

Good luck,

Florian

On 08/31/2017 05:03 PM, Ben Adams wrote:
> Thank you very much.
> Just for last question, when I use this command in my tclforces
> script, either inside calcforces or just inside tclForces, I get this
> error message:
>
> FATAL ERROR: unknown parameter
>
> while executing
>
> "getsetp"
>
> invoked from within
>
> "set t [getsetp]"
>
>
> I'm using NAMD 2.11.
>
>
> Best,
>
>
> Ben
>
>
> On Thu, Aug 31, 2017 at 8:46 AM, Jérôme Hénin <jerome.henin_at_ibpc.fr
> <mailto:jerome.henin_at_ibpc.fr>> wrote:
>
> What you need to do is define the script from the beginning, but
> do nothing on the first timestep - at least not call
> loadtotalforces. You can use [getstep] to keep track of the timestep.
>
> Jerome
>
>
> On 31 August 2017 at 15:38, Ben Adams <benny.adams1993_at_gmail.com
> <mailto:benny.adams1993_at_gmail.com>> wrote:
>
> Thank you. So if I somehow avoid loadTotalForces at the very
> first timestep my problem will be solved? Do you have any
> suggestions?
> I tried to run for 20 steps and then added my tclForces script
> but it failed:
>
> FATAL ERROR: Setting parameter tclForces from script failed!
>
>
> On Thu, Aug 31, 2017 at 5:37 AM, Jérôme Hénin
> <jerome.henin_at_ibpc.fr <mailto:jerome.henin_at_ibpc.fr>> wrote:
>
> 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
> <mailto: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 : Mon Dec 31 2018 - 23:20:33 CST