Re: vmd-l: Re: On-the-fly modification of tclforces script?

From: Tristan Croll (tristan.croll_at_qut.edu.au)
Date: Fri Nov 13 2015 - 19:28:39 CST

Only in the fact that I was ignorant of their existence, by the looks of things. Well, that makes life easier...

 
 
Tristan Croll
Lecturer
Faculty of Health
School of Biomedical Sciences
Institute of Health and Biomedical Engineering
Queensland University of Technology
60 Musk Ave
Kelvin Grove QLD 4059 Australia
+61 7 3138 6443
 
This email and its attachments (if any) contain confidential information intended for use by the addressee and may be privileged. We do not waive any confidentiality, privilege or copyright associated with the email or the attachments. If you are not the intended addressee, you must not use, transmit, disclose or copy the email or any attachments. If you receive this email by mistake, please notify the sender immediately and delete the original email.
 
 

> On 14 Nov 2015, at 11:05 am, John Stone <johns_at_ks.uiuc.edu> wrote:
>
> Tristan,
> Since I don't have much context from the prior discussion, how does this
> differ from setting ufx/ufy/ufz in VMD?
>
> Cheers,
> John
>
>> On Sat, Nov 14, 2015 at 12:14:28AM +0000, Tristan Croll wrote:
>> Something like:
>>
>> imd impulse <mol> <index> <force vector>
>>
>> as a simple wrapper for addForce would add a lot of flexibility.
>>
>> Cheers,
>>
>> Tristan
>>
>>
>> ________________________________________
>> From: Tristan Croll
>> Sent: Saturday, 14 November 2015 8:48 AM
>> To: Jim Phillips; namd-l_at_ks.uiuc.edu; Tristan Croll
>> Cc: vmd-l_at_ks.uiuc.edu
>> Subject: Re: namd-l: On-the-fly modification of tclforces script?
>>
>> Hi again,
>>
>> Before seriously getting into this, I'm thinking it would be more elegant (and long-term useful) to make Molecule::addforce (from Molecule.C) available as a TCL command in VMD. On the downside, the added forces would have to be calculated (or at least re-applied) at each step in VMD, but on the plus side there's no file i/o involved. What do you think?
>>
>> Thanks,
>>
>> Tristan
>>
>> ________________________________________
>> From: owner-namd-l_at_ks.uiuc.edu <owner-namd-l_at_ks.uiuc.edu> on behalf of Tristan Croll <tristan.croll_at_qut.edu.au>
>> Sent: Wednesday, 11 November 2015 8:03 AM
>> To: Jim Phillips; namd-l_at_ks.uiuc.edu
>> Subject: Re: namd-l: On-the-fly modification of tclforces script?
>>
>> Thanks Jim. I'll start tinkering with that.
>>
>> ________________________________________
>> From: Jim Phillips <jim_at_ks.uiuc.edu>
>> Sent: Wednesday, 11 November 2015 1:53 AM
>> To: namd-l_at_ks.uiuc.edu; Tristan Croll
>> Subject: Re: namd-l: On-the-fly modification of tclforces script?
>>
>> Hi Tristan,
>>
>> In NAMD 2.11b1 you can do the following:
>>
>> tclForces on
>> tclForcesScript {
>> }
>> startup
>> while ( 1 ) {
>> clearconfig ; # drop previously requested atoms
>> source forcescript.tcl
>> run 200
>> }
>>
>> The main function of the tclForcesScript is to delay tclForces setup until
>> after startup has progressed far enough to process atom lookup commands.
>> You can give it /dev/null or an inline script with at least one newline as
>> above. I could make tclForcesScript optional, but I think keeping it
>> mandatory results in clearer error messages for new users.
>>
>> The "startup" command is like "run 0" without the force calculation, so it
>> won't notice that you haven't defined a calcforces proc. Without the
>> "startup" command you would need to do this:
>>
>> tclForces on
>> tclForcesScript {
>> proc calcforces {} { }
>> }
>> run 0
>> .
>>
>> Note that in 2.11b1 if you want total forces on atoms/groups you need to
>> explicitly request them. For backwards compatibility use "catch":
>>
>> tclForces on
>> tclForcesScript {
>> catch { enabletotalforces }
>> proc calcforces {} { }
>> }
>>
>> Also, since you're hoping to push updates from VMD, you at least need to
>> use an atomic filesystem operation like rename to update forcescript.tcl
>> so NAMD doesn't see an incomplete file, or you could use sockets. For an
>> example see the file lib/replica/namd_replica_server.tcl in NAMD 2.8.
>>
>> Jim
>>
>>
>>> On Tue, 10 Nov 2015, Tristan Croll wrote:
>>>
>>> Hi all,
>>>
>>>
>>> I'm looking for a way to add some more complex interactions to interactive MD simulations (e.g. to force a defined group of atoms into a particular conformation). Preferably I'd like to be able to do this on-the-fly without having to restart the simulation. Would an approach something like the following in the NAMD configuration file work?
>>>
>>>
>>> tclForces on
>>>
>>>
>>> while {1} {
>>>
>>> tclForcesScript forcescript.tcl
>>>
>>> run 200
>>>
>>> }
>>>
>>>
>>> .. with forcescript.tcl being modified/replaced as necessary from within VMD?
>>>
>>>
>>> Thanks,
>>>
>>>
>>> Tristan
>
> --
> NIH Center for Macromolecular Modeling and Bioinformatics
> Beckman Institute for Advanced Science and Technology
> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> http://www.ks.uiuc.edu/~johns/ Phone: 217-244-3349
> http://www.ks.uiuc.edu/Research/vmd/

This archive was generated by hypermail 2.1.6 : Thu Dec 31 2015 - 23:22:14 CST