%% Assemble contributions into the global system matrices (on this lab)
%-----------------------------------------------------------------
%     
      for n_t = 1:nel_dof               % local DOF  - test fcn  
         t_glb  = nodes_local(n_t);     % global DOF - test fcn
         for n_u = 1:size(lab_nodes_local, 1)
            n_locj = lab_nodes_local(n_u, 1);  % local DOF in current n_el
            n_glbj = lab_nodes_local(n_u, 2) ...
                          -col_shft(labindex); % global DOF
            M1_lab(t_glb,n_glbj) = M1_lab(t_glb,n_glbj) ...
                                                    + M1_loc(n_t,n_locj);
            M2_lab(t_glb,n_glbj) = M2_lab(t_glb,n_glbj) ...
                                          +  param.dt*M2_loc(n_t,n_locj);                                   
         end
         
%        
         if t_glb >= lP_1 && t_glb <= lP_end % is node on this lab ?
            t_loc = t_glb - col_shft(labindex);
            b_lab(t_loc,1)  = b_lab(t_loc,1)  - param.dt*b_loc(n_t,1);
            F_lab(t_loc,1)  = F_lab(t_loc,1)  - param.dt*F_loc(n_t,1);
         end
      end % for  n_t
    end % if not empty    
  end  % n_el
  
%
% Assemble the lab contributions in a codistributed format
  M1 = codistributed(M1_lab, codistributor('1d', 2));
  M2 = codistributed(M2_lab, codistributor('1d', 2));
  b  = codistributed( b_lab, codistributor('1d', 1));
  F  = codistributed( F_lab , codistributor('1d', 1));