• Aucun résultat trouvé

Mini-projet d’analyse num´erique du cours MAP 431 Mouvement des bact´eries dans une goutte d’eau

N/A
N/A
Protected

Academic year: 2022

Partager "Mini-projet d’analyse num´erique du cours MAP 431 Mouvement des bact´eries dans une goutte d’eau"

Copied!
7
0
0

Texte intégral

(1)

Mini-projet d’analyse num´erique du cours MAP 431 Mouvement des bact´ eries dans une goutte d’eau

igor.favorskiy@polytechnique.edu

1 Introduction

Certaines bact´eries, comme Escherichia coli ou Bacillus subtilis, nagent dans un liquide visqueux. Bien que le nombre de Reynolds est tr`es bas, ils parviennent `a parcourir plusieurs longueurs de corps par seconde. Surface bact´erienne est couverte des filaments h´elico¨ıdales, qui tournent pour permettre `a la bacterie de s’auto-propulser.

Il est connu que les bact´eries alternent deux modes de d´eplacement : des mouvements lin´eaires dans une direction fix´ee, et mouvements tr`es erratiques, provoqu´es par l’attraction vers une source de nourriture. Donc, pour les temps d’observation suffisamment longues, nous mod´eliserons l d´eplacement des bact´eries comme une promenade al´eatoire biais´ee par l’attraction vers une source de nourriture.

Une goutte d’eau avec des bact´eries est pos´ee sur un mat´eriau rigide, sa surface libre est en contact avec l’air. La distribution initiale des bact´eries est uniforme. Au cours du temps, deux zones de haute concentration des bact´eries se forment : une pr`es de surface, et une pr`es du fond.

Figure 1 – Concentration des bact´eries initiale (g), finale(d). Zones blanches correspondent

`

a la concentration ´elev´ee.

Pour simplifier, on consid`ere que la seule nourriture des bact´eries est l’oxyg`ene O2. Les bact´eries en consomment et cherchent `a se d´eplacer l`a ou il y en a plus, en suivant le gradient de concentration.

2 Diff´ erences finis 1D

Soit x∈[0,1],t ∈[0, T]. On consid`ere le syst`eme d’´equations :

(2)









tc−Dc∆c=−βρc

tρ−Dρ∆ρ=−∇·(ρv)−∇·(ρω) v =γ∇c

ω =−λ∇ρ1

(1a) (1b) (1c) (1d) avec

c=c(t, x) - concentration d’O2,

ρ=ρ(t, x) - concentration des bact´eries,

v =v(t, x) - quantit´e de mouvement due au gradient de concentration fix´e par ∇c, ω = ω(t, x) - quantit´e de mouvement due au gradient de concentration des bact´eries donn´e par ∇ρ

Dc, β, Dρ, γ, λ, - constantes positives.

Question 1. Interpr´eter les termes dans (1).

Question 2. Discr´etiser (1a)-(1b) `a l’aide du sch´ema explicite d’ordre 1 (dit d’Euler) en temps et du sch´ema explicite en espace. Discr´etiser les gradients (1c)-(1d) ´egalement `a l’aide du sch´ema d’Euler.

Question 3. Calculer l’erreur de troncature du sch´ema propos´e. Ce sch´ema est-il consis- tant ? Quel est son ordre ?

Question 4. Existe-t-il une fa¸con simple d’am´eliorer la pr´ecision du sch´ema pr´ec´edant ? Imposons les conditions d’absence de flux des bact´eries `a travers la surface

∂ρ

∂x x={0,1}

= 0 (2)

Pour l’O2, il n’y a pas de flux a x= 0,

∂c

∂x x=0

= 0 (3)

