C SUBROUTINE WIDTH2                                                     
C                                                                       
C          1983/05/18 :   NORIAKI HAMADA                                
C                                                                       
C----*----1----*----2----*----3----*----4----*----5----*----6----*----7 
C                                                                       
      SUBROUTINE WIDTH2                                                 
C INPUT                                                                 
     &                  ( E,EFF,W,                                      
C OUTPUT                                                                
     &                    DOS,OCC  ) 
C                                                                       
C          EIGENENERGY IS BROADENED                                     
C                                                                       
C          E :  EIGENENERGY                                             
C          EF:  FERMI ENERGY                                            
C          W :  4*W IS BOTTOM LENGTH                                    
C          DOS    :  DENSITY OF STATES AT EF                            
C          OCCUP :  OCUPATION FRACTION OF ELECTRON                      
C                                                                       
      IMPLICIT REAL(A-H,O-Y)                                          
      IMPLICIT COMPLEX(Z)                                            
      IF(W .LE. 0.0D0) STOP ' === STOP AT SUB.WIDTHE. (W<=0.0D0) ==='   
      EE=(EFF-E)/W                                                      
      WW=4.0D0*W                                                        
      IF(EE .LE. -2.0D0) THEN
        DOS    = 0.0D0
        OCC  = 0.0D0 
      ELSE IF(EE .LT. -1.0D0) THEN                                      
        DOS    = (EE+2.0D0)**2/WW
        OCC  = ((EE+2.0)**3)/(12.0D0) 
      ELSE IF(EE .LT. 1.0D0) THEN                                       
        DOS    = (2.0D0-EE**2)/WW
        OCC  = (6.0D0+6.0D0*EE-(EE**3))/12.0D0 
      ELSE IF(EE .LT. 2.0D0) THEN                                       
        DOS    = ((EE-2.0D0)**2)/WW
        OCC  = (12.0D0+(EE-2.0D0)**3)/12.0D0 
      ELSE                                                              
        DOS    = 0.0D0
        OCC  = 1.0D0 
      END IF 
      RETURN                                                            
      END