Hi!

When using 'intel' styles from the USER-INTEL package, the default 'mode', is

'mixed', meaning that:

calculations between pairs or triplets of atoms are performed in single

precision, intended to be within the inherent error of MD simulations. All

accumulation is performed in double precision to prevent the error from

growing with the number of atoms in the simulation.

(https://lammps.sandia.gov/doc/Speed_intel.html)

How does one decide when it is okay to use the default, and when to use

'double'?

I assume that in cases where an energy minimisation occurs, it would make

sense to calculate forces at a higher precision.

What other situations is this advisible for?

Thanks!

Vishnu

Hi!

When using ‘intel’ styles from the USER-INTEL package, the default ‘mode’, is

‘mixed’, meaning that:

calculations between pairs or triplets of atoms are performed in single

precision, intended to be within the inherent error of MD simulations. All

accumulation is performed in double precision to prevent the error from

growing with the number of atoms in the simulation.

(https://lammps.sandia.gov/doc/Speed_intel.html)

How does one decide when it is okay to use the default, and when to use

‘double’?

I assume that in cases where an energy minimisation occurs, it would make

sense to calculate forces at a higher precision.

no. it has little to do with this.

What other situations is this advisible for?

computing forces in single precision is acceptable, when sufficient error cancellation happens, e.g. when you compute forces in a homogeneous system and when the system is small enough, that the loss of precision when representing atoms far away from the origin does not matter much. also for computing pressure, since stress converges less well than forces with respect to the correctness of the potential function and particularly variable cell calculation, using double precision is advisable.

there are differing opinions about what accuracy and what degree of error cancellation is acceptable, so don’t expect that what one person recommends will be ok with another.

axel.

computing forces in single precision is acceptable, when sufficient error

cancellation happens, e.g. when you compute forces in a homogeneous system

and when the system is small enough, that the loss of precision when

representing atoms far away from the origin does not matter much.

My systems are fairly homogenous and isotropic in particle density, and have

~100K atoms. Also, the force cut-off is such that each particle has upto about

12 neighbours (this can go upto about 25 for some models I use).

also for

computing pressure, since stress converges less well than forces with

respect to the correctness of the potential function and particularly

variable cell calculation, using double precision is advisable.

I will keep that in mind, if I need to compute stresses and pressures.

there are differing opinions about what accuracy and what degree of error

cancellation is acceptable, so don't expect that what one person recommends

will be ok with another.

Yes, but exactly what measure(s) does one use, to decide?