et sa concentration est constante `a x= 1, c|x=1 = 1 .

Les conditions initiales sont

c|t=0 ≡1, ρ|t=0 ≡1, v|t=0 ≡0

SoitJ, N >0 - entiers. D´efinissons un pas d’espace ∆x= J−31 , un pas de temps ∆t= N−11 , et les nœuds d’un maillage r´egulier (tn, xj) = ((n−2)∆t,(j−1)∆x) pourn ∈ {1, .., N}, j ∈ {1, .., J}.

(3)

Figure 2 – Maillage 1D Un tel maillage poss`ede des points fictifs (Fig.2), ce qui

permet d’impl´ementer les conditions aux limites (7a) et (7b), en imposant la valeursc1, ρ1, ρJ en fonction dec2, ρ2, ρJ−1 res- pectivement.

Question 5. Discr´etiser les conditions aux limites en utili- sant les points fictifs.

Posons Dc = 1, β = 10, Dρ = 1, γ = 1, λ = 1, = 0.1.

Question 6. Impl´ementer le sch´ema de la question (Q.2) en Scilab. Qu’observe-t-on si on augmente le pas de temps pour les autres param´etr´es fixes, de sorte que

CF L= 2D∆t

dx2 <1 (4)

ne soit pas v´erifi´ee ?

Question 7. Programmer en Scilab le sch´ema d’ordre 2 de la (Q.4). Il faudra augmenter la pr´ecision de la discr´etisation des conditions aux limites.

Question 8. Pour enlever la condition CFL sur le pas de temps, discr´etiser syst`eme (1) par le sch´ema implicite. On ne cherchera qu’a rendre implicite les laplaciens, et non pas les parties droites des ´equations.

Question 9. Programmer le sch´ema implicite en Scilab (on peut garder la mˆeme discr´etisation pour les conditions aux limites).

D’abord, ferons un test num´erique simple avec β = 0, γ = 0, λ = 0, etJ = 10 Question 10. Tracer le nombre total des bact´eries

J

P

j=1

ρnj en fonction de n. Rappelons-nous qu’avec les conditions aux limites d’imperm´eabilit´e, cette quantit´e doit ˆetre conserv´ee. Ce d´efaut persiste-t-il quand on augmente J?

Question 11. Modifier les matrices d’it´erations de sorte que dans le test pr´ec´edant

J

X

j=1

ρnj =1const et

J

X

j=1

cnj =1const

Prenons maintenant Dc= 1, β = 10, Dρ = 1, γ = 1, λ= 1, = 0.1.

Question 12. Comment le sch´ema implicite se comporte-t-il quand (4) n’est pas v´erifi´ee ? Question 13. Le mod`ele num´erique qu’on a construit d´ecrit-il le comportement exp´erimental ?

(4)

3 El´ ´ ements finis 2D

Pour raffiner notre mod`ele, nous allons prendre en compte le mouvement de l’eau, du au d´eplacement des bact´eries. L’´equation de Stokes et la condition d’incompressibilit´e s’´ecrivent :

−µ∆u+∇p=−ρδg

∇·u = 0

(5a) (5b) avec u - champ de vitesse de fluide, µ- la viscosit´e (constante positive), p - la pression, le terme −ρδg repr´esente la force de pesanteur qui agit sur les bact´eries, car leur densit´e est plus grande que celle de l’eau.

Il nous reste d’ajouter les changements de la concentration de l’oxyg`ene −∇·(cu) dans (1a) et des bact´eries −∇·(ρu) dans (1b). Ainsi nous obtenons









tc−Dc∆c=−βρc−∇·(cu)

tρ−Dρ∆ρ=−∇·(ρv)−∇·(ρω)−∇·(ρu) v =γ∇c

ω=−λ∇ρ1

(6a) (6b) (6c) (6d) Soit Ω ⊂ R2 un ouvert born´e r´egulier avec la fronti`ere ∂Ω =∂Ωd∪∂Ωn (ici ∂Ωd est la partie de la fronti`ere en contact avec de l’air, ∂Ωn est en contact avec le mat´eriau) et la normale ext´erieure n. Posons les conditions aux limites













 Z

