[lammps-users] non-uniform displacement


I want to apply a non-uniform shear strain field in my MD simulations. my strain field (epsilon_zy) is a function of both y and z. for this, it is not possible to do so using displace_atoms. On the other hand, I checked fix move options too, but I can not use them either, because using wiggle atoms move in oscillatory fashion (as a function of time) . But what I want to do is displace atoms as a function of their y and z positions. The displacement function I am interested looks like :
C0 x atan (g(y)) x abs(h(z))

where C0 is a constant, g(y) and h(z) are functions of atoms y and z positions, respectively. My displacement is not a function of time, because I will apply the displacement in small increments and will equilibrate the system after each displacement increment.
I would appreciate any suggestions.


Using displace_atom most certainly can be used, since you can use atom style variables to define the displacement, which in turn can use the any of the per-atom parameters in expression.