[lammps-users] Relative energy-well depths of Gay-Berne potential

Dear lammps user,

My lammps version is 29 OCt 2020 .

I am interested in simulating ellipsoid particles. However, for some reasons at the moment I am interested in setting all relative energy-well depths to be 1 , i.e., epsilon_x = epsilon_y=epsilon_z = 1 .

With these settings, the matrix of relative energy-well depths will be reduced to the Identity matrix if the chosen energy scale equals 1 .

Will LAMMPS save the time of any multiplication by the identity or will LAMMPS still do the multiplication by the identity which will take some time ?

I am asking this because I am interested in simulating large systems consisting of millions of particles. Hence, avoiding any useless arithmetic operations can save some simulation time

Best regards
Mohammed

two comments on this:

  1. if you want to know details about the implementation of a potential in LAMMPS, you have to look at the source code.
  2. I doubt that your concern is relevant. multiplications with a (small) matrix are “fast” operations, so they only matter for matrices with very large ranks. However, which usually makes up the bulk of (pairwise) computational potential function kernels are mathematical functions like sqrt(), sin(), cos(), tan(), …, and particularly, exp(), log(), and (worst of all) pow() (which usually internally requires one call to log() and then a call to exp()).

Thus before making any claims about performance restrictions or ways to improve on them, it is strongly recommended to do a careful and detailed profiling and performance analysis of the code in question. Without it, you may just waste effort on optimizing what has very little impact on total performance. Or put differently, if you make some part of the code 10 times faster, it may not have much impact if this part consumes only 1% of the total time. If you can make something 10% faster instead that consumes 90% of the total time, you have a much more significant gain.