Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION ……………………………………………………………..…… 2
MATERIELS ET METHODES
RESULTATS ………………………………………………………………………... 6
DISCUSSION ……………………………………………………………………..… 7
CONCLUSION ……………………………………………………………………… 8
ANNEXE …………………………………………………………………………….. 9
INTRODUCTION
2
MATERIELS ET METHODES
Obtention d’un tirage d’une loi normale à partir d’un tirage d’une loi uniforme.
On a donc
devst=10;
imax=1000;
for j=1:imax
g=0;
for i=1:12
r=rand(1);
g=g+(r-0.5);
end
gg(j)=g.*devst;
end
edges=[-100:1:100];
N=histc(gg,edges);
bar(edges,N./imax,'histc')
var=devst^2;
y=1/sqrt(2*pi*var).*exp(-edges.^2/(2*var));
Figure 1 : Comparaison de l'histogramme de gg (en
line(edges,y,'color','r') bleu) avec y une gaussienne théoriqe (en rouge)
3
Marche aléatoire à deux dimensions d’espace
Où depx et depy sont des variables aléatoires tirées de la distribution gaussienne énoncée
auparavant, centrée en 0 et d’écart type 1 (devst dans le code). Le chemin parcouru par la
particule est une marche aléatoire à pas indépendants que l'on peut visualiser sur la figure (2) :
figure(1);hold on;
devst=1;
x(1)=0;
y(1)=0;
itmax=300;
for it=2:itmax
g=0;
for j=1:12
r=rand(1);
g=g+(r-0.5);
end
depx=g.*devst;
g=0;
for j=1:12
r=rand(1);
g=g+(r-0.5);
end
depy=g.*devst;
x(i)=x(i-1)+depx;
y(i)=y(i-1)+depy;
end
Figure 2 : Marche aléatoire dune particule dans un
line(x,y) espace à 2 dimensions
hold off;
figure(1);hold on;
ipmax=10;
for ip=1:ipmax
--
script précédent
--
line(x,y,'color',[ip/ipmax 0 1-ip/ipmax])
text(20,30-ip*4,num2str(ip),
'color',[ip/ipmax 0 1-ip/ipmax])
end
4
Calcul de la concentration spatiale
devst=1;ipmax=4;itmax=10;
xold(1:ipmax)=50; A chaque instant it, on compte combien il y a de
yold(1:ipmax)=50;
particules dans chaque maille de grilles (CONC dans le
for it=1:itmax code).
CONC=zeros(100,100);
On remarque sur la figure un léger décalage des iso
for ip=1:ipmax lignes de concentration, par rapport aux positions réelles
g=0;
for i=1:12 des particules (croix noire). Ceci parce que l’on rapporte
r=rand(1); toutes les particules d’une maille de grille (de i à i+1, et
g=g+(r-0.5);
end de j à j+1) à un point de coordonnée (i,j). Mais avec un
depx=g.*devst; très grand nombre de particule, ceci n’a plus
g=0; d’importance
for i=1:12
r=rand(1);
g=g+(r-0.5);
end
depy=g.*devst;
xnew(ip)=xold(ip)+depx;
ynew(ip)=yold(ip)+depy;
xnew(ip)=xold(ip);
ynew(ip)=yold(ip);
end
ii=fix(xnew(ip));
jj=fix(ynew(ip));
CONC(jj,ii)=CONC(jj,ii)+1;
xmem(ip)=xnew(ip);
ymem(ip)=ynew(ip);
xold(ip)=xnew(ip);
yold(ip)=ynew(ip);
end %pour ip
figure(1);hold on;
grid; Figure 4 : Calcul de la concentration dans notre espace à l’instant
contour(CONC) it=1
plot(xmem,ymem,'k+')
waitforbuttonpress
clf; .
end %pour it
5
RESULTATS
Figure 6 : Concentration (courbe en bleu) le long d'un axe horizontal (à gauche) et vertical (à droite)
comparée à la gaussienne théoriqu (en rouge) à l’instant it=300
6
DISCUSSION
La figure 2 nous montre la marche aléatoire d’une particule brownienne. Bien que
toutes les directions soient équivalentes, la marche aléatoire ne révèle aucune isotropie. En
fait la marche aléatoire n'est que statistiquement isotrope ; c'est-à-dire que l'isotropie ne se
révèle que sur un grand nombre de marches. C’est ce que nous dévoile la figure 5 qui nous
montre l’évolution d’une goutte d’encre plongée dans un fluide. Nous constatons aisément
que cette goutte d’encre diffuse au cours du temps, c'est-à-dire qu’elle se répand, se propage,
jusqu'à obtenir un espace idéologiquement homogène. Nous constatons maintenant que
l’étalement ne suit pas une direction particulière mais toutes les directions de l’espace.
L’isotropie se révèle macroscopiquement car il s’agit d’une propriété statistique.
Nous pouvons constater également sur la figure 5 que l’étalement de la goutte d’encre
diminue au cours du temps. Effectivement, Dans un fluide fermé, l’équation de diffusion
proposé par A. Fick est égale à :
Lorsqu’il n’y a pas de source ni de puit, ξ=0, une solution possible de l’équation de diffusion
est :
En remplaçant le terme 2.ks.t par σ² dans l’équation 1, nous obtenons une gaussienne
de formule :
7
CONCLUSION
Cette modélisation peut permettre de simuler la diffusion d’une goutte d’encre dans de
l’eau, du sucre dans du café, la diffusion de la chaleur et bien d’autres phénomènes encore.
Mais il sera maintenant intéressant de rajouter une 3 ème dimension ainsi que des courants
d’advection au système, afin de simuler une diffusion complète et pas seulement l’Auto-
Diffusion. Cela pourrai permettre de modéliser par exemple la diffusion d’une marée noire, du
rejet d’une station d’épuration dans une rivière, ou encore le rejet d’un émissaire en plein mer.
8
ANNEXE 1 : Code source matlab complet commenté
for it=1:itmax
devst=sqrt(2*k*3600*24); %ecart type (en m)
for ip=1:ipmax
g=0;
for i=1:12
r=rand;
g=g+(r-0.5);
end
depx=g*devst;
h=0;
for i=1:12
r=rand;
h=h+(r-0.5);
end
depy=h*devst;
% condition frontiere en x
X(ip)=xold(ip)+depx;
Y(ip)=yold(ip)+depy;
if X(ip)<1 | X(ip)>100 | Y(ip)<1 | Y(ip)>100
X(ip)=xold(ip);
Y(ip)=yold(ip);
end
xold(ip)=X(ip);
yold(ip)=Y(ip);
end %pour ip
for ip=1:ipmax
%Calcule le nombre de particules dans chaque maille
ii=fix(X(ip));
jj=fix(Y(ip));
CONC(jj,ii)=CONC(jj,ii)+1;
End
figure(1);hold on;
contourf(CONC(:,:)./ipmax,[0:1:20]./ipmax);shading flat;
axis([-10 imax+10 -10 jmax+10])
box on;
colorbar;
figure(2);hold on;
CONCf1=CONC(50,:)/sum(CONC(50,:));
CONCf2=CONC(:,50)/sum(CONC(:,50));
xx=[0:0.1:100];
moy=50;
yy=1/sqrt(2*pi*devst^2*it).*exp(-1/2*((xx-moy)./(devst.*sqrt(it))).^(2));
hold off;
waitforbuttonpress;
clf reset;
end %pour if
end %pour it