units command in SPH example

Dear Steve And Georg,

There are some examples in examples/USER/sph directory. Among them there is an example with name water_collapse. The unit that have been used in this example is “lj”. When change this unit to another unit such as “si” or “cgs” without change other values such as mass , timestep, density, etc. all results are the same. I think it is a bug. Please clear me.

Thanks a lot

water_collapse.lmp (2.34 KB)

data.initial (3.38 MB)

Dear Yasti,

the SPH implementation does not work with actual physical units. It is only assumed that the input script uses a consistent set of units.

No conversion factors to switch between different unit systems are applied anywhere in the USER-SPH package.

Mit freundlichen Grüßen / With best regards,

Georg Ganzenmüller

So Georg’s answer is the good news. You can use any

self-consistent units in LAMMPS. LJ, cgs, si are all self-consistent


The bad news is that unless the SPH package uses the

standard conversion factors that the rest of LAMMPS

uses, you cannot use it with non-consistent units.

E.g. real, metal, or anything else. Those factors

are all 1.0 for self-consistent units, but are not

for other units.

So I’d consider that a potential bug of the SPH package.

Georg - is that documented somewhere or checked

for within SPH to throw an error if the user chooses

invalid units?


Dear Steve,

no check for that is implemented as of now.
I should add a check to both USER-SPH and USER-SMD.

Best wishes, Georg