function adi(U,f,n)
global S1 S2 N1 N2 f dt Npdt X Y;
k=0;
while k < Npdt
    %
    %premiere etape
    %
            V1=S1'\(N1*U+0.5*dt*f);
            U1=S1\V1;
    %
    %deuwieme etape
    %
            V2=S2'\(N2*U1+0.5*dt*f);
            U=S2\V2;        
            %dessin
            W=reshape(U,n,n);
            mesh(X,Y,W)
            xlabel('x')
            ylabel('y')
            drawnow
            k=k+1;
end
