% advection d'une interface par la méthode des marqueurs advectés clf % grille et champ de vitesse N=61; x=linspace(0,2*pi,N); y=linspace(0,pi,N); [X,Y]=meshgrid(x,y); u=sin(X).*cos(Y); v=-cos(X).*sin(Y); xx=linspace(0,2*pi,10000); fx=xx; fy=xx*0+pi/2; dt=0.01 % marche en temps: % chaque particule est advectée par le champ de vitesse local for ind=1:1200; uu=interp2(X,Y,u,fx,fy,'linear'); vv=interp2(X,Y,v,fx,fy,'linear'); fx=fx+uu*dt; fy=fy+vv*dt; end % graphiques plot(fx,fy,'r','linewidth',1); hold on; sel=1:5:N; quiver(X(sel,sel),Y(sel,sel),u(sel,sel),v(sel,sel)) axis equal axis tight set(gca,'fontsize',15) set(gcf,'color','w')