[lammps-users] How many atoms can lammps simulate ?

Dear lammps user,

My lammps version is 29 Oct 2020 .

As I have been using lammps much, I came up to a point where I need to increase the number of atoms in my system to be millions or maybe billions of atoms.

My first understanding about increasing the number of atoms is by enlarging the simulation box. I feel this will not work if I need to simulate millions/billions of atoms

Could you please tell me how to increase the number of atoms in my simulation to orders of millions/billions ?

Thanks in advance .


The size limits of LAMMPS depend on how it is compiled and what features are used/required.
A discussion of the core limits per MPI rank and globally is given here: https://docs.lammps.org/Build_settings.html#size
Other limits are discussed in the affected commands or have a test included in the source that will abort the simulation if the limit is reached or both.
An additional limit is how long you are willing to wait. The time required until a simulation is finished increases at best linear with the number of atoms, but it may also be O(N log(N)) or worse. If you also increase the number of processors, then it depends on how good the parallel communication is set up.

How to increase the number of atoms depends on how you input your atoms. If you use create_atoms, you need to use a correspondingly larger region, if you use read_data, you need to create a correspondingly larger system with whatever method you use to generate data files. In addition, you can “grow” a larger system by using the replicate command.

There are many ways to insert atoms in your simulation's box, either with additional softwares like Atomsk or through LAMMPS' own commands, for which you'll have to read the documentation. You can add as many particles or atoms as you want, but doing so will increase computational cost. Simulating millions of atoms already requires high-end PCs and as far as I know no one has yet been able to simulate billions with LAMMPS. Maybe you need to step up the scale and go for mesoscale or continuum softwares.



far as I know no one has yet been able to simulate billions with LAMMPS.

You have to update your knowledge. LAMMPS has been updated to support multi-billion atom systems quite some time ago.
I don’t remember the exact study, but I recall somebody mentioning simulations with 10s of billions of atoms that were done using LAMMPS.

There may be a bit of a friendly competition between LAMMPS and NAMD users for who has been running the simulation of the largest system.
Those will become more common as new exascale supercomputers are scheduled to come online.

We would not have pull requests like this one, https://github.com/lammps/lammps/pull/3021

If people would not run multi-billion atom simulations and run into size limitations of LAMMPS features. :wink: