New force filed implementaion

Hi,

I do not know how to implement new FF. So far I have been using software package for MD simulation. I am not much into code writing.

Could you please tell where should I look for these FF functions in the LAMMPS source code? How should I start to implement these FF ?

Thank You,
Niladri Patra

Hi,

I do not know how to implement new FF. So far I have been using software
package for MD simulation. I am not much into code writing.

​then you either have to learn it or find a suitable collaborator.​

Could you please tell where should I look for these FF functions in the
LAMMPS source code? How should I start to implement these FF ?

​the LAMMPS manual explains how to modify the LAMMPS code, but that is
going to be mostly useless to you unless you have a sufficient​
understanding of C++ programming and how MD codes and force fields work and
so on. you *definitely* cannot learn this from a couple of e-mails. the way
people usually approach this is by writing a small toy MD code for
themselves (for lennard jones potential) and then transfer what they
learned in the process to the larger package program.

axel.

Could you please tell where should I look for these FF functions in the
LAMMPS source code? How should I start to implement these FF ?

​the LAMMPS manual explains how to modify the LAMMPS code, but that is
going to be mostly useless to you unless you have a sufficient​
understanding of C++ programming and how MD codes and force fields work and
so on. you *definitely* cannot learn this from a couple of e-mails. the way
people usually approach this is by writing a small toy MD code for
themselves (for lennard jones potential) and then transfer what they
learned in the process to the larger package program.

Axel advice here is key. Your own toy MD code is always an (the) excellent
way to learn the fundamentals among other things because whats implemented
in lammps goes way beyond the physics and math while incorporating
efficient ways to numerically solve the problems, i.e., parallelism in
different flavours, memory management, etc.
My personal suggestion, as opposed to the more generic one, would be not to
go the LJ atomic way but to go a la Einstein's and write a code that deals
with geometry. More specifically, you write a code where the goal is to
explore an energy landscape with a certain form F(x,y). The F(x,y)
functional can be analytical or numerical and running MD would be nothing
but solving the corresponding equations of motion that deal with the
gradient of F and velocities at a given (x,y) point. Why do I recommend
this? First, because it shows right away that the physics is only in
designing functional forms Fs that mimic the interactions between
particles. The rest is just math and numerics. Second, because
visualization of trajectories and the landscape would be very
straightforward and will help you much more when it comes to find bugs in
the code or in your understanding of the methods. You can implement
anything you want, a minimization scheme, a damped dynamics run, a neb
calculation, a transition state search, etc, and produce a visual
image/movie that your brain can understand and debug right away which will
never happen when the number of degrees of freedom increases.
Carlos