anchor.diff:          j=fstrMAT%itemU_lagrange(l)
           jb_lag = (j+2)/3
           jdof = j - (jb_lag - 1)*ndof
  -        ks=hecMATLag%indexU(i-1)+1
  -        ke=hecMATLag%indexU(i)
  -        do k = ks,ke
  +        do k = idx_lag_s, idx_lag_e
             if (hecMATLag%itemU(k) < hecMAT%N + jb_lag) cycle
             if (hecMATLag%itemU(k) > hecMAT%N + jb_lag) cycle
             !if (hecMATLag%itemU(k) /= hecMAT%N + jb_lag) stop 'ERROR itemU jb_lag'
  
positive.code:     nb_lag = (fstrMAT%num_lagrange + 2)/3
      hecMATLag%NDOF = ndof
      hecMATLag%N = hecMAT%N + nb_lag
      hecMATLag%NP = hecMATLag%N
      !write(0,*) 'DEBUG: hecMAT: NDOF,N,NP=',hecMAT%NDOF,hecMAT%N,hecMAT%NP
      !write(0,*) 'DEBUG: hecMATLag: NDOF,N,NP=',hecMATLag%NDOF,hecMATLag%N,hecMATLag%NP
  
  
negative.code: 
      write(0,*) 'DEBUG: made hecMATLag', hecmw_wtime()-t1
  
      do i = 1, hecMESH%import_index(hecMESH%n_neighbor_pe)
        hecMESH%import_item(i) = hecMESH%import_item(i) + nb_lag
      enddo
  
      call hecmw_solve_33(hecMESH, hecMATLag)
  
      do i = 1, hecMESH%import_index(hecMESH%n_neighbor_pe)
        hecMESH%import_item(i) = hecMESH%import_item(i) - nb_lag
      enddo
  
      hecMAT%X = 0.d0
      do i = 1, hecMAT%N*ndof
        hecMAT%X(i) = hecMATLag%X(i)
      enddo
      do i = hecMAT%N*ndof+1, hecMAT%NP*ndof
        hecMAT%X(i) = hecMATLag%X(i + nb_lag)
      enddo
      do i = 1, fstrMAT%num_lagrange
        hecMAT%X(hecMAT%NP*ndof + i) = hecMATLag%X(hecMAT%N*ndof + i)
      enddo
  
      call hecmw_mat_finalize(hecMATLag)
  