anchor.diff:        !*Diagonal
         kk = kk + 1
         call VLCPY(val,hecMAT%D(ndof2*(j-1)+1:ndof2*j),ndof)
  -      call STAIJ1(0,j,j,val,FCT%NEQns,FCT%NDEg,FCT%LEN_colno,FCT%NSTop,FCT%LEN_dsln,FCT%INVp,FCT%XLNzr,FCT%COLno,&
  -           FCT%DIAg,FCT%ZLN,FCT%DSLn,FCT%RALoc,FCT%STAge,Ir)
  +      call STAIJ1(0,j,j,val,FCT,Ir)
   
         do i = 1, ndof
           if ( val((i-1)*ndof+i)<=0 ) write (idbg,*) 'j,j,val:', j, i, val((i-1)*ndof+i)
  
positive.code:   !          aij      value
    !      (o)
    !          iv       communication array
    !======================================================================!
    subroutine STAIJ1(Isw,I,J,Aij,NEQns,NDEg,LEN_colno,NSTop,LEN_dsln,INVp,XLNzr,COLno,DIAg,ZLN,DSLn,RALoc,STAge,Ir)
      implicit none
      !------
      integer(kind=kint), intent(in):: I
      integer(kind=kint), intent(in):: Isw
      integer(kind=kint), intent(in):: J
      real(kind=kreal), intent(in):: Aij(NDEg*NDEg)
      integer(kind=kint), intent(in):: NEQns
      integer(kind=kint), intent(in):: NDEg
      integer(kind=kint), intent(in):: LEN_colno
      integer(kind=kint), intent(in):: NSTop
      integer(kind=kint), intent(in):: LEN_dsln
      integer(kind=kint), intent(in):: INVp(:)
      integer(kind=kint), intent(in):: XLNzr(:)
      integer(kind=kint), intent(in):: COLno(:)
      real(kind=kreal), pointer :: DIAg(:)
      real(kind=kreal), pointer :: ZLN(:)
      real(kind=kreal), pointer :: DSLn(:)
      integer(kind=kint), intent(inout):: RALoc
      integer(kind=kint), intent(inout):: STAge
      integer(kind=kint), intent(out):: Ir
      !------
      integer(kind=kint):: ndeg2
  
negative.code:         i = hecMAT%ITEML(k)
          kk = kk + 1
          call VLCPY(val,hecMAT%AL(ndof2*(k-1)+1:ndof2*k),ndof)
          call STAIJ1(0,j,i,val,FCT,Ir)
        enddo
      enddo
  
  