• Aucun résultat trouvé

Prise en compte de l'angle de contact statique dans Cimlib

5.2 Méthodes numériques implémentées

5.2.1 Prise en compte de l'angle de contact statique dans Cimlib

En ce qui concerne l'imposition de l'angle de contact, nous choisissons la solution la plus simple, qui est d'imposer la direction de la normale à l'interface aux noeuds de la frontière, près de la ligne de contact. Ainsi, localement, la normale imposée ne correspond pas à la vrai normale de la Level Set. On utilise cette normale modiée pour calculer

5.2 Méthodes numériques implémentées

la force de tension de surface, qui ainsi va déplacer l'interface de telle manière que sa normale soit égale à la normale imposée. L'imposition de l'angle de contact se fait donc de manière explicite et non de manière implicite en modiant directement la valeur de la Level Set localement. Ainsi, contrairement à la méthode VOF où l'interface calculée prenait immédiatement en compte l'angle de contact imposé, l'interface dénie par la level-set a une normale réelle diérente de la normale modiée pour imposer l'angle de contact. Il faut attendre le calcul des forces de tension de surface pour déplacer la Level Set et ainsi avoir un angle avec la surface qui corresponde à l'angle imposé.

La normale que l'on va imposer sera calculée à partir de la normale à la frontière. En eet, nous connaissons l'angle entre l'interface et le substrat solide, donc l'angle entre la normale ~nΓ à l'interface et la normale ~nsau solide. Ainsi, ~nΓau niveau du point triple sera

obtenue par rotation de ~ns. L'un des problèmes à résoudre est de s'orienter par rapport

au uide. En eet, l'angle est mesuré à l'intérieur d'un des deux uides. Dans le cas d'une bulle 2D, si on est à gauche ou à droite, la normale aura un angle θ ou π −θ dans le repère global (gure 5.7). x y yloc xloc zloc . yloc xloc z loc

Figure 5.7  Schéma illustrant le problème de l'orientation pour l'imposition de l'angle de contact. Dans le repère global, l'angle de contact est donné par θ à gauche de la bulle et par φ = π− θ à droite. On voit donc la nécessité de se placer dans le repère local (xloc, yloc, zloc).

Le moyen le plus simple au niveau du code, valable à la fois en 2D et en 3D, est de se placer dans un repère local (gure 5.8). On utilisera donc des matrices de rotation pour obtenir la normale modiée à l'interface en fonction de la normale à la surface solide. Dans un premier temps, il est nécessaire de déterminer l'axe de rotation ~Ω de la normale à la surface solide. On le calcule de la manière suivante (gure 5.9) :

~

Ω = ~ns∧ ~nΓ k~ns∧ ~nΓk

(5.11) On calcule ensuite la matrice de rotation R à partir de l'axe ~Ω et d'un angle ψ :

R =    Ω2 x+ (1− Ω2x)c ΩxΩy(1− c) − Ωzs ΩxΩz(1− c) + Ωys ΩxΩy(1− c) + Ωzs Ω2y+ (1− Ω2y)c ΩyΩz(1− c) − Ωxs ΩxΩz(1− c) − Ωys ΩyΩz(1− c) + Ωxs Ω2z+ (1− Ω2z)c    (5.12)

avec c = cos ψ et s = sin ψ. Il faut bien remarquer qu'ici ψ n'est pas l'angle de contact mais l'angle de rotation. Étant donné que l'angle de contact est l'angle de la tangente à

. yloc xloc zloc xloc yloc xloc zloc y x z

Figure 5.8  Schéma illustrant le problème de l'orientation pour l'imposition de l'angle de contact. Le repère local (xloc, yloc, zloc) est placé en plusieurs points de la ligne de contact 3D.

l'interface par rapport à la surface solide, on a ψ = π −θ. Dans le cas d'une géométrie 2D, pour faire les calculs, on va ajouter une troisième composante nulle aux vecteurs normaux aux interface. Ainsi, l'axe de rotation calculé sera toujours orienté selon ±Z.

