Vous êtes sur la page 1sur 9

SOMMAIRE

INTRODUCTION ……………………………………………………………..…… 2

MATERIELS ET METHODES

Tirage gaussien à partir d’une loi uniforme ………………………………...... 3

Marche aléatoire à deux dimensions d’espace ………………………………. 4

Calcul de la concentration spatiale ………………………………………….... 5

RESULTATS ………………………………………………………………………... 6

DISCUSSION ……………………………………………………………………..… 7

CONCLUSION ……………………………………………………………………… 8

ANNEXE …………………………………………………………………………….. 9
INTRODUCTION

Le mouvement Brownien est le mouvement aléatoire adoptée par une « grosse »


particule immergée dans un fluide. Ce mouvement résulte des chocs qu’elle subit avec les
« petites » molécules constituants le fluide.
C’est Robert Brown qui décrit ce phénomène pour la première fois au début du 19ème
siècle. En observant des grains de pollens au microscope, il remarqua de très petites particules
agitées d’un mouvement irrégulier, dans le fluide situé à l’intérieur des grains. Il attribua alors
ce phénomène au domaine de la biologie. Plus tard il observa au microscope une goutte d’eau
emprisonnée dans un morceau de quartz, n’ayant ainsi jamais pu être contaminé par des grains
de pollens ou de spores. Il constata de nouveau que de petites particules étaient animées d’un
mouvement chaotique et incessant. Il revint alors sur ses conclusions précédentes, et attribua
ce mouvement, à juste titre, de nature physique et non biologique, sans pouvoir l’expliquer.
Plus tard, Albert Einstein considéra alors que le mouvement des grains de pollen pouvait se
ramener à une marche au hasard : soumis aux chocs incessants des molécules d'eau, une
grosse particule produit de petits déplacements de direction aléatoire (toutes équiprobables)
et de longueur aléatoire. Einstein montre que la mesure de certaines propriétés de particules
en mouvement brownien permet de déterminer plusieurs constantes physiques importantes,
comme la masse des atomes, ou encore le nombre d’Avogadro. Beaucoup de mathématiciens
se sont ensuite intéressés à ce phénomène. Aujourd’hui, le mouvement brownien se retrouve
partout : il fournit la base de la compréhension de tous les phénomènes diffusifs présents dans
les systèmes chimiques et biologiques, mais aussi en économie. En 1900, Louis Bachelier
avait développé une théorie des fluctuations boursières à partir d’une approche de marche
aléatoire. Ces approches ont été reprises et enrichies dans les années 1970 et le mouvement
brownien occupe désormais une place centrale dans les mathématiques financières.
Il s'agit dans cette étude de voir comment le modèle de la marche au hasard
(représentant le mouvement brownien) peut expliquer le processus de diffusion. La diffusion
est régie par deux types de diffusion distincte. (1) l’Auto-Diffusion : régie uniquement par le
mouvement d’une espèce sous le seul effet du mouvement brownien. (2) S’y superpose, la
diffusion due à une force (électrostatique, chimique, physique) ou encore due à un gradient de
température et/ou de concentration. Nous nous intéresserons uniquement à la première. Notre
objectif est de modéliser l’évolution spatiale et temporelle d’une goutte d’encre dans un
fluide, afin d’observer son Auto-Diffusion. Nous verrons comment le désordre microscopique
génère un ordre macroscopique.

2
MATERIELS ET METHODES

Obtention d’un tirage d’une loi normale à partir d’un tirage d’une loi uniforme.

Afin d’obtenir un tirage gaussien, d’espérance et d’écart type paramétrable, une


manipulation du tirage uniforme est à effectuée :

Une variable r possède une distribution de probabilité uniforme, entre 0 et 1. On


définit une variable r’=r-1/2, qui aura alors une distribution de probabilité uniforme entre -1/2
et 1/2, une moyenne <r’>=0 et une variance :

Considérons maintenant la variable R définie tel que

On a donc

En sommant des nombres r’ tirés uniformément entre -1/2 et +1/2, on change la


distribution de probabilité : une suite de n variable aléatoire indépendante (comme R) tend
pour n → ∞ a une distribution gaussienne G(<R>,σ²). Lorsque n est grand, R a effectivement
plus de chance d’être égale à 0 qu’à 1/2 (où il faudra n tirages de r’ égal à1/2 !).
Si nous prenons n=12, nous avons <R>=0 et = 1, nous tombons sur le théorème
centrale limite.

Nous pouvons calculer maintenant le nombre g tel que

Le nombre g est alors un nombre tiré d’une distribution de probabilité gaussienne


approximativement avec une moyenne nulle et un écart type , comme le montre la figure 1.

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

Afin de simplifier la modélisation du mouvement brownien, nous considérerons tout le


long de notre étude un espace à deux dimensions spatiale seulement. Considérons le cas d’une
seule particule isolée pour l’instant. Cette particule décrit une marche aléatoire quand chaque
pas est de direction aléatoire et de longueur aléatoire. Par exemple si l'on note (xi, yi) les
coordonnées du point après i pas, alors le (i+1) ème pas est tel que :
x(i+1)=x(i)+depx
y(i+1)=y(i)+depy

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;

