anchor.diff:      t1 = hecmw_wtime()
       if (TIMER >= 1) write(0, '(A,f10.4)') "### hecmw_trimatmul_TtKT_mpc (4) : ",t1-t0
       t0 = hecmw_wtime()
  +    if (DEBUG >= 3) then
  +      write(700+hecmw_comm_get_rank(),*) 'hecMESH%node_ID after trimatmul_TtKT'
  +      do i=hecMESH%nn_internal+1, hecMESH%n_node
  +        write(700+hecmw_comm_get_rank(),*) i,hecMESH%node_ID(2*i-1),hecMESH%node_ID(2*i),hecMESH%global_node_ID(i)
  +      enddo
  +    endif
   
       if (associated(hecTKT%B)) deallocate(hecTKT%B)
       if (associated(hecTKT%X)) deallocate(hecTKT%X)
  
positive.code:         call hecmw_localmat_write(BTtmat,700+hecmw_comm_get_rank())
        endif
      endif
      t1 = hecmw_wtime()
      if (TIMER >= 1) write(0, '(A,f10.4)') "### hecmw_trimatmul_TtKT_mpc (3) : ",t1-t0
      t0 = hecmw_wtime()
  
negative.code:     real(kind=kreal), pointer :: A(:)
    end type hecmwST_local_matrix
  
    integer(kind=kint), parameter :: cNCOL_ITEM = 3 !< num of column items to be migrated (2 or 3)
    integer(kind=kint), parameter :: cLID = 1       !< index for local ID in belonging rank (node_ID(2*i-1))
    integer(kind=kint), parameter :: cRANK = 2      !< index for belonging rank (node_ID(2*i))
    integer(kind=kint), parameter :: cGID = 3       !< index for global ID (used only when cNCOL_ITEM==3)
  