
% 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')