Vous êtes sur la page 1sur 40

Projet :

Modlisation
Mathmatique
Simulation numrique par mthode des
diffrences finie :
Problme de transport-diffusion dune substance
polluante dans une rivire

Ralis
Encadr
par : par :
LAHLOU
Mr. EL
Khadija
MAHI
TIOUASSIOUINE Soumia
Sommaire :
Introduction
...
2
Etude du problme de convection
1D 4
Par la mthode de la
caractristique.... 5
Par la mthode des diffrences
finies... 7
Etude du problme de diffusion
1D.16

Etude du problme de convection-diffusion


1D.

Etude du problme de convection-diffusion


2D.

1re Anne Gnie Civil ENSAO UMP


1
Introduction :
La pollution des eaux est un
sujet proccupant depuis
longtemps et qui ne cesse de
prendre de plus en plus
dampleur dans le monde actuel,
ce qui nest pas surprenant, vu
que les humains et les espces
aquatiques interagissent
beaucoup avec celles-ci et sont
par consquent plus exposs
aux polluants qui y sont
transports.

Alors, dans les annes 1940,


l'apparition de diverses maladies
et le dclin de la reproduction et
la mortalit de certaines espces aquatiques ont commenc
prendre forme.
Par la suite, plusieurs cas ont t relis la contamination des
lacs et des cours deau par les
eaux uses industrielles et les
ruissellements de terres
agricoles. On peut citer, titre
dexemples, les cas
dpidmies, de hausse de
tumeurs, de dformations
dveloppementales, de
troubles reproducteurs causs
soit par des expositions aux bi-
phnyles poly-chlors, aux
dioxines, aux pesticides, ou

1re Anne Gnie Civil ENSAO UMP


2
soit par des accidents industriels ou des ruissellements
agricoles.

Cette situation souligne limportance de possder un outil


de gestion efficace qui nous permette de connaitre quel
instant le polluant arrivera un certain endroit, et la vitesse
avec laquelle il se propage.
En rponse ce besoin, on a recours lanalyse numrique
pour les quations des drives partielles, quon distingue 3
grandes familles de mthodes :
1) Mthode des volumes finis.
2) Mthode des lments finis.
3) Mthode des diffrences finies.

En effet ,notre projet consiste dvelopper un code de


calcul prcis pour la simulation des problmes de transport et
de diffusion des polluants dans les coulements surface libre,
en utilisant la mthode des diffrences finies qui est une
technique courante de recherche de solutions approches
d'quations aux drives partielles qui mettre en vidence la
rsolution dun systme de relations liant les valeurs des
fonctions inconnues en certains points suffisamment proches
les uns des autres.
Cette dernire procde en deux tapes : d'une part la
discrtisation par diffrences finies des oprateurs de
drivation, d'autre part la convergence du schma numrique
ainsi obtenu lorsque la distance entre les points diminue.

1re Anne Gnie Civil ENSAO UMP


3
Etude du problme
de convection 1D :
Etudions, tout dabord, le problme de convection dun
polluant inject un instant t=0 selon une fonction f , le long
dune ligne de longueur 1000m, dont la variation de la
concentration du polluant est nulle dans les deux extrmits.

Notons par u(x ,t ) la concentration du polluant au point x


linstant t .

La concentration u vrifie lquation de convection avec


condition initiale et conditions aux limites de Neumann
suivantes :