∂Ωρ(De ρ∂ρ

∂n −γρ∂c

∂n +λ

ρ1/∂ρ

∂n) = 0 ∀ρe∈H1(Ω) c|∂Ω

d = 1

∂c

∂n ∂Ωn

= 0

(7a) (7b) (7c) et les conditions initiales









c|t=0 = 1 ρ|t=0 = 1 u|t=0 = 0 p|t=0 = 1

(8a) (8b) (8c) (8d)

Pour la vitesse, nous allons consid´erer deux types des conditions aux limites. Le premier d´ecrit une surface libre

( u·n|∂Ω= 0 t·σ·n|∂Ω= 0

(9a) (9b)

(5)

o`u le tenseur des contraintes σ =−pI+µ(∇u+∇uT).

Question 14. Expliciter l’expression (9b) dans le cas d’un plan y=const avec la normale ext´erieuren=

0 1

. En d´eduire la forme ´equivalente de cette condition pour les faces d’un carr´e unit´e.

Deuxi`eme type des conditions aux limites s’´ecrit simplement

u|∂Ω = 0 (10)

On l’utilisera pour toutes les fronti`eres courb´ees.

Question 15. Effectuer un changement de variable appropri´e afin de passer `a des conditions de Dirichlet homog`enes dans (6a). On notera c1 la nouvelle concentration d’O2.

Soit Hc(Ω) ={f ∈H1(Ω) telles que f|∂Ωd = 0}.

Question 16. En multipliant (Q.15) et (6b) par des fonctions test ec∈ Hc(Ω), ρe∈ H1(Ω), montrer qu’on obtient les formulations variationnelles suivantes

Z

ec∂tc1+ Z

Dc∇ec·∇c1+ Z

βρ(c1+ 1)ec− Z

(c1+ 1)u·∇ec− Z

∂Ω

Dcec∂c1

∂n + Z

∂Ω

c1ecu·n= 0

Z

ρ∂e tρ+ Z

Dρ∇ρe·∇ρ− Z

ργ∇c1·∇ρe+ Z

λ

ρ1/∇ρ·∇ρe− Z

ρu·∇ρe= 0

Soit ∂Ωl⊂ ∂Ω - la partie de fronti`ere o`uu v´erifie (9), ∂Ω0 ⊂∂Ω - la partie de fronti`ere o`uu v´erifie (10).

Soit Hu(Ω) ={u ∈H1(Ω)×H1(Ω) telles que u·n|∂Ωl = 0,u|∂Ω0 = 0} . Question 17.

Multiplier (5a) par ue ∈ Hu(Ω), (5b) par ep ∈ L2(Ω), faire l’int´egration par parties et prendre la somme de ces deux ´equations afin d’obtenir une formulation variationnelle de l’´equation de Stokes.

Question 18. Ecrire la formulation variationnelle du syst`´ eme complet (5)-(6). Notamment, d´etailler tous les espaces fonctionnelles utilis´es.

Soit c1, ρ∈H2(Ω), u∈H2(Ω)×H2(Ω).

Question 19. Montrer que les solutions de ces trois formulations variationnelles sont les solutions faibles du probl`eme initial.

Question 20. Discr´etiser le temps par le sch´ema d’Euler explicite (comme dans la section pr´ec´edente). Par souci de simplicit´e, on d´ecouplera les ´equations en prenant les valeurs des

(6)

fonctions sur le pas pr´ec´edant. Par exemple, on discr´etiseraβρcec=βρncn+1ecdans l’´equation surc, etc.

Question 21. Etudier l’unicit´´ e de solution de la formulation variationnelle de (Q.20) `a l’aide du th´eor`eme de Lax-Milgram. Pour la deuxi`eme ´equation on pourra imposer une condition sur les constantes du probl`eme et la fonctionρn. Donner la forme explicite de cette condition. On supposera que ρn etun sont des fonctions born´ees.

Question 22. Montrer que la solution du syst`eme des formulations variationnelles de la question pr´ec´edente est born´ee.

Nous allons faire les tests num´eriques pour les deux g´eom´etries du domaine : un carr´e, et une demi-goutte d’eau, comme sur la Figure 1.

Soit Th est un maillage de Ω. Nous allons utiliser les ´el´ements finis P1 associ´es avec Th pourcn, ρn, pn, ainsi que pour chaque composante de un.

Prenons les valeurs suivantes des constantes real Dc = 1;

real beta = 1;

real DRho = 0.8;

real gamma = 1;

real lambda = 1;

real epsilon = 0.1;

real deltag = 1;

real mu = 1;

Les maillages peuvent ˆetre d´efinis comme ceci : Carr´e :

int np = 10;

mesh Th = square(np, np);

Goutte : int np = 10;

int size1 = 2;

int size2 = 1;

border bottom(t=0,1)

{ x = size1*t; y = 0; label = 1; };

border right(t=0,size2)

{ x = size1; y = t; label = 2; };

border top(t = size1-size2, 0)

{ x = size2 + t; y = size2; label = 3; };

border left(t = pi/2, pi)

{ x = size2 * (1 + cos(t)); y = size2 * sin(t); label = 4; };

mesh Th = buildmesh(bottom(2*np) + right(np) + top(2*np) + left(np));

(7)

Question 23. Impl´ementer le sch´ema obtenu en FreeFem++. On n’utilisera pas le change- ment des variablesc−> c1, mais plutˆot on imposera les conditions aux limites, par exemple, pour la goutte, comme ceci :

on(3, c=1) + on(4, c=1)

Faire les tests num´eriques pour les g´eom´etries donn´ees plus haut.

Question 24. Comparer les r´esultats de simulation avec les donn´ees exp´erimentales. Quelles conclusions peut-on faire ?

L’essentiel de ce projet a ´et´e inspir´e d’un stage M1 propos´e par B. Maury.

Pour aller plus loin

ESAIM : PROCEEDINGS, August 2010, Vol. 30, p. 104-123 Simulation of self-propelled chemotactic bacteria in a Stokes flow A. Decoene, A. Lorz, S. Martin, B. Maury and M.

Tang.

Références

Documents relatifs

Ecrire un programme en Scilab permettant de calculer la solution approch´ ee ` a l’aide d’´ el´ ements finis P 1 , en dimension un (on pourra commencer par r´ esoudre le probl`

Ce programme devra prendre pour param` etres d’entr´ ee la borne sup´ erieure a de l’intervalle d’espace, le nombre de points de discr´ etisation en x, le temps final T et le

En prenant la mˆeme force qu’` a la question 3, ´ecrire ` a l’aide de Scilab un sch´ema aux diff´erences finies qui r´esoud num´eriquement le syst`eme (2)..

Donc, pour pouvoir ´ etudier les limites des solutions u lorsque tend vers 0, il faut chercher quelle ´ equation r´ esout la fonction limite. Dans l’´ equation (1), a peut-ˆ etre

Pour r´ epondre ` a cette question, nous allons r´ esoudre l’´ equation des ondes, ainsi que le probl` eme aux valeurs propres correspondant dans les dimensions 1 et 2.. Soit Ω ∈ R

Ainsi la semi-discr´etisation en espace introduite au paragraphe 8.7.1 reste inchang´ee et conduit dans le contexte des ´equations hyperboliques de la forme (3) ` a devoir int´egrer

Impl´ ementer la r´ esolution num´ erique avec freeFem (pour le sch´ ema implicite, avec l’algorithme d’Uzawa).. 6

Afin de souligner le rˆ ole de la petitesse du param` etre , rapportons que les solutions u de l’´ equation (2) ainsi leur d´ eriv´ ee en temps ∂u ∂t d´ ecroissent