LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] QMMM with lammps
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] QMMM with lammps

From: daniele selli <daniele.selli@...7246...>
Date: Mon, 20 Nov 2017 14:54:15 +0100

Dear Axel,

thank you for your reply.
I knew about the first point you reported on LAMMPS coupled to quantum espresso, but the second and third points
are new to me. However, it seems that there isn't a proper QM-MM interaction between the LATTE or DFTB+ codes and lammps.

I try to be more specific with my problem. I know you can set a certain charge for atoms in lammps,
and on those atoms the code can calculate potential and forces.
But I would like to know if I can define external charges, just charges not charged atoms and if on these
POINT charges the code can calculate electrostatic potential (I am pretty sure it does) and forces (not all
codes calculate forces on external point charges).


2017-11-20 12:49 GMT+01:00 Axel Kohlmeyer <akohlmey@...24...>:

On Mon, Nov 20, 2017 at 4:16 AM, daniele selli <daniele.selli@...7246...> wrote:
Dear All,

I would like to use lammps to perform QMMM calculations using our
own QM-MM interface.
In order to do that, we need lammps to handle external charges. This means
that at each MD step, the forces on the QM atoms due to the MM point charges are calculated, as well as the forces on the MM charges due to interaction with the QM atoms.

​this is a rather vague description and thus difficult to provide any specific advice.​
Does lammps allows to calculate forces on point charges?

​interaction with point charges is what all */coul/* styles do. again, because if your vague description, it is not possible to provide a specific answer.​
If yes, which is the command to do that?

​it is unlikely that you will be able to set this up without some C++ programming.
there are multiple ways, how LAMMPS is coupled to external programs.
- there is the generic QM/MM library in LAMMPS that currently couples LAMMPS to quantum espresso, where there is a driving code, which uses different MPI partitions and through that manages 2 copies of LAMMPS and 1 copy of quantum espresso and then a fix qmmm to communicate the information between the different partitions.
- there is the LATTE package, which couples LAMMPS to a tight-binding code, where LAMMPS is the driver and then the LATTE code is called through a library interface from fix latte
- there is the coupling of LAMMPS to the DFTB+ code, where the DFTB+ code is the driver and interaction with LAMMPS is handled through callback functions registered with fix external

i suggest you study those three examples and the related documentation and readme files. then identify which of those is closest to what you need and then copy/rename/adapt the corresponding code to your needs.



Thank you all for your willingness,

Daniele Selli

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
lammps-users mailing list

Dr. Axel Kohlmeyer  akohlmey@...24...
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.