How to calculate yield pressure of a specific group of atoms

Dear LAMMPS Users,

I want to calculate metal yield pressure of a group of atoms in LAMMPS. Does anyone know how to do that?

Thank you,
Steven

The answer to this question has two parts:

  1. how to do the calculation
  2. how to interpret the result

Part one is mostly straightforward. The documentation for the compute stress/atom command — LAMMPS documentation has an example that shows how to compute the pressure for the entire simulation cell (assuming periodic boundary conditions, otherwise the volume would be infinity and thus the total pressure must be zero). If you want to do this for a group of atoms, you do things the same way, only that you sum up for that group only and use the volume for that group. However, this is where there is a first problem: while the volume of the total simulation cell is well defined, the volume for a group of atoms is not. Since you have point particles, individual atoms have no volume, and that wouldn’t really matter since you need the “volume they occupy”, and that is not well defined. For irregular shapes it would even be a fractal property, i.e. the volume would depend on the level of detail applied. If you have a periodic and homogeneously dense system, you can compute an “effective volume” by dividing the cell volume by the number of atoms and use that. For an inhomogeneously dense system, you can use voronoi tesselation (compute voronoi/atom command — LAMMPS documentation); for an isolated system, this would only work for groups of atoms that are not on the surface. If the group involves atoms on the surface, then you have to ask yourself whether pressure has a meaning at all (see my comment about pressure for an isolated system).

This leads me to part two of the answer. While looking at pressure for small volumes is straightforward to look at in continuum models of materials, it is not so for atomic (i.e. nanoscale) systems. Pressure (like temperature) is by its nature a “bulk” property and thus using the virial stress formulation and statistical mechanics to interpret per-atom data as bulk data puts some constraints on the interpretation of the results. Due to the small volume and the “discontinuous” data you have large fluctuations; the smaller the volume, the fewer particles the larger. So you can only derive meaningful values when averaging over volume and time. But if the volume changes over time, this becomes increasingly difficult to interpret. Add to that the fact that volume is not very well define at this scale and with this method of determination of pressure, you have to be extremely careful to not overinterpret your results. …and this is not even considering the systematic errors from using classical potentials.

In summary, it is straightforward to compute some numbers, but it is difficult to interpret them.

1 Like

Thanks for your reply! Yes, I think I understand what you said. I’ll try to work on it based on your suggestions. Thank you very much!

Sincerely,
Steven