{
u u
+a =0 pour t >0, 0< x < L
t x
E1 u ( x , t=0 )=f ( x )
( )
u u
( 0,t )= ( L , t )=0
x x

1re Anne Gnie Civil ENSAO UMP


4
Avec : L : Longueur de la droite qui est gale 1000m ;
a : Vitesse dadvection du polluant qui est
gale 1 m/ s

Le but de cette tude est, donc, de chercher la


concentration du polluant en un point x un instant t
quelconque qui vrifie ( E1 ) :

1.Rsolution par la mthode des


caractristiques :
Cherchons la solution exacte u(x ,t ) du problme ( E1 ) .
Pour cela, drivons u le long dune courbe caractristique :
du u dt u dx
= + (1)
ds t ds x ds

u u u u
Or, on a: +a =0 =a
(2)
t x t x

En remplaant (2) dans (1), on obtient:


du u dt u dx u dx dt
=a + = ( a )
ds x ds x ds x ds ds

Donc, si on se place sur les courbes dquation :

1re Anne Gnie Civil ENSAO UMP


5
dx dt
a =0
ds ds

dx
Cest--dire : = a , ou encore : x=at + ; R
dt

u u du
Lquation : +a =0 devient =0.
t x ds

Cest--dire que u est constante sur les courbes


dx
caractristiques dquation : = a
dt

En crivant le programme ci-dessous sous loutil Matlab, on


peut voir lallure de ces courbes caractristiques :
Programme (1) :

function courb_cara()
a=1;
t=0:0.1:10;
for i=1:15
xi(i)=-8+i;
x=a*t+xi(i);
hold on
plot(t,x)
axis ([0 10 0 10])
end

Lallure des courbes caractristiques :

1re Anne Gnie Civil ENSAO UMP


6
du
Sur chaque courbe caractristique, on a : =0 , c.--d. que
ds
u est constante sur la courbe caractristique, ou
encore u= ( ) .

Or, =xat u= ( xat )

La condition initiale scrit : u ( x , 0 )=f ( x )

Do : u ( x , t )=f (xat)

Finalement, la solution exacte du problme ( E1 ) est :

{
u ( x ,t )=f ( xat ) pour t>0, 0< x < L
u u
( 0,t )= ( L, t )=0
x x

2.Rsolution par la mthode des diffrences


finies :

On se propose dapproximer la solution du problme ( E1 ) sur


.
0,+
[ 0, L ]

1re Anne Gnie Civil ENSAO UMP


7
On discrtise alors lintervalle [ 0, L ] en N sous-intervalles
xi L
x i+1 ( i=0, , N 1 ) de taille gales. On note par x=
, N le

pas de maillage et t le pas temps.

On a donc : x i=i x pour i=0, , N

C.--d. : x 0=0, x1 = x , x 2=2 x , , x N =N x=L

x i+1=x i + x Pour i=0, , N 1


n
Appelons ui la concentration du polluant au point xi
n
linstant t =n t .

Le problme discret devient alors :

Trouver N-1 valeurs u1 ,u 2 , , uN 1 telles que :

{
n n
u
|
t i
+a
u
x i |
=0 pour i=1, , N1
0
( E1 ' ) n
ui =f i
n
u
=
x 0 x N
u
| |
=0

On considre le schma aux diffrences finies dcentr amont


et explicite qui scrit en chaque point xi comme suit :

u n+1 n
i u i uni u ni1
+a =0
t x

n+1 n at n n
ui =ui (u ui1)
x i

at
un+ 1 n n n
En posant = x , on obtient : i =ui (ui ui1)

1re Anne Gnie Civil ENSAO UMP


8
Le problme approch de ( E1 ' ) scrit :

Trouver N-1 valeurs u1 ,u 2 , , uN 1 telles que :

{
u n+1 n n n
i =u i (u i ui1 ) pour i=1, , N 1
u0i =f i
( E1 ' ' ) n n
u
=
u
| |
x 0 x N
=0

1. a. Lerreur de troncature et lordre du schma numrique


propos :

Lerreur de troncature dune mthode est la quantit note ET


dfinie par la diffrence entre lquation exacte et lquation
approche par le schma numrique.

n n +1 n
u ui
On a : u
|
t i
= i
t
+ t)

n n n
ui ui1
u
|
x i
=
x
+( x)

u n+1 n
n n
uni uin1
Donc : ET= ( |
u
t i
+a
u
x i |)
( i ui
t
+a
x
)

ET= ( t ) +( x)

Do le schma numrique choisi est dordre 1 en temps et en


espace.

1. b. Stabilit du schma numrique propos :

Etudions la stabilit au sens de Fourier Von-Newmann du


schma propos.

1re Anne Gnie Civil ENSAO UMP


9
n n n i j x
Considrons un mode de Fourier u j de la forme : u j =C e et
injectons le dans le schma :
n+1 n n n
u j u j u u j1
+a j =0
t x

Cn +1 ei j x C n e i j x Cn e i j x Cn e i ( j1) x
+a =0
t x

n n i x
C C e
C n+1=C na t
x

C n+1=C n [1 (1ei x )]

1cos ( x ) +isin ( x )
1 ( ]
C n+1=C n

Posons : A= 1 (1cos ( x ) +isin ( x ) )

On a donc : Cn +1= AC n

n
Pour que u j soit born n N , il faut et il suffit que |C | soit
n

born, autrement dit, | A| 1.

|A| 1 (1+ cos ( x )) + sin ( x ) 1

1+ -2 +2 (1- )cos( x )+

1
2 -2 +2 (1- )cos( x )0
2 ( -1)+ 2 (1- )cos( x )0

|A| 1 (1- )(cos( x -1)0


Or, cos( x -10 R . Alors:

1re Anne Gnie Civil ENSAO UMP


10
Si (1- )0 i.e. 1- 0 1 (1- )(cos(
x -1)0 |A|1

Si (1- )<0 i.e. 1- <0 > 1 (1- )(cos(


x -1) 0 |A|1

at
Le schma est stable si et seulement si 1 1
i.e. x

Finalement, le schma propos est stable sous la condition


at
1 .
x

Cette condition est dite condition CFL de Courant-Friederich-


Lery.

1. c. Lerreur de prcision :
1
On dfinit lerreur absolue en norme L de la solution
numrique par :
Err L =u numuexactL ( [ 0,L ])
1 1

L
|un ( x )uex (x )| dx
0

N xi+ 1

Err L = |u n ( x )uex ( x )| dx
1

i=1 x i

En supposant que u est constante chaque intervalle, on


obtient donc :
N
Err L 1 ( x i+1 xi )|un ( xi ) uex ( x i )|
i=1

N
Err L 1 x |un ( xi ) uex ( x i )|
i =1

1. d. Programmation en Matlab :

1re Anne Gnie Civil ENSAO UMP


11
Pour valuer la solution approche obtenus par la mthode des
diffrences finies, ainsi que la comparer avec la solution exacte,
on choisit, tout dabord, la condition initiale

{
f tq f (x )= 10 pour 300 x 400
0 ailleurs .

On peut maintenant crire le programme Matlab qui va nous


permettre de visualiser le phnomne tudi.

Programme (2) :

function convexion(N,CFL) %N nbre de pts


L=1000;
a=1;
itermax=250;
%definition du maillage
dx=L/(N-1);
dt=(CFL*dx)/a;
lambda=(a*dt)/dx;
for i=1:N;
x(i)=(i-1)*dx;
end
%initialisation
for i=1:N
if ((x(i)>=300) && (x(i)<=400))
Un(i)=10;
else Un(i)=0;
%remise
end de Unp1 dans Un
end for i=1:N
Un(i)=Unp1(i);
plot(x,Un,'r');
end
temps=0;
if (mod(iter,25)==0)
iter=0;
j=1;%solution exacte
for i=1:N
%boucle en temps
y(i)=x(i)-(a*temps);
while(iter<itermax)
if ((y(i)>=300) && (y(i)<=400))
for i=2:N-1
Uexact(i)=10;
Unp1(i)=Un(i)-lambda*(Un(i)-Un(i-1));
end else Uexact(i)=0;
end
%conditions aux limites
end
Unp1(1)=Unp1(2);
%calcul d'erreur
Unp1(N)=Unp1(N-1);
err=0;
iter=iter+1;
for i=1:N;
temps=temps+dt;
err=err+abs(Unp1(i)-Uexact(i));
end
err=dx*err;
%mettre les rsultats dans un tableau
tab(1,j)=iter;
tab(2,j)=err;
j=j+1;
hold on;
plot(x,Uexact,'g');
hold on
plot(x,Unp1);
axis ([0 1000 0 13]);
legend('conditiopn 1re initiale','solution exacte','solution
Anne Gnie Civil ENSAO UMP
approche'); 12
end
end
tab
Excution du programme:

Afin de bien exploiter la mthode utilise pour approximer la


solution du problme ( E1 ) , on va la tester sur diffrents pas
despaces x , et sur diffrents pas du temps t :

Varions le nombre de points N, et fixant la


condition CFL :
Pour N=50 et CFL=1, on a :

1re Anne Gnie Civil ENSAO UMP


13
Itration : 25 50 75 100 125 150 175
200 225 250
Erreur : 0 0 0 0 0 0 0

Et pour N=200 et CFL=1, on a :

Itration : 25 50 75 100 125 150 175


200 225 250
Erreur : 0 0 0 0 0 0 0

1re Anne Gnie Civil ENSAO UMP


14
On remarque que plus le nombre de points de maillage
augmente, plus que le trac des courbes sapproche de lallure
relle des fonctions.
Donc, un maillage serr nous donne une modlisation plus
proche du rel par rapport un maillage cart.

Varions la condition CFL, et fixant le nombre de


points N :

Pour CFL=1 et N=100, on a :

Itration : 25 50 75 100 125 150 175


200 225 250
Erreur : 0 0 0 0 0 0 0

Pour CFL=0.8 et N=100, on a :

1re Anne Gnie Civil ENSAO UMP


15
Itration : 25 50 75 100 125 150 175
200 225 250
Erreur : 316.7916 451.8465 404.9807 0.9223 0.0000 0.0000 0.0000

Pour CFL=0.5 et N=100, on a :

Itration : 25 50 75 100 125 150 175


200 On remarque
225 que lerreur de prcision est toujours gale 0 si
250
Erreur :
CFL=1,407.0186
tandis566.2452 694.1960 la
quon diminuant 784.8874
valeur 526.4354 66.6101
de CFL une 0.6842
diffusion
numrique apparaisse, c.--d. que le transport de la condition

1re Anne Gnie Civil ENSAO UMP


16
initiale f est suivi dune augmentation de lerreur de
prcision. Cette diffusion devient plus importante en tendant la
valeur de CFL vers 0.
La question qui se pose maintenant : quon aurait-il si on prend
une valeur CFL plus grande que 1 ?
Pour CFL=2 et N=100, on a :

Ce rsultat tait attendu vu quon a tudi prcdemment la


stabilit du schma numrique utilis, et on a trouv quil est
conditionnellement stable : CFL doit tre infrieur ou gale 1.
Aprs toutes ces comparaisons, on peut conclure que plus
quon raffine le maillage et on rapproche la valeur de CFL de 1,
plus que lapproche numrique soit satisfaisante.

Etude du problme

1re Anne Gnie Civil ENSAO UMP


17
de DIFFUSION 1D :

Considrons maintenant que la concentration u vrifie


lquation de diffusion suivante :

{
u u
D =0 pour t >0, 0< x < L
t x
E2 u ( x , t=0 )=f ( x )
( )
u u
( 0,t )= ( L, t )=0
x x

Avec : D : coefficient de la diffusion du polluant suppos


constant.
On considre le schma numrique centr explicite suivant :
n+1 n n n n
u i u i u 2 ui +ui+1
D i1 =0
t ( x)

D t n
uin+1=uni + 2
(u i1 2u ni +u ni+1 )
( x )

Dt

En posant ( x )2 , on obtient :

n+ 1 n n n n
ui =ui + (ui12 ui +ui +1)

Le problme approch de ( E2 ) scrit :

Trouver N-1 valeurs u1 ,u 2 , , uN 1 telles que :

{
u n+1 n n n n
i =u i + (u i12u i + ui+1 ) pour i=1, , N1
u0i =f i
( E2 ' ) n n
u
=| |
u
x 0 x N
=0

2 .a . Lerreur de troncature et lordre du schma numrique


propos :

1re Anne Gnie Civil ENSAO UMP


18

u uni
n n +1
On a : u
t i |
=
t
+ t)
i

n n n n
ui12 ui +ui+1
et
u
x i|=
x
+( x )

u n+1 n
n n
un 2 uni +uni+1
Donc : ET= ( |
u
t i
+a
u
x |)
i
( i u i
t
D i1
x
)

ET= ( t ) +( x )

Do le schma numrique choisi est dordre 1 en temps et


dordre 2 en espace.
2 .b . Stabilit du schma numrique propos :

Etudions la stabilit au sens de Fourier Von-Neumann du


schma propos.
n n n i j x
Considrons un mode de Fourier u j de la forme : u j =C e et
injectons le dans le schma :
C n+1 e i j x Cn e i j x C n ei ( j1 ) x 2 C n ei j x +C n e i ( j+1) x
D =0
t ( x)

n i x n n i x
n+1 n C e 2 C +C e
C =C + D t
( x)

C n+1=C n [1+ (ei x 2+e i x )]

cos ( x )1
1+2 ( ]
Cn +1=C n

C n+1=C n [14 si n2 ( 2 x )]
2 x
Posons : A= 14 si n 2 ( )

1re Anne Gnie Civil ENSAO UMP


19
n
Pour que u j soit born n N , il faut et il suffit que |C | soit
n

borne, autrement dit, | A| 1.

|A| 1 -1 14 si n
2
( 2 x ) 1
2 x
Or , R on a :14 sin 2 1 ( )
2 x
Donc on doit avoir seulement : -1 14 si n 2 ( )
x
2-4 sin( 0
2


(24 sin2 ( 2 x )) 0
inf

2 x
Or, linf est obtenu pour sin 2 =1 ( )
1 Dt 1
24 0
( x ) 2
2
2

1
Le schma est stable si et seulement si i.e.
2

Dt 1

( x ) 2
2

Finalement, le schma propos est stable sous la


Dt 1
.
condition ( x ) 2

2 .d. Programmation en Matlab


Evaluons la solution approche obtenus par la mthode des
diffrences finies.
Pour cela, on choisit, la condition initiale :

{
f ( x )= 10 pour 300 x 400
0 ailleurs

1re Anne Gnie Civil ENSAO UMP


20
On crit, alors, le programme Matlab comme suit :
Programme (3) :

function diffusion1(N,CFL) %N nbre de pts


L=1000;
a=1;
D=1;
%definition du maillage
dx=L/(N-1);
dt=CFL*dx*dx/(2*D);
itermax=1000;
beta=dt*D/(dx*dx);
for i=1:N;
x(i)=(i-1)*dx;
end
%initialisation
for i=1:N
if ((x(i)>=300)&&(x(i)<=400))
un(i)=10;
else
un(i)=0;
end
end
plot(x,un,'b');
temps=0;
iter=0;
%boucle en temps
while(iter<itermax)
for i=2:N-1
unp1(i)=un(i)+beta*(un(i-1)-2*un(i)+un(i+1));
end
unp1(1)=unp1(2);
unp1(N)=unp1(N-1);
iter=iter+1;
temps=temps+dt;
%remise de unp1dans un
for i=1:N
un(i)=unp1(i);
end
if (mod(iter,25)==0)

hold on
plot(x,unp1,'g');
legend('condition initiale','solution approche');
end
end
end

Excution du programme:

1re Anne Gnie Civil ENSAO UMP


21
Pour garantir une bonne exploitation de la mthode utilise
pour lapproximation de la solution du problme (E2 ) , on va la
tester sur diffrents pas despaces x , et du temps t :

Varions le nombre de points N, et fixant la


condition CFL :

Pour N=50 et CFL=0.5, on a :

Pour N=100 et CFL=0.5, on a :

1re Anne Gnie Civil ENSAO UMP


22
Pour N=200 et CFL =0.5, on a :

On remarque que plus le nombre de points augmente plus les


courbes de diffusion sont moins aplaties.
Donc un maillage fin nous donne plus de prcision sur la
solution approche.

1re Anne Gnie Civil ENSAO UMP


23
Alors, on prendra, par la suite, un maillage trs fin afin de bien
interprter les rsultats du programme.

Varions la condition CFL, et fixant le nombre de


points N :

Pour CFL=0.1 et N=1000, on a :

Pour CFL=0.5 et N=1000, on a :

1re Anne Gnie Civil ENSAO UMP


24
Pour CFL=1 et N=1000, on a :

On remarque que plus la valeur de CFL est proche de 1, plus le


phnomne de diffusion est plus apparent.
On se demande maintenant : quon aurait-il si on prend une
valeur CFL plus grande que 1 ?
Pour N=1000 et CFL=1.1, on a:

1re Anne Gnie Civil ENSAO UMP


25
Ce rsultat tait attendu, vu quon a tudi prcdemment la
stabilit du schma numrique utilis, et on a trouv quil est
conditionnellement stable.
La condition est :
1 t 1

2 D
x 2

2 Dt
CFL=
Or, ( x)2 . Donc, pour que le schma soit stable il faut

que CFL 1

1re Anne Gnie Civil ENSAO UMP


26
Etude du problme de convection-
DIFFUSION 1D :
On reste toujours dans le cas dune dimension, on considre
maintenant lquation de convection-diffusion suivante :

{
u u u
+a D =0 pour t >0, 0< x < L
t x x
(E) u ( x ,t =0 )=f ( x )
u u
( 0, t ) = ( L ,t )=0
x x

En sinspirant des schmas de ( E1 ) et ( E2 ), on obtient le


schma numrique aux diffrences finies suivant :
x


2

u n+1 n
i u i uni u ni1 u ni12u ni + uni+1
+a D
t x

at n n Dt n
uin+1=uni ( ui u i1) + (ui12 uni +uni +1)
x ( x) 2

at Dt

En posant = x et ( x )2 , on obtient :

un+ 1 n n n n n n
i =ui (ui ui1)+ (ui12 ui +ui +1)

Le problme approch de ( E ) s crit :

Trouver N-1 valeurs u1 ,u 2 , , uN 1 telles que :

1re Anne Gnie Civil ENSAO UMP


27
{
u n+1 n n n n n n
i =u i (u i ui1 )+ (u i12u i + ui+1 ) pour i=1, , N 1
u 0i =f i
( E' ) n n
u
| |
=
u
x 0 x N
=0

3 .a . Programmation en Matlab :

On choisit comme auparavant la condition initiale f telle que :

{
f ( x)= 10 pour 300 x 400
function conv_diff(N,CFL)0 ailleurs .
L = 1000;
a = 1;
D = 1;
iterMax=1000;
%dfinition du maillage:
dxOn crit maintenant le programme Matlab :
= L./(N-1);
dt1 = (CFL.*dx)./a; % Pas de temps pour le transport
dt2 = (CFL.*dx.*dx)./(2.*D);
Programme (4) : % Pas de temps pour la diffusion
dt= min(dt1,dt2);
Lambda = (a.*dt)./dx;
Beta = (dt.*D)./(dx.*dx);
for i =1:N
x(i)= (i-1).*dx;
end
% Initialisation
for i=1:N
if ((x(i)>=300)&&(x(i)<=400))
Un(i)=10;
else
Un(i)=0;
end
end

plot (x,Un);
axis ([0 1000 0 11]);
temps=0;
iter=0;
% boucle en temps :
while (iter<iterMax)
for i=2:N-1
Unp1(i) = Un(i) -Lambda.*(Un(i) - Un(i-1)) +Beta.*(Un(i-1) - 2.*Un(i)
+Un(i+1));
end
%conditions aux limites
Unp1(1) = Unp1(1);
Unp1(N) = Unp1(N-1);
iter = iter +1;
temps = temps +dt;
1re Anne Gnie Civil ENSAO UMP
% Stockage de Unp1 ds Un
for i=1:N 28
Un(i) = Unp1(i);
if (mod(iter,30)==0)
hold on;
plot(x, Un, '- r');

end
end
axis([0 1000 0 11]);
legend('condition initiale','solution approche');
end

Excution du programme:

Afin de bien exploiter la mthode utilise pour approximer la


solution du problme ( E1 ) , on va la tester sur diffrents pas
despaces x , et sur diffrents pas du temps t :

Varions le nombre de points N, et fixant la


condition CFL :

Pour N=40 et CFL=0.5, on a :

1re Anne Gnie Civil ENSAO UMP


29
Pour N= 100 et CFL=0.5, on a :

Pour N=600 et CFL=0.5 , on a :

1re Anne Gnie Civil ENSAO UMP


30
On

remarque que plus le nombre de points augmente plus la


vitesse de transport augmente et celle de diffusion dimininue.
Varions la condition CFL, et fixant le nombre de
points N :
Pour CFL=0.1 et N=200, on a :

1re Anne Gnie Civil ENSAO UMP


31
Pour CFL=0.7 et N=200, on a :

Pour CFL=0.8 et N=200, on a :

Pour CFL=2 et N=200, on a :

1re Anne Gnie Civil ENSAO UMP


32
On remarque que ds la valeur de CFL soit plus grande que 0.7,
une instabilit sapparait.
On peut dduire, donc que le schma utilis est
inconditionnellement stable.

Etude du problme de convection-


DIFFUSION 2D :
On se place maintenant dans le cas bidimensionnel et on
tudie le transport-diffusion du polluant dans une rivire
suppose rectangulaire de longueur L=1000m et de largeur
l=100m.
On considre un temps initiale t=0 dont lequel la rivire nest
encore pollu.
On injecte, par la suite, un polluant de concentration gale 1
depuis une ouverture de longueur 20m situe au milieu du ct
gauche de la rivire, et suppose que la variation de la
concentration du polluant est nulle sur les cts droit, nord et
sud de la rivire.

Notons par u( x , y , t) la concentration du polluant au point


(x , y ) linstant t . 100

u=1 60m
1re Anne u=0
40m Gnie Civil ENSAO UMP
33

1000
m
Le problme rsoudre scrit :

{
u u u
+ a1 + a2 D u=0 pour t> 0,0< x < L , 0< y <l
t x y
u ( x , y , t=0 ) =0
(F) u u u
( x , 0, t ) = ( x ,l , t )= ( L , y ,t )=0
y y x
u ( 0, y , t )=1 si 40 y 60 et u ( 0, y ,t )=0 sinon

function conv_diff2d(Nx,Ny,CFL)
L=1000;
l=100;
Avec: D=1; a1=1 m/ s , a1=0 m/s 2
et D=1 m/s
a1=1;
a2=0;
Rsolvant ce problme avec la mthode de diffrences finies,
itermax=1000;
pour cela on discrtise
%definition du maillagele domaine de calcul par un maillage
dx=L/(Nx-1);
rectangulaire comportant N x points en x et N y points en
dy=l/(Ny-1);
dt1=(CFL*min(dx,dy))/max(a1,a2);
dt2=CFL*(dx^2+dy^2)/(2*D); L L
y , de x= y=
pas respectifs
dt=min(dt1,dt2) N x 1 et N y 1 .
%maillage et initialisation
for i=1:Nx
: X (i , j) labscisse dun nud dindice (i, j) du
for j=1:Ny
Notons par x(i,j)=(i-1)*dx;
maillage y(i,j)=(j-1)*dy;
Un(i,j)=0;
end
end
Y (i , j) lordonn dun nud dindice (i, j) du
%surf(x,y,Un);
maillage
contourf(x,y,Un);
colorbar; u(i , j) la concentration du polluant en (i, j)
temps=0;
iter=0;
On considre
%boucle enletemps schma explicite aux diffrences finies suivant :
while (iter<itermax)
u n (for j )2 un ( i, j )+u n ( i+1, j ) un ( i, j1 )2 un (i , j ) +un ( i, j+1 )
i1,i=2:Nx-1
+
( x )2
for j=2:Ny-1 ( y )2
u n+1 (i , j)u
terme1=a1*(Un(i,j)-Un(i-1,j))/dx;
n
(i, j) un (i , j)un (i1, j) un (i , j)un (i , j1)
]=0
terme2=a2*(Un(i,j)-Un(i,j-1))/dy;
+ a 1 + a 2 D
t terme3=(D/dx.^2)*(Un(i-1,j)-2*Un(i,j)+Un(i+1,j));
x y
terme4=(D/dy.^2)*(Un(i,j-1)-2*Un(i,j)+Un(i,j+1));
Unp1(i,j)=Un(i,j)-dt*(terme1+terme2-terme3-terme4);
Programmons end cette mthode de rsolution sur loutil Matlab :
end
Programme
%conditions
%bord de droit
: aux bords
for j=2:Ny-1
Unp1(Nx,j)=Unp1(Nx-1,j);
end
%bord sud et1re nordAnne Gnie Civil ENSAO UMP
for i=2:Nx 34
Unp1(i,1)=Unp1(i,2);
Unp1(i,Ny)=Unp1(i,Ny-1);
end
%bord gauche
for j=1:Ny
if(y(1,j)>40 && y(1,j)<60)
Unp1(1,j)=1;
else
Unp1(1,j)=0;
end
end
iter=iter+1;
temps=temps+dt;
%remise de Unp1 dans Un
for i=1:Nx;
for j=1:Ny;
Un(i,j)=Unp1(i,j);
end
end
if (mod(iter,10)==0)
hold on;
contourf(x,y,Un);
colorbar;
1re Anne Gnie Civil ENSAO UMP
end
end 35
Excution du programme :

1re Anne Gnie Civil ENSAO UMP


36
1re Anne Gnie Civil ENSAO UMP
37
Les figures ci-dessus prsentent une simulation numrique du
problme de transport-diffusion de la substance polluante dans
la rivire.

Conclusion :
Nous avons pu, dans ce projet, simuler numriquement les
phnomnes de convection et de diffusion dune substance
polluante dans une rivire de forme rectangulaire laide dune
approche dite diffrences finies.
En apparence, cette mthode apparat comme tant la plus
simple mettre en uvre, mais en ralit elle prsente des
insuffisances telles quune mauvaise adaptation la rsolution
numrique d'quations non linaires.
Alors on a recourt aux deux autres mthodes :
1) Mthode des volumes finis
2) Mthode des lments finis

Contrairement la mthode des diffrences finies qui met


en jeu des approximations des drives, les mthodes des
volumes finis et des lments finis exploitent des
approximations d'intgrales.
Dailleurs, la mthode des volumes finis se base directement
sur la forme dite forte, de l'quation rsoudre, alors que la
mthode des lments finis se fonde sur une formulation
variante d'quation ,il sagit dune formulation faible.
On dit que la mthode des volumes finis prsente une
modlisation qui reflte plus fidlement la ralit.

1re Anne Gnie Civil ENSAO UMP


38
1re Anne Gnie Civil ENSAO UMP
39