function us=shift2d(typ,u)
//{\it decale le tableau u de +1 ou -1}
//{\it dans les directions nord, sud, est, ouest}
//{\it avec condition aux limites de Dirichlet}
select typ
   case 'n' then          //{\it shift nord}
           [m,n] = size(u) ;
           us(1:m,1:n-1) = u(1:m,2:n) ;
           us(1:m,n) = 0. ;
   case 's' then          //{\it shift sud}
           [m,n] = size(u) ;
           us(1:m,2:n) = u(1:m,1:n-1) ;
           us(1:m,1) = 0. ;
   case 'e' then          //{\it shift est}
           [m,n] = size(u) ;
           us(1:m-1,1:n) = u(2:m,1:n) ;
           us(m,1:n) = 0. ;
   case 'o' then          //{\it shift ouest}
           [m,n] = size(u) ;
           us(2:m,1:n) = u(1:m-1,1:n) ;
           us(1,1:n) = 0. ;
   else 
           error('shift nord, sud, est, ouest ?')
end;
endfunction




