# [lammps-users] granular reduced units

Dear all,

I have a few questions regarding granular reduced units in lammps, and
their relation to si units.

* I understand that the length unit is the diameter d of the grains,
that can be specified in the fix pour command. Is that correct?

* I understand that the mass unit is the mass of one grain m = dens *
(pi/6) * d^3. In that case, the grain mass can be set to one by
specifying a density of 6/pi ~ 1.91 in the fix pour command. Is that
correct?

* But for time I'm confused since their is no obviously defined energy
scale as for LJ units. Time appears when Newton's law is applied,
namely acceleration is set to force/mass. Then if one refers to the
gravity force g/m, the time unit will be sqrt(d/g); but if one
considers the pair forces, then the time unit will be defined as
sqrt(rho*d^3/Kn). One can also define the time unit through the
inverse of gamma_n...

My concerns are that:

1. these different time scales evolve differently with the grain size.
Is one of them more relevant to granular MD simulations?
2. I don't know which one to use to translate the results into real
units.What would be the smart way to do this?

I'm asking all these questions because my student is facing strange
problems (in particular a huge increase of computing times) when the
grain size is multiplied by two, and every other paramter is hopefully
rescaled accordingly -using a time unit of sqrt(d/g).

Best regards,
Laurent Joly

Hi Laurent,
I will share my understanding about the granular units in LAMMPS, as i told these are my understanding, others are also welcome to pour more thoughts about it.

1. You are correct that length unit is the diameter of particles or grains, d_0.
2. The units of mass also is same as you defined, and to scale the mass to unity we generally specify density as 1.91.

As i see the granular systems there could be mainly two kinds of scalings one can derive,

1. Gravity based scaling
2. Shear based scaling.

One can derive the scaling for different quantity as below,

Parameters Gravity Scaling Shear Scaling
Length d_0 d_0
Time sqrt{d_0/g} 1/ \dot \gamma
Velocity sqrt{g d_0} d_0 \dot \gamma
Force m_0 g m_0 d_0 \dot \gamma^2
Stiffness m_0 g/d_0 m_0\dot\gamma^2
Stress m_0g/ d_0^2 m_0\dot \gamma^2/d_0

where d_0 is the diameter of particle, g is acceleration due to gravity, m_0 is the mass of particle, \dot\gamma is the applied shear rate.

If your problem just involve shear (no gravity), then one can directly use the Shear based scaling or vice versa. But if your problem involves both shear and gravity, then selection of correct scaling for should be determined from the limiting time scale involve in the problem.

One can think in the another way is to treat the problem in terms of dimensionless groups instead of thinking about whether the input parameter are dimensional or not. For example in simulations without gravity, as long as we keep k*=k_n/(m \dot \gamma^2) the same as real system’s k*, we should get the same theological behavior no matter what k_n and \gamma^2 are input to the code. (k_n being the input parameter instead of k*). This is at least true according to Campbell’s work. In similar lines you really donot need to care about whether the input is “real” or dimensionless as long as your dimensionless groups are the values you desire for the simulation. For example if you want k*=k_n/(m\dot \gamma^2) to be 10^9, you may use k_n=10^5, m=1, \dot \gamma=0.01 or k_n=10^3, m=1 and \dot\gamma=0.001.

One can rescale these quantities based on the scaling used in a particular simulations. As i told these are my understanding about the units and how to use LAMMPS for a granular system, others can also put more thoughts about this, which will help to improve our understanding.

Regards,
Vidya

a) There is nothing special about "granular reduced" units.
That is just using "units LJ" in LAMMPS for a granular
system. I.e. reduced units are used in many settings
for MD kinds of models, whether they are granular or not.

b) if the compute time goes up dramtically for particles
that are 2x larger - then I would try to figure out why. Do
you mean on a per-timestep basis? If so, then I would
look at the LAMMPS output for a short run and see if
the fraction of time for something (pair forces, neighbor list build, etc)
changed dramatically. Or if the neighbor stats changed
dramatically, e.g. number of neighbors, frequency of
reneighboring, etc. If you mean something else (e.g.
you need smaller timesteps to stay stable), then that
is a model issue.

Steve

a) There is nothing special about "granular reduced" units.
That is just using "units LJ" in LAMMPS for a granular
system. I.e. reduced units are used in many settings
for MD kinds of models, whether they are granular or not.

Indeed, maybe I was thinking of time scales rather than time unit...
But it seems to me that this can be relevant, for instance when
choosing the timestep: if the typical time scale is signficantly
smaller than one, then the timestep should be even smaller.

b) if the compute time goes up dramtically for particles
that are 2x larger - then I would try to figure out why. Do
you mean on a per-timestep basis? If so, then I would
look at the LAMMPS output for a short run and see if
the fraction of time for something (pair forces, neighbor list build, etc)
changed dramatically. Or if the neighbor stats changed
dramatically, e.g. number of neighbors, frequency of
reneighboring, etc. If you mean something else (e.g.
you need smaller timesteps to stay stable), then that
is a model issue.

Thank you for the hints. We'll try to investigate the problem on
simple systems...

Best regards,
Laurent

It is true that the timestep in a granular system
in reduced units may need to be small. This is
due to stiff repulsive overlap forces in the granular
potential. So the bigger you make K, the smaller
the timestep you need.

Steve