Cette méthode décrite ci-dessus nous donne un champ vectoriel correspondant à la normale à l'interface, dont la direction est localement modiée pour correspondre à l'angle de contact imposé. Dans la suite, nous donnons l'algorithme d'un calcul avec angle de contact imposé.

5.2.1.2 Algorithme de calcul avec angle de contact imposé

Comme expliqué précédemment, nous possédons un champ de vecteur nodal correspon- dant à la normale à l'interface localement modiée pour avoir l'angle de contact imposé. Ainsi, dans ces zones de contact, la direction du vecteur normal n'est pas la direction de la normale eective à l'interface, mais elle correspond à la direction qu'aurait le vecteur normal si l'interface respectait l'angle de contact imposé (vecteur rouge sur la gure 5.10). Cette variation locale de la normale va entraîner une variation locale de la courbure de l'interface, puisque cette dernière est obtenue par divergence du champ de vecteur modié. Le calcul de la force de tension de surface va donc donner un champ de force dont l'eet est de diminuer cette variation de courbure. Après résolution des équations de Stokes contenant les forces de tension de surface, le champ de vitesse obtenu va déplacer l'interface près de la ligne de contact de manière à ce que son angle de contact s'approche de l'angle de contact imposé.

5.2 Méthodes numériques implémentées x y zloc

.

zloc

Figure 5.9  Schéma illustrant le calcul de l'axe de rotation utilisé pour calculer l'angle de contact. C'est la normale à la surface du solide ~nΓ, à laquelle la rotation est appliquée, qui

donnera la normale modiée à l'interface.

pour que l'écart à cet angle diminue. Lorsque cet écart devient susamment faible pour que la force qu'il provoque soit quasiment nulle, l'interface ne se déplace plus et l'angle de contact est respecté. Cette méthode est donc une méthode itérative, ce qui implique de contrôler le pas de temps, de manière à ce que la force provoquée par l'écart entre l'angle réel et l'angle imposé ne donne pas des déplacements de l'interface trop importants.

L'algorithme d'utilisation de cette méthode est le suivant : 1. Calcul du champ de normales ~ns à la frontière ;

2. Calcul du champ de normales ~nΓ à l'interface à partir de la fonction Level Set au

temps t ;

3. Modication de la normale ~nΓ en fonction de l'angle de contact θ et de ~ns sur les

n÷uds frontières ;

4. Calcul du champ de courbure κ de l'interface à partir du champ de normales ~nΓ

modié ;

5. Calcul du Dirac lissé δl en utilisant l'équation (4.30) ;

6. Calcul de la force de tension de surface en utilisant l'équation (4.14) ; 7. Calcul du champ de viscosité η en utilisant la Level Set ;

8. Résolution des équations de Stokes en utilisant le champ de viscosité η calculé, en introduisant la force de tension de surface en second membre, et en imposant les conditions aux limites adéquates pour que l'interface puisse se déplacer sur la frontière ;

9. Déplacement de l'interface pour obtenir l'interface en t + dt ; 10. Retour en 2.

L'implémentation de cette méthode est validée en 5.3.1 pour les cas 2D et 3D, pour plusieurs angles de contact (c'est-à-dire pour un uide à forte mouillabilité avec θ = 30◦

Figure 5.10  Interface entre deux uides, avec un angle de contact inférieur à 90◦ avec la

surface solide. L'angle de contact imposé est supérieur à 90◦. La normale à l'interface est

représentée par les vecteurs. Le vecteur rouge correspond à la normale modiée pour tenir compte de l'angle de contact. L'interface rouge correspond à l'interface équivalente à la cour- bure correspondant au champ de vecteurs modié localement. Cela fait apparaître une force de tension de surface (èche rouge épaisse) qui va déplacer l'interface pour donner celle en tirets gris.