Fix rigid and minimization

Hi everyone,

I am trying to perform a molecular static simulation for a group of atoms residing on a substrate (both atom types are Copper). I am forced to keep the top group of the atoms as rigid (they need to have rigid body movement). I would like to use fix rigid however this fix is not invoked during the minimization. I cannot use fix setforce 0 0 0 instead of fix rigid because these atoms are coupled with spring to another atom and therefore the force applied to the rigid group cannot be ignored.

Is there any workaround to have fix rigid and minimize working together? I know this might be a long shot but has anyone written/modified the LAMMPS minimize to include fix rigid? Looking at the mailing archives, I saw “simulated annealing MD run” might work instead of minimization. Can someone explain to me what annealing MD is?

Thank you in advance.


There’s pretty much two ways to go about this:

  1. Run normal dynamics but slowly ramp down your temperature and apply some viscous force (like fix langevin or fix viscous) to prevent your simulation from blowing up. The ramping down of the temperature is “annealing”.

  2. Replace the rigid body by a body that is held together by very stiff springs, and after minimizing, activate fix rigid to perform your normal dynamics.

The complexity your input and rigid bodies determine which is the most convenient/straightforward option.

Simulated annealing is your only option. Supporting rigid body motion in the general case for minimization is non-trivial.

Simulated annealing means you start an MD and you gradually remove kinetic energy, e. g. by applying a friction force.

There should be plenty textbook information about this.