[lammps-users] Need your help for ibar parameter in MEAM potential in Lammps!!

Hi, dear LAMMPers and EAMers:

In command pair_style meam, it has 19 parameters: elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, t0, t1, t2, t3, rozero, ibar.
I know the meaning of all the parameters but last one ‘ibar’. It seems that it does not show up in MEAM potential formulas.

Could anyone give me help about this?

Best Regards

Rongguang

ibar determines the model of the background density that goes with the material that you are simulating.

This is the DYNAMO function for rhobar:

c************************************************************************
c this routine calculates unscaled rhobar
c
       function bar(rho0,A,ibar,z,dang1,dang2)
         implicit real*8 (a-h,o-z)
         data x0,n/-0.9,9/
c n=-x_0/(1+x_0)
c rhobar = rho0 * ang
c derivative of angular term wrt rho0 and A the angular density
         common /err/ ibarer,ibare
         data ibarer/0/
cprint *,'in bar ',rho0,A,ibar,z
         bar=1e-20
         if(rho0.le.0.0) return
         ib=abs(ibar)
         if (ib.eq.0 .or. ib.eq.4) then
c ang = sqrt(1+A/rho0^2)
           ang = (1+A/rho0**2)
           if(ang.lt.1+x0) then
           x=ang-1
           ang=sqrt((1+x0)*(x0/x)**n)
           dang1=ang*n/rho0
           dang2=-ang*n/(2*A)
              ibare=ibare+1
              ibarer=ibarer+1
cprint *,'in bar ',rho0,A,x0
           else
           ang=sqrt(ang)
              dang1 = -A/(rho0**3*ang)
              dang2 = 1/(2*rho0**2*ang)
           endif
         elseif (ib.eq.1) then
c ang = exp(0.5 A/rho0^2)
           ang = exp(0.5*A/rho0**2)
           dang1 = -ang*A/rho0**3
           dang2 = ang/(2*rho0**2)
         elseif (ib.eq.2) then
c ang = exp(0.5 A/z^2)
           ang = exp(0.5*A/z**2)
           dang1 = 0
           dang2 = ang/(2.0*z**2)
         elseif (ib.eq.3) then
c ang = 2/(1+exp(-A/rho0^2)
           ex=exp(-A/rho0**2)
           ang = 2.0/(1.0+ex)
           dang1 = -ang**2*ex*A/rho0**3
           dang2 = ang**2/2.0*ex/rho0**2
         endif
         bar=rho0*ang
cprint *,'leaving bar',bar
         return
       end

There must be something analogous in LAMMPS.

Steve Valone