Il suffit alors d’implémenter une boucle supplémentaire afin de modéliser le


mouvement de plusieurs particules indépendantes (ipmax représente le nombre de particules).

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

axis([-40 40 -40 40])

hold off; Figure 3 : Marche aléatoire de 10 particules


indépendantes

4
Calcul de la concentration spatiale

On a obtenu le tracé de plusieurs particules, au cours du temps. Nous souhaitons


cependant axer notre étude sur le phénomène de diffusion. Pour ce faire, il est utile d’imaginer
un petit domaine, de forme arbitraire, entourant un espace où les particules peuvent diffuser.
Nous avons choisis ici un carrée, de côté 100 unités arbitraires (la matrice CONC dans le
code). Nous voulons donc afficher la concentration dans l’espace à chaque instant it. Pour
cela, il faut d’abord inverser la boucle temporelle (it dans le code) avec la boucle sur les
particules (ip dans le code). Ensuite nous centrons initialement toutes les particules en (50,50)
(pour it=1) et nous les faisons bouger (d’un déplacement depx et depy).

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;

if xnew(ip)<1 | xnew(ip)>100 | ynew(ip)<1 |


ynew(ip)>100

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

Il ne nous reste maintenant plus qu’à augmenter le nombre de particules représentant


la goutte d’encre.

5
RESULTATS

La figure 5 montre 9 étapes de la diffusion d’une goutte d’encre au cours du temps. La


goutte d’encre est d’abord centrée en (50,50), puis diffuse dans la boite.

Figure 5 : Diffusion d’une goutte d’encre dans de l’eau

En suivant la concentration le long de l’axe horizontal et vertical (croix rouge sur la


figure 5), et en la comparant avec la gaussienne théorique, on obtient la figure 6.

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 à :

Avec ks coefficient de diffusion, ² opérateur Laplacien, ξ la source et le puit.

Lorsqu’il n’y a pas de source ni de puit, ξ=0, une solution possible de l’équation de diffusion
est :

Où r²=x² (pour un espace à 1 dimensions)

Cette solution représente une gaussienne tridimensionnelle de variance σ² = 2.ks.t

L’écart-type σ (grandeur mathématique qui décrit l’étalement) est proportionnel à la


racine carrée du temps, fonction dont la croissance est très forte avant de devenir quasi nulle.
Au cours du temps, l’écart type va augmenter rapidement, c’est ce qui va faire diffuser
notre goutte d’encre. L’écart-type augmente de moins en moins rapidement d’où une
diffusion de plus en plus lente.

En remplaçant le terme 2.ks.t par σ² dans l’équation 1, nous obtenons une gaussienne
de formule :

Les courbes de la figure 6 permettent de comparer la densité des particules le long de


l’axe horizontal et vertical de la boite avec la distribution théorique que l’on souhaite
observée, à partir de l’équation gaussienne (2) (en prenant r²=(x-50)² pour centrer la
gaussienne en 50). Les courbes concordent bien, la modélisation est donc réussie.

7
CONCLUSION

Nous avons vu ici comment le mouvement brownien permet d’expliquer un


phénomène aussi complexe que la diffusion et permettre d’établir des lois telle que la loi de
diffusion. Il est intéressant de remarquer ici que la marche aléatoire d’une particule (soumis
au hasard pur) n’exclut pas une loi collective, la loi de diffusion. Finalement, le désordre
microscopique génère un ordre macroscopique.

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é

clear all;close all;


Xsource=50; %position en x initiale des particules
Ysource=50; %position en y initiale des particules
ipmax=50000; %nbre de particules
itmax=5000; %nbre de pas de temps en jour
imax=100; %taille de la matrice CONC en m (boite où sont enfermée les particules)
jmax=100; %taille de la matrice CONC en m
deltatime=50; %pas de temps (pour calculer et tracer CONC)
k=1.5*10^(-7); %m²/s
xold(1:ipmax)=Xsource; %initial posisition
yold(1:ipmax)=Ysource;

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

%Afin de n'afficher la figure que tous les 'deltatimes' pas de temps


if rem(it,deltatime)==0
CONC=zeros(jmax,imax);
devst

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;

% Croix rouge (centée en 50,50)


cf=repmat(50,1,100);
cs=1:100;
plot(cf,cs,'r-')
plot(cs,cf,'r-')

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));

subplot(1,2,1), plot(CONCf1); axis([40 60 0 0.3]); hold off;


%Superposition de la gaussienne
line(xx,yy,'color','r')
xlabel('Concentration le long de la ligne horizontale');

subplot(1,2,2), plot(CONCf2); axis([40 60 0 0.3]); hold off;


%Superposition de la gaussienne
line(xx,yy,'color','r')
xlabel('Concentration le long de la ligne verticale');

hold off;
waitforbuttonpress;
clf reset;

end %pour if
end %pour it

Vous aimerez peut-être aussi