[gmx-users] Implementation of time-dependent Electric Field

Erik Lindahl lindahl at sbc.su.se
Wed May 10 14:21:42 CEST 2006


On May 10, 2006, at 1:24 PM, David van der Spoel wrote:

> Viswanadham Sridhara wrote:
>> Hi everyone,
>> This is regarding implementation of time-dependent electric field  
>> on the system.
>> I tried looking into the manual, and did a bit of survey in  
>> mailing lists. I still dont know how to implement E_zt in .mdp  
>> options.
>> As an example, can anyone tell me how to implement a 5ns E (V/nm)  
>> trapezoidal pulse (1ns rise and fall times with 3ns pulse on time).
> you can't.
> please check the source code, src/mdlib/sim_util.c

To clarify - the routine in question is called calc_f_el() and is  
_extremely_ simple, so you can probably implement it yourself with  
very little extra work.

The coordinates of particule i (counting starts from 0, since we're  
using C) are available in units of nm in


Similarly, the forces you want to alter are in units of kJ/mol/nm, in


... and the particle charge is charge[i], in electron charge units.

So, go through all particles, check e.g. the z-coordinate and assign  
a field in V/nm based on this. We need to convert it to MD units too,  
so the force correction will be

f[i][ZZ] += your_calculated_field_at_this_z_coordiate * FIELDFAC *  



More information about the gromacs.org_gmx-users mailing list