      subroutine potbo(rab,rbc,rac,v)
c
c   $RCSfile: potbo.f,v $ $Revision: 1.3 $
c   $Date: 89/08/07 09:11:23 $
c   $State: Stable $
c
c
c            P U R P O S E   O F    S U B R O U T I N E
 
 
c            I N P U T    A R G U M E N T S
 
c            O U T P U T    A R G U M E N T S
 
c <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
 

      implicit none

c            L O G I C A L S
      

c            I N T E G E R S
       

c            R E A L S
      real*8 de1, de2, de3, re1, re2, re3, b1, b2, b3, a11, a12,
     >   a13, a21, a22, a23, a31, a32, a33, a14, a24, a34, rab,
     >   rbc, rac, v, x, y, z, sx, sy, ex, ey, exp, ez,    
     >   v3xyz, vbiat, vxx, vyy, vzz, sz, vshow

c            D I M E N S I O N S


c            C O M M O N S
      common/b21/ de1,de2,de3,re1,re2,re3
     >   ,b1,b2,b3
       common/b22/a11,a12,a13,a21,a22,a23,a31,a32,a33,a14,a24,a34

c            I N T R I N S I C    F U N C T I O N S
      intrinsic exp


c            E X T E R N A L S
      external pol3
c
      x=rab
      y=rbc
      z=rac
c
      if(x.le.0.d0)x=1.d-4
      if(y.le.0.d0)y=1.d-4
      if(z.le.0.d0)z=1.d-4
       sx=x
       sy=y
       sz=z
       if(x.lt.re1)sx=re1
       if(y.lt.re2)sy=re2
       if(z.lt.re3)sz=re3
      v=0.
       ex=exp(-b1*(x-re1))
       ey=exp(-b2*(y-re2))
       ez=exp(-b3*(z-re3))
       vxx=-de1*ex*(a11+ex*(a12+ex*(a13+ex*a14)))
       vyy=-de2*ey*(a21+ey*(a22+ey*(a23+ey*a24)))
       vzz=-de3*ez*(a31+ez*(a32+ez*(a33+ez*a34)))
        call pol3(sx,sy,sz,v3xyz)
       vbiat=vxx+vyy+vzz
       v=vbiat+v3xyz
       vshow=v+de2
c     write(8,11)x,y,z,sx,sy,sz,vxx,vyy,vzz,v3xyz,vshow
11      format(6f5.2,5f8.2)
c       if(v.gt.250)v=250
      end
