[lammps-users] minimization

Dear All!

I want to stretch a BN ribbon at 300K and I want to minimize it before stretching. Do I have to minimize the ribbon at it’s free state (without fixing the ends and setting it at 300K)? Or do I have to first fix the end conditions of the ribbon and set it to 300K with the Langevin command and then minimize it? In other words, is the following code correct for minimization?

fix 3 Right setforce 0 0 0
fix 4 Left setforce 0 0 0
velocity Left set 0 0 0

fix noise Middle langevin 300 300 1 123
fix NVE all nve

restart 5000 restart_file_
run 30000

min_style cg
minimize 1e-30 1e-20 5000000 10000000


If you want to get rid of pre-stress from the system completely, then you should do minimization/equilibration with free ends.

If the model is periodic, free ends might not be a problem. You may observe some wrinkle formation, which is obvious in many 2D structures.


I assume your stretching simulation will be at 300K. So, it would be preferable to do equilibration at 300K before stretching.

If equilibration at 300K doesn’t work, you could start with low temperature though.


min_style cg
minimize 1e-30 1e-20 5000000 10000000

Here, in minimization criteria that you have used is irrelevant. The minimization command is:
minimize etol ftol maxiter maxeval
where the first component is energy tolerance limit, the second one is force tolerance limit, etc. Setting these with values 1e-30 and 1e-20 is inappropriate. Please read the document and think about what you are trying to do. Setting these as arbitrary is not correct.

If you want to minimize this at some particular temperature you have to use minimization with some ensemble like nvt, npt etc., or thermostat with some initial velocity and if not then unfix the previous fixes and simply minimize, it will minimize at temperature ~ 0 K.

You have to understand when u really want to minimize your system (Before or after). Generally, we do minimization before equilibration and then elongation or deformation.
Please go through some examples given in lammps directory.

One question:

The Lammps documentation does not list any time integration fix such as NVT/NPT to be invoked during minimization. So, should not these fixes be inactive during minimization, or am I missing something? Besides, minimization works kind of like a time integration where it updates position of atoms. Allowing other time integration simualtaneously would create conflicts I suspect.

Time integration fixes, thermostats and temperature are ignored during minimization.
A minimization will always try to move a system toward a 0K structure and thus it would be counterproductive to be used for a system that is supposed to be equilibrated to a finite temperature, unless the initial structure has high potential energy (e.g. because of random or strongly randomized positions).

Thank you sir.
I always use minimization before starting any simulation on any models. But, I have one paper published by NASA members (Paper: “Molecular dynamics simulations of phenolic resin: Construction of atomistic models”), where after cross-linking, they are suggesting the combination of dynamics and minimization. The cross-linking takes place at finite temperature. So, the model is at finite temperature and they are performing local stress/energy minimization after cross-linking. At that point, if we perform minimization whether it will be 0 K or finite temperature? Isn’t the purpose of minimizing at that point is to bring the system energy to the minimum of that particular temperature?

Please look to the section “Local stress/energy minimization”. I hope the answer to this will clear the concept of minimization more.

Please all others who want to put their answers to this are welcomed.