Modélisation XFEM, Nitsche, Level-set et simulation sous FEniCS de la dynamique de deux fluides non
miscibles
Thèse
RÉDA MEKHLOUF
Doctorat en génie civil
Philosophiæ Doctor (Ph.D.)
Québec, Canada
© Réda Mekhlouf, 2018
Modélisation XFEM, Nitsche, Level-set et simulation sous FEniCS de la dynamique de deux fluides non
miscibles
Thèse
RÉDA MEKHLOUF
Sous la direction de :
ABDELKADER BAGGAG, directeur de recherche
iii
Résumé
À l’heure actuelle, les écoulements à deux fluides non miscibles jouent un rôle très important
dans plusieurs domaines, que ça soit en science ou en ingénierie. Leur complexité est
tellement élevée que les modèles actuels ne permettent de résoudre que des cas particuliers
ou simplifiés avec un degré de précision qui demeurent souvent plutôt modeste. Une nouvelle
approche numérique parait être une nécessité pour capturer la complexité physique du
phénomène. Pour ce faire nous avons besoin d’outils robustes.
Au niveau de l’interface de séparation entre les deux fluides non miscibles, les variables
physiques sont discontinues, ce qui pose un défi majeur dans la description des variables et
des conditions aux limites à l’interface. Le fait que les densités et les viscosités de chaque
fluide soient différentes de part et d’autre de l’interface donne naissance à des défauts et des
impuretés dans le champ des vitesses, ce qu’on appelle une discontinuité faible. Pour sa part,
l’existence de la force de tension superficielle au niveau de l’interface crée une discontinuité
sur le champ de pression, ce qu’on appelle une discontinuité forte. Un autre grand problème
se pose au niveau de l’étude numérique du problème, où les méthodes numériques classiques
ont une précision assez limitée dans ce genre de situation.
L’objectif de ce travail est de fournir une étude complète de la dynamique de l’interface entre
deux fluides non miscibles à l’aide d’outils mathématiques, physiques et numériques
robustes.
D’abord, une étude analytique du problème a été faite où l’équation de Navier-Stokes et les
conditions de saut sur les variables physiques au niveau de l’interface de séparation entre les
fluides ont été prouvées en détail.
Pour traiter les discontinuités, nous avons discrétisé nos variables à l’aide de la méthode
XFEM. Dû aux larges distorsions rencontrées dans ce genre d’écoulement, nous avons utilisé
l’approche Eulérienne, pour corriger les oscillations des solutions dues aux choix du
système de coordonnées nous avons utilisé les techniques de stabilisation SUPG/PSPG. Le
traitement de la courbure des interfaces 𝜿 , a été fait à l’aide de l’opérateur Laplace Beltrami
et le suivi d’interface à l’aide de la méthode ¨Level-set¨. Pour le traitement des conditions de
saut au niveau de l’interface la méthode Nitsche est développée dans différents contextes.
Après avoir développé un modèle physique et mathématique dans les premières parties de
notre travail, nous avons fait une étude numérique à l’aide de la plateforme de calcul FEniCS,
qui est une plateforme de développement en langage C++ avec une interface Python. Un
code de calcul a été développé dans le cas des écoulements de deux fluides non miscibles
iv
avec les modèles physiques et les outils mathématiques développés dans les sections
précédentes.
v
Abstract
XFEM, Nitsche, Level-set modelling and FEniCS simulation
of the dynamics of two phase flow
The two-phase flow problems have an important role in the multitude of domains in science
and engineering. Their complexity is so high that the actual models can solve only particular
or simplified cases with a certain degree of precision. A new approach is a necessity to
understand the evolution of new ideas and the physical complexity in this kind of flow, to
contribute to the study of this field. A good study requires solid and robust tools to have
performing results and a maximum of efficacy.
At the interface of separation between the two immiscible fluids, the physical parameters are
discontinuous, which gives us difficulties for the description of the physical variables at the
interface and boundary conditions. The fact that the density and the viscosity are
discontinuous at the interface creates kinks in the velocity, which represent a weak
discontinuity. The existence of the surface tension at the interface create a discontinuity for
the pressure field, it represents a strong discontinuity.
The main objective of this work is to make a complete study based on strong and robust
physical, mathematical and numerical tools. A strong combination, capable of capturing the
physical aspect of the interface between the two fluids with a very good precision.
Building such a robust, cost effective and accurate numerical model is challenging and
requires lots of efforts and a multidisciplinary knowledge in mathematics, physics and
computer science.
First, an analytical study was made where the one fluid model of the Navier-Stokes equation
was proved from Newton’s laws and jump conditions at the interface was proved and detailed
analytically.
To treat the problem of discontinuity, we used the XFEM method to discretize our
discontinuous variables. Due to the large distortion encountered in this kind of fluid mechanic
problems, we are going to use the Eulerian approach, and to correct the oscillation of
solutions we will use the SUPG/PSPG stabilization technic.
The treatment of the interface curvature 𝜿, was done with the Laplace Beltrami operator
and the interface tracking with the Level-set method. To treat the jump conditions with a
very sharp precision we used the Nitsche’s method, developed in different cases.
vi
After building a strong mathematical and physical model in the first parts of our work, we
did a numerical study using the FEniCS computational platform, which is a platform of
computational development based on C++ with a Python interface. A numerical code was
developed in this study, in the case of two-phase flow problem, based on the previous
mathematical and physical models detailed in previous sections.
vii
Table des matières
Résumé ................................................................................................................................................iii
Abstract ............................................................................................................................................... v
Table des matières ............................................................................................................................. vii
Liste des figures ....................................................................................................................................x
Liste des tableaux .............................................................................................................................. xiii
Remerciements ................................................................................................................................. xiv
Chapitre 1 ............................................................................................................................................ 1
Introduction ....................................................................................................................................... 1
I-Introduction .................................................................................................................................. 1
II-Organisation de la thèse .............................................................................................................. 4
Chapitre 2 ............................................................................................................................................ 6
XFEM ................................................................................................................................................... 6
I-Introduction .................................................................................................................................. 6
II-Revue de la littérature sur la méthode XFEM .............................................................................. 6
II-A-Mécanique des fluides .......................................................................................................... 6
II-B-Transition de phase .............................................................................................................. 8
II-C-Problèmes de solidification .................................................................................................. 9
II-D-Problèmes thermique et thermomécanique ....................................................................... 9
III-Lacunes de la recherche ............................................................................................................ 10
IV-Objectifs de la recherche .......................................................................................................... 11
V-Méthode des éléments finis étendus XFEM .............................................................................. 13
V-1-Définition de la méthode XFEM ......................................................................................... 13
V-2-Méthodes d’enrichissements ............................................................................................. 14
VI-Bases de l’approximation XFEM ............................................................................................... 15
VII-Exemples d’applications .......................................................................................................... 16
VIII-Exemples de discrétisation XFEM ........................................................................................... 22
VIII-1-Modélisation d’une barre élastique 1D avec une discontinuité forte ............................ 22
V-2-Modélisation d’une barre élastique avec une discontinuité faible .................................... 26
Chapitre 3 .......................................................................................................................................... 32
viii
Modèle mathématique ..................................................................................................................... 32
I-Introduction ................................................................................................................................ 32
II-Équation de Navier –Stokes pour deux fluides non miscibles avec tension superficielle ......... 33
III-Équation de conservation de la masse ..................................................................................... 38
III-1-Approche physique ............................................................................................................ 38
III-2-Approche mécanique des milieux continus ....................................................................... 43
IV-Équation régissant la physique de l’interface entre deux fluides non miscibles ...................... 45
V- Conditions de saut sur les grandeurs physiques au niveau de l’interface de séparation entre
les fluides ....................................................................................................................................... 53
Chapitre 4 .......................................................................................................................................... 60
Méthodes numériques et stratégies de résolutions ......................................................................... 60
I-Introduction ................................................................................................................................ 60
II-Modélisation numérique ........................................................................................................... 61
II-1-Nature de l’interface ........................................................................................................... 61
II-2-Choix du système de coordonnées ..................................................................................... 63
II-3-Techniques de stabilisation pour le champ de vitesse et de pression SUPG/PSPG. .......... 64
II-4-Discrétisation temporelle des équations de Navier Stokes dans le cas des écoulements
diphasiques ............................................................................................................................... 68
III-Opérateur Laplace Beltrami ...................................................................................................... 72
III-1-Cas où le coefficient de tension superficielle est constant ............................................... 74
III-2-Cas où le coefficient de tension superficielle est variable ................................................. 76
IV- Méthode Nitsche ..................................................................................................................... 78
IV-1-Introduction ....................................................................................................................... 78
IV-2-Nitsche pour le traitement des conditions aux limites de type Dirichlet .......................... 78
IV-3-Nitsche pour le traitement des conditions de sauts au niveau de l’interface entre de deux
domaines non miscibles ............................................................................................................ 90
V-Méthode ¨Level-set¨ .................................................................................................................. 98
V-1-Équation de transport ¨Level-set¨ ...................................................................................... 98
V-2-Formulation faible de l’équation ¨Level-set¨ ................................................................... 100
V-3-Processus de réinitialisation de la fonction ¨Level-set¨ ................................................... 102
V-4-Discrétisation temporelle de l’équation de transport ¨Level-set¨ ................................... 103
V-5-Limite pour les pas de temps ............................................................................................ 105
ix
VI-Plateforme de calcul FEniCS ................................................................................................... 109
I-Introduction .......................................................................................................................... 109
II-Architecture de FEniCS ......................................................................................................... 109
III-Composants principaux de FEniCS ...................................................................................... 110
IV-Interface utilisateur : .......................................................................................................... 111
Chapitre 5 ........................................................................................................................................ 114
Résultats numériques ...................................................................................................................... 114
I-Interface linéaire abrupt stationnaire ....................................................................................... 114
II-Exemple d’une interface dans le cas du problème de Stokes ................................................. 119
III -Écoulements diphasiques ...................................................................................................... 120
III-1- Validation ........................................................................................................................ 120
III-2-Étude de différents paramètres dans les écoulements à deux phases : ......................... 123
III-3-Transition entre deux régimes d’écoulements (stratifié/ondulé) ................................... 127
III-4-Effet Marangoni ............................................................................................................... 129
III-5-Cas où le taux de remplissage de la phase la plus dense est très faible.......................... 131
III-6- Injection d’une phase dans une autre ............................................................................ 133
Chapitre 6 ........................................................................................................................................ 136
Conclusions et perspectives ............................................................................................................ 136
Annexe A : ....................................................................................................................................... 139
Équations mathématiques régissant les interfaces entre deux fluides non miscibles ................... 139
A-I-Loi de Young-Laplace ............................................................................................................. 139
A-I-1 Aspect énergétique ........................................................................................................ 140
A-I-2 Équilibre des forces ........................................................................................................ 143
A-I-3-Remarques ..................................................................................................................... 145
A-II- Force due à la présence tension superficielle. .................................................................... 145
A-III-Expression de la courbure d’une surface de séparation entre deux milieux ...................... 150
Annexe B ......................................................................................................................................... 158
Méthode Nitsche ............................................................................................................................. 158
Équation de Stokes ...................................................................................................................... 158
Annexe C ......................................................................................................................................... 163
Programmes FEniCS ........................................................................................................................ 163
Bibliographie ................................................................................................................................... 183
x
Liste des figures
Figure 2.1 : Éléments et nœuds enrichis XFEM…………………...……………………….15
Figure 2.2 : Discontinuité forte, schémas XFEM et FEM………………………………….23
Figure 2.3 : Discontinuité faible, schémas XFEM et FEM…………………………………28
Figure 3.1 : Domaines contenant deux fluides de propriétés physiques différentes………...33
Figure 3.2 : Union des deux domaines fluides à travers une interface...…………………...35
Figure 3.3 : Volume de contrôle à deux phases non miscibles avec interface de séparation.39
Figure 3.4 : Interface de séparation entre deux fluides non miscibles………………………31
Figure 3.5 : Interface symétrique entre deux fluides non miscibles………………………..43
Figure 3.6 : Bilan sur une portion d’une interface de séparation entre deux fluides non
miscibles…………………………………………………………………………46
Figure 4.1 : Interface à diffusion……..…………………………………………………….62
Figure 4.2 : Interface abrupte……………………………………………………………….62
Figure 4.3 : Configuration entre deux fluides non miscibles……………………………….71
La figure 4.4 : Variation de log(e) en fonction de log(h)…………………………………..83
Figure 4.5 : Variation de log(h) en fonction de log(e)……………………………………...83
Figure 4.6 : Variation de log(e)en fonction de log(h) pour différentes valeurs de 𝜆∂Ω…….84
Figure 4.7 :(a) Représentation de la vitesse au milieu du domaine, (b) Évolution de la
pression dans le domaine…………………………………………………………..87
Figure 4.8 : Distribution des vitesses dans le domaine………………………………..........87
xi
Figure 4.9: Distribution des pressions dans le domaine……………………………………87
Figure 4.10 : Distribution des vitesses dans le cas d’absence de glissement………………89
Figure 4.11 : Distribution des vitesses dans une section verticale …………………….......90
Figure 4.12 : Distribution de la pression dans le centre de la géométrie……………………90
Figure 4.13 : Domaine bi matériel …………………………………..……………………..91
Figure 4.14 : Deux fluides non miscibles avec une interface………………………………96
Figure 4.15 : Séparation d’un plan dans ℝ2 en différents domaines Ω+(𝑡) et Ω−(𝑡) avec un
contour Γ(𝑡) de la fonction ¨Level-set¨……………………………………………98
Figure 4.16 : Schéma de la plateforme de calcul FEniCS utilisant les différents
composants du projet FEniCS (Logg, A et al 2012, The FEniCS book)………….109
Figure 4.17: Architecture FEniCS (Logg et al.2009)……………………………………..111
Figure 4.18 :Schéma d’assemblage des différents composant de FEniCS………………..113
Figure 5.1: Domaine bi matériel en 2D……………………………………………………115
Figure 5.2 : Saut sur la pression à 1D……………………………………………………..116
Figure 5.3 : Cas stationnaire avec une interface droite, saut sur la pression P en x=0.5….116
Figure 5.4 : Représentation de la pression à 1D, dans le cas d’une discontinuité forte et
faible……………………………………………………………………….......118
Figure 5.5 : Représentation de la discontinuité faible et forte de la pression en 2D………118
Figure 5.6 : Taux de convergence pour la pression et la vitesse ………………………….120
Figure 5.7 : Cartographie des régimes d’écoulement selon Mandhan et al. 1974, basée
sur des visualisations expérimentales………………………………...............121
Figure 5.8 : Distribution des phases……………………………………………………….124
Figure 5.9: Distribution des vitesses au niveau de l’interface entre les deux fluides..........125
Figures 5.10 (a,b) : Vecteurs vitesses dans chaque phase pour les deux fluides………….126
Figure 5.11 : Représentation du vecteur vitesse dans la phase eau………………………..126
xii
Figure 5.12 :Saut sur la variable pression au niveau de l’interface entre les deux fluides....127
Figure 5.13 : Transition d’un écoulement stratifié vers un écoulement ondulé……….......128
Figure 5.14 : Distribution des vitesses au niveau de l’interface entre deux fluides
(Écoulement ondulé) …………………………………………………...........129
Figure 5.15: Déplacement de fluide dû à l’effet Marangoni au niveau de l’interface….....130
Figure 5.16 : Distribution des phases dans le cas de faible taux de remplissage………….131
Figure 5.17 : Distribution des vitesses dans le cas de faible taux de remplissage………..132
Figure 5.18 : Distribution du module de vecteur vitesse…………………………….…...132
Figure 5.19 : a-Distribution des vitesses suivant X/ b- Distribution des vitesses suivant Y..133
Figure 5.20 : Distribution des vitesses dans le cas d’injection ……………………………133
Figure 5.21 : a-Distribution vectorielle des vitesses suivant les X /b- Distribution
vectorielle des vitesses suivant Y ……………………………………..….134
Figure 5.22 : Distribution des pressions dans la configuration …………………………..135
Figure A.1 : Variation de l’aire d’une surface lors d’un déplacement……………………140
Figure A.2 : Illustration d’une interface en coordonnées polaires………………………..143
Figure A.3 : Déformation d’une interface lors d’un déplacement infinitésimal δl………..146
Figure A.4 : Déplacement d’une surface paramétrée…………………………………….148
Figure A.5: Déplacement normal infinitésimal d’une interface………………………….150
Figure A.6 : Divergence d’une surface centrée dans un repère ………………………….154
Figure B.1 : Variation de log(h) et log(e) en fonction de N …………………………….161
Figure B.2 : Variation de Log(h) et Log(e) pour différents paramètres de stabilisation
𝛽……………………………………………………………………………….....161
xiii
Liste des tableaux
Tableau 3.1 : Conditions de saut au niveau de l’interface…………………...……………...59
Tableau 4.1 :Valeur de h, l’erreur et le taux pour différentes valeurs du nombre de
cellule N …………………………………………….……………………….81
Tableau 4.2 : Solution 𝑢ℎ pour différentes valeurs de N……………………………………82
Tableau 4.3 : Termes Nistche ajoutés à la forme linéaire et bilinéaire de l’équation de
Navier-Stokes dans le cas d’existence de glissement………………………86
Tableau 4.4 : Termes Nistche ajoutés à la forme linéaire et bilinéaire de l’équation de
Navier-Stokes dans le cas d’absence de glissement……………………..…..89
Tableau 5.1 : Validation expérimentale de nos résultats numériques……………………..122
Tableau B.1: Valeurs de h de l’erreur et du taux de convergence en fonction du nombre de
cellules N ………….………………………………………………………...162
xiv
Remerciements
Je tiens à remercier tout d’abord mon directeur de thèse le Professeur Abdelkader Baggag
pour avoir dirigé mes travaux de recherches, pour ses multiples conseils et ses efforts fournis
pour mener à bien ces travaux.
Je tiens à remercier aussi le Professeur Adolfo Foriero, le Professeur Daniel Nadeau et le
Professeur François Morency d’avoir accepté de prendre le temps de lire ce travail et de faire
partie des membres du jury de cette thèse.
Je tiens à remercier mes parents, mon cher père et ma bien aimée mère de m’avoir encouragé
tout au long de ma vie, il m’est difficile d’exprimer en quelques mots ma gratitude envers
eux.
À mes frères et à ma petite sœur, qui ont toujours cru en moi et qui m’ont toujours soutenu.
À ma future épouse, pour son soutien moral ininterrompu, ses encouragements et sa
confiance.
1
Chapitre 1
Introduction
I-Introduction
À l’heure actuelle, les écoulements à deux fluides non miscibles jouent un rôle très important.
Autant dans le milieu scientifique, où ce genre d’écoulement comporte plein d’énigmes non
résolues par les scientifiques que ce soit expérimentalement, analytiquement ou encore
numériquement. Leur complexité est tellement élevée que les modèles actuels ne permettent
de résoudre que des cas particuliers ou simplifiés.
Il n’existe toujours pas de modèles scientifiques capables de prédire les écoulements
diphasiques et leurs transitions de façon continue entre les différentes topologies.
Dans le milieu industriel, on retrouve ce genre d’écoulement dans beaucoup de domaines
notamment en industrie nucléaire, où les écoulements à deux fluides non miscibles jouent un
rôle très important et capital, où la maitrise de ce genre d’écoulement est cruciale pour assurer
une fiabilité et une sécurité pour ces centrales nucléaires. Sachant que les interfaces sont dues
aux impuretés des matériaux utilisés et au changement de phase, due à la variation de
température lors du processus. La présence de l’écoulement annulaire est très présente aussi.
Dans le domaine aérospatial, ce genre d’écoulement est très important, la simulation
numérique de cet écoulement à interface est soutenue par l'industrie spatiale de manière
conséquente. Les écoulements à interfaces interviennent dans la dynamique du carburant, où
l’inertie de ce milieu diphasique joue un rôle très important dans le pilotage des véhicules
spatiaux, dans la stabilisation de l’appareil lors du changement de direction sous les effets de
2
l’existence de ballottements de fluides, aussi lors du processus de lancement des véhicules
spatiaux et de leur atterrissage.
Par ailleurs, en ingénierie pétrolière, où les écoulements multiphasiques sont permanents,
une perte importante est subie lors de l’extraction de pétrole des gisements et du transport
pétrolier due notamment à la mauvaise gestion de ce genre d’écoulement au niveau des
pipelines. Des efforts considérables sont depuis longtemps fournis pour optimiser l'extraction
de ces ressources énergétiques.
Parmi les méthodes récentes pour l’extraction du pétrole, celle qui consiste à injecter de l’eau
ou du gaz pour pousser le pétrole vers le puits de production, grâce à laquelle le taux
d’extraction peut atteindre les 40%. Durant ce processus, les interfaces de séparation jouent
un rôle très important. L’exploitation des hydrocarbures est une autre source de motivation
pour l'étude du comportement des interfaces entre deux fluides non miscibles.
L'un des exemples typiques associés aux interfaces est l'état gazeux de la matière concernant
les problèmes de combustion : lorsqu'une flamme brûle, on observe l'interface entre les gaz
frais et les gaz brûlés.
L’observation de la nature nous renseigne aussi sur la forte présence de ce genre
d’écoulement dans plusieurs phénomènes naturels. Par exemple le déferlement des vagues,
les échanges gazeux entre océan-atmosphère et pleins d’autres phénomènes de la nature. La
compréhension de ce genre d’écoulement est essentielle pour appréhender ce genre de
phénomènes environnementaux, qui peuvent avoir des conséquences considérables sur notre
vie quotidienne.
Lors de la modélisation des écoulements entre deux fluides non miscibles, plusieurs
difficultés et problèmes existent. En premier lieu, les larges distorsions des interfaces lors du
mouvement des fluides. Pour la description cinématique du mouvement des fluides, on
adoptera la formulation Eulérienne. Ou le maillage est fixe et le fluide est en mouvement par
3
rapport au maillage. Le plus grand avantage de la formulation Eulérienne est qu’elle facilite
le traitement des larges distorsions sans avoir besoin de remailler contrairement à l’approche
Lagrangienne. L’inconvénient avec la formulation Eulérienne est le traitement du terme non
linéaire dans l’équation de Navier-Stokes. Ce terme non linéaire convectif aura un traitement
spécial comme on le verra dans le prochain point.
Les opérateurs convectifs dans l’équation de Navier-Stokes avec la formulation Eulérienne
ne sont pas symétriques. Cependant comme conséquence la propriété d’approximation dans
la norme d’énergie dans la formulation Galerkin FEM est perdue. Donc, la solution sera
corrompue par des oscillations de la solution entre les nœuds, les erreurs seront encore plus
grandes quand le processus de convection devient plus dominant. Dans notre étude on
utilisera la technique de stabilisation the Streamline-Upwind Petrov-Galerkin¨ (SUPG) pour
stabiliser les oscillations en modifiant la forme faible de manière consistante (c’est-à-dire
que les solutions modifiées de la forme faible seront identiques aux solutions de la
formulation forte).
Durant l’évolution des interfaces de séparation entre deux fluides non miscibles, les
topologies changent de façon continue dans le temps (coalescence et interpénétration des
phases).On utilisera la méthode ¨Level-set¨ pour l’advection de la fonction ¨Level-set¨ pour
qui la valeur zéro décrit la position de l’interface. La méthode ¨Level-set¨ est capable de
prendre en compte le changement de topologie des interfaces sans avoir besoin de procédures
supplémentaires (contrairement aux méthodes de suivi d’interfaces).
Dans le cas où le ratio entre les viscosités des deux fluides est très important, des gradients
importants peuvent exister au voisinage de l’interface de séparation. Dans cette étude on
emploiera une procédure de maillage adaptatif raffiné dans le cas d’interfaces mobiles pour
capturer les gradients importants. Le maillage adaptatif raffiné est réalisé par l’intermédiaire
de ¨hanging nodes¨ adaptés aux fonctions de forme de telle sorte qu’ils satisfassent la
propriété de partition de l’unité ¨PUM¨. On notera aussi qu’en plus de capturer les gradients
importants, le maillage adaptatif servira à améliorer la description et l’évolution de
l’interface.
4
La présence de tension superficielle induit à l’existence d’un saut sur le champ de pression.
La pression constitue une discontinuité forte au niveau de l’interface, donc nécessite un
traitement avec la méthode XFEM.
L’évaluation de la courbure des interfaces demande des fonctions ¨Level-set¨ très lisses, donc
pour la fonction Level-set¨ Φ(𝑥), la courbure 𝜅 de l’interface peut être calculée de telle sorte
que 𝜿 = ∆𝚽(𝒙) = 𝛁. 𝛁𝚽 c’est-à-dire le Laplacien de la fonction ¨Level-set¨. Il est simple de
se rendre compte que si Φ(𝑥) n’est pas assez lisse, le calcul de la courbure 𝜅 ne sera pas
exact. Dans cette étude pour améliorer le calcul de la courbure nous allons utiliser la
technique de Laplace-Beltrami pour reformuler le terme de tension superficielle pour calculer
𝜅.
Pour le couplage pression-vitesse, nous allons utiliser la technique de stabilisation PSPG
(Pressure-Stabilizing Petrov-Galerkin), qui utilise un ordre d’interpolation équivalent pour la
pression et la vitesse.
Les fonctions d’enrichissement dépendent du temps. Dans le cas de XFEM la discrétisation
temporelle est faite avant la discrétisation spatiale, ce qui n’est pas le cas dans FEM.
Dans le cas de conditions de sauts (conditions aux limites) au niveau de l’interface de
séparation entre deux fluides non miscible, on utilisera la méthode Nitsche pour traiter ce
genre de conditions dû à la grande précision qu’apporte cette méthode comparé au traitement
classique des conditions aux limites de type Dirichlet.
II-Organisation de la thèse
Ce document est structuré en 6 chapitres. Le premier chapitre est une introduction aux
écoulements diphasiques en citant les différents problèmes rencontrés dans ce domaine ainsi
que la motivation de ce travail. Le chapitre 2 présentera la méthode des éléments finis
étendus (XFEM), des définitions ainsi que des exemples analytiques sont traités pour
présenter la méthode de façon claire et objective. Le chapitre 3 concerne la modélisation
5
mathématique des écoulements diphasiques. Les équations de Navier Stokes pour deux
fluides non miscibles ont été développées à partir de principes physiques et de loi de
conservations, aussi les conditions de saut des variables au niveau de l’interface de séparation
sont prouvées analytiquement et résumées dans un tableau à la fin de ce chapitre. Dans le
chapitre 4, les méthodes numériques et mathématiques sont présentées, la stratégie et le plan
de construction d’un modèle numérique sont discutés dans l’objectif d’avoir une
modélisation numérique du phénomène étudié de manière complète et avec la meilleure
précision possible, grâce à des outils performants. L’opérateur Laplace Beltrami, la méthode
Nitsche ainsi que la méthode ¨Level-set¨ seront présentés en détail dans ce chapitre, la
plateforme de calcul FEniCS sera présentée, son architecture, son environnement ainsi que
les modules qui la constitue seront vus à la fin de ce chapitre.
On présentera nos résultats numériques dans le chapitre 5, dans lequel on commencera par
une validation de nos résultats grâce à des comparaisons expérimentales et numériques de la
littérature. On présentera aussi les résultats numériques obtenus avec notre modèle développé
dans les sections précédentes du document.
On finira notre document avec le chapitre 6, dans lequel il y aura notre conclusion générale
et des perspectives pour la suite du projet.
Ce document contient aussi des annexes à la fin dans lesquelles, des calculs analytiques ont
été mis en détail, des exemples numériques ainsi que des codes de calculs développés sous
FEniCS dans le cadre de cette thèse.
6
Chapitre 2
XFEM
I-Introduction
Dans ce chapitre nous allons d’abord exposer une revue bibliographique de la méthode des
éléments finis étendus (XFEM) dans différents domaines d’applications. Ensuite on définira
la méthode XFEM, sa formulation, les outils mathématiques sur lesquels se base cette
méthode particulière de discrétisation. On finira ce chapitre par des exemples simples de
discrétisation à l’aide de la méthode XFEM.
II-Revue de la littérature sur la méthode XFEM
II-A-Mécanique des fluides
La méthode des éléments finis étendus (XFEM) intervient en mécanique des fluides dans le
cas de présence d’interfaces (discontinuités), notamment les écoulements multiphasiques, les
jets, les gouttes, les bulles et d’autres écoulements dus à des phénomènes physiques par
exemple les instabilités capillaires.
La première implémentation de la méthode des éléments finis étendus (XFEM) dans le
domaine de la mécanique des fluides a été faite par Wagner et al. (2001), pour la simulation
de particules rigides dans un écoulement de Stokes, dans laquelle la surface des particules
n’était pas conforme aux maillages FEM. Le maillage au niveau de l’interface de chaque
particule a été construit à l’aide d’un enrichissement avec la méthode PUM.
Chessa and Belytschko (2003a) ont présenté pour la première fois la méthode des éléments
finis étendus (XFEM) dans le contexte d’un écoulement diphasique axisymétrique avec
7
présence de tension superficielle, dans laquelle l’interface se déplace de façon arbitraire, les
discontinuités du gradient de vitesse à l’interface entre les deux fluides ont été modélisées
par la méthode PUM. Plus tard Chessa and Belytschko (2003b) ont employé XFEM avec
une discontinuité arbitraire des gradients pour les écoulements diphasiques, où l’interface a
été suivie à l’aide des fonctions ¨Level-set¨ avec un maillage FEM mis à jour à l’aide de la
loi de conservation stabilisée. Gross et Reusken (2007) ont enrichi la variable discontinue
qui est la pression dans le cas d’un écoulement à deux fluides non miscibles
incompressibles, dans lequel il existe une force de tension superficielle localisée au niveau
de l’interface de séparation.
Dolbow et al. (2008) ont employé la méthode de reconstruction d’interface couplée avec la
méthode XFEM dans le cas d’un problème multiphasique. Fries (2009) a présenté un modèle
intrinsèque de XFEM pour la simulation de deux fluides incompressibles non miscibles où
les discontinuités, faible pour la vitesse et forte pour la pression, ont été modélisées en
utilisant la méthode PUM. Esser, Grande et Reusken (2010) ont combiné la méthode XFEM
avec la méthode ¨Level-set¨ pour capturer le comportement de l’interface des gouttes, ils ont
appliqué le modèle dans le cas 3D.
Abbas, Alizada et Fries (2010) proposent un modèle et un algorithme d’éléments finis
étendus (XFEM) pour résoudre les problèmes diphasiques avec un gradient élevé au niveau
de l’interface de séparation, pour obtenir une solution avec un degré élevé de précision dans
le cas de présence de convection importante, sans techniques de stabilisation ni de maillage
raffiné. Sauerland et Fries (2011) ont fait des travaux pour modéliser les écoulements
diphasiques et à surfaces libres, où les discontinuités ont été capturées sans restriction de
topologies pour les interfaces.
Cheng et Fries (2012) ont développé la h-version de XFEM dans le cas de deux fluides non
miscibles, basé sur un maillage adaptatif à multiniveaux pour le raffinement réalisé à l’aide
de nœuds suspendus (¨hanging nodes¨), dans le cas bi et tridimensionnel.
Liao et Zuang (2012) ont présenté une technique de stabilisation ¨Upwind Pressure
Stabilizing Petrov-Galerkin¨ XFEM dans le cas des écoulements entre deux fluides non
miscibles dans laquelle la projection du gradient de convection et du gradient de pression a
été interpolée et construite avec des formules de stabilisation.
8
Sauerland et Fries (2013) ont étudié les problèmes du mauvais conditionnement de XFEM
dans le cas des écoulements diphasiques, en mettant l’accent sur la stabilisation de XFEM et
l’application des solutions itératives.
Choi, Huldsen et Meijer (2010) ont développé une formulation XFEM dans le cas de la
simulation directe des écoulements viscoélastiques avec des particules suspendues dans
lequel un schéma ALE a été utilisé.
Court, Fournié et Lozinski (2014) ont proposé une méthode à domaines fictifs inspirée de la
méthode XFEM pour étudier le problème de Stokes dans laquelle l’interface entre le fluide
et la structure est localisée par la fonction ¨Level-set¨, les conditions de Dirichlet ont été
prises en compte avec la méthode du Multiplicateur de Lagrange.
II-B-Transition de phase
Les problèmes de transition de phase concernent la modélisation des interfaces entre
solide/liquide dans un phénomène de changement de phase. La transition de phase représente
des interfaces matérielles dans lesquelles il existe des discontinuités sur soit la grandeur
physique, soit le gradient de la grandeur.
Merl et Dolbow (2002) ont proposé une modélisation XFEM pour un problème thermique
avec une source de chaleur mobile et des conditions aux limites avec un changement de
phase.
Chessa, Smolinski et Belytschko (2002) ont proposé un enrichissement pour la méthode FEM
pour la solution numérique d’un problème de changement de phase, où l’évolution du front
de changement de phase a été capturée à l’aide de la méthode ¨Level-set¨.
Ji, Chopp et Dolbow (2002) ont présenté une méthode numérique XFEM hybride pour
modéliser l’évolution d’une interface abrupte en utilisant un maillage fixe.
Ji et Dolbow (2004) ont utilisé le concept des interfaces abruptes en utilisant XFEM, dans un
problème de changement de phase en utilisant un paramètre de pénalité pour les conditions
aux limites de type Dirichlet essentiellement pour la vitesse au niveau de l’interface.
9
Zabaras, Ganapathysubramanian et Tan (2006) ont étudié la solidification dendrite d’un
matériau pur en utilisant un couplage XFEM/¨Level-set¨, pour modéliser le problème
thermique et une stabilisation basée sur la moyenne volumique pour modéliser le flux du
fluide.
II-C-Problèmes de solidification
Dans les problèmes de solidifications, on remarque que les complications sont décrites
comme un problème de changement de phase isotherme, où les matériaux sont décrits par
leur chaleur latente, ce qui rajoute une difficulté supplémentaire pour décrire la dynamique
du front de solidification qui est discontinu.
Uchibori et Ohshima(2012), ont présenté un modèle XFEM basé sur une technique XFEM à
front mobile pour modéliser un problème de solidification pour capturer le gradient de
température discontinu au niveau de l’interface solide-liquide. Zhou et Qi (2010) ont proposé
un modèle XFEM sur le logiciel commercial ABAQUS pour simuler une interface
discontinue entre un liquide et un solide où l’interface a été capturée par une fonction ¨Level-
set¨. Duddu et al (2012) ont présenté un modèle XFEM/¨Level-Set¨ pour la description des
interfaces abruptes, basé sur une description Eulérienne pour modéliser l’évolution d’un
changement de phase dans un milieu élastique. Skrzypczak (2012) a proposé un modèle
mathématique pour modéliser les interfaces abruptes dans le cas de la solidification des
métaux. Ghoneim, Hunedy et Ojo (2013) ont proposé un travail basé sur un enrichissement
XFEM/¨Level-set¨ pour étudier un problème de changement de phase où interviennent des
particules en poudre. Cosimo, Fachinotti et Cardona (2013) ont présenté une formulation
XFEM pour résoudre un problème de changement de phase isotherme où la modélisation du
gradient de température discontinue au niveau de l’interface.
II-D-Problèmes thermique et thermomécanique
Les problèmes thermiques et thermomécaniques sont rencontrés dans plusieurs domaines,
par exemple dans les chambres de combustion des véhicules spatiaux, dans les composants
10
des réacteurs nucléaires ainsi que dans de nombreux domaines d’ingénierie. Il existe
plusieurs problèmes dans ces domaines d’ingénierie pour lesquels la source de chaleur est
mobile.
Michlik et Berndt (2006) ont proposé la prédiction d’un modèle thermomécanique avec la
méthode XFEM dans le cas des poutres à multicouches pour prédire l’efficacité de la
conductivité et le calcul du module de Young. Duflot (2008) a employé un modèle XFEM
pour l’analyse d’un problème thermoélastique stationnaire dans les structures fissurées, où
les deux champs mécanique et thermique ont été enrichis avec XFEM dans l’objectif de
décrire la température discontinue, le flux de chaleur, le déplacement et la force de traction.
Fagerstrom et Larsson (2008) ont proposé une formulation d’un problème thermomécanique
couplé, basé sur une discontinuité des champs thermique et mécanique. Zamani, Gracie et
Eslami (2010) ont proposé la simulation d’un problème avec une fissure stationnaire sous la
dynamique d’une charge thermomécanique pour modéliser les effets mécaniques et
thermiques. Lee, Yang et Maute (2011), ont présenté une méthode XFEM pour modéliser la
conduction de la chaleur à une échelle du micron pour des nanostructures matérielles à
géométries compliquées .
Yvonnet et al (2011) ont proposé une méthode basée sur le couplage XFEM/ Level-set¨ pour
modéliser la résistance thermique de type Kapitza au niveau d’une interface arbitraire.
Hosseini, Bayesteh et Mohammadi (2013) ont proposé une méthode base sur XFEM pour
l’analyse des fractures isotopique et ortho tropique des matériaux sous l’effet de la chaleur
stationnaire et des effets mécaniques
Yu et Gong (2013) ont employé XFEM pour la modélisation du champ de température dans
un matériau hétérogène, ou le champ de température a été enrichi en incorporant la méthode
¨Level-set¨ et la méthode XFEM pour les éléments contenant les interfaces matérielles.
III-Lacunes de la recherche
Dans la revue de littérature précédente, nous pouvons constater que la plupart des études sur
les écoulements non-miscibles à interfaces se limitent à l’utilisation de modèles existants.
11
Certaines études proposent d’améliorer une technique en particulier couvrant un aspect du
problème, sans jamais s’attaquer de front aux lacunes globales des outils de modélisation
dont la performance est plutôt modeste vu la complexité du problème étudié.
Les lacunes de la recherche basées sur la revue de littérature, peuvent se résumer aux points
suivants :
- Limitation des méthodes dépendantes du maillage dans la description des interfaces
mobiles.
- Temps de calcul très important lorsqu’une approche classique est utilisée.
- Utilisation de méthodes de reconstruction d’interfaces et perte d’informations dans le
cas d’interfaces à grandes déformations.
- Limitation des méthodes classiques dans le cas du traitement des conditions aux
limites de type Dirichlet.
- Continuité des fonctions d’approximations dans les méthodes classiques et
discontinuités des grandeurs physiques au niveau de l’interface.
- Absence de prise en compte de la force de tension superficielle ainsi que de l’effet
Marangoni au niveau de l’interface de séparation.
- Limitation de la géométrie classique et nécessité d’introduction d’outils de la
géométrie différentielle.
- Prise en compte des conditions de saut sur les grandeurs physiques au niveau de
l’interface.
- Développement d’une méthode avec maillage qui permet de capter l’interface de
façon précise sans être trop couteuse en temps de calcul.
IV-Objectifs de la recherche
L’objectif scientifique de cette thèse est de fournir une étude complète basée sur des outils
mathématiques, physiques et numériques robustes. Notre objectif n’est pas la bonification
d’une méthode scientifique en particulier, mais bien plutôt, la combinaison de différentes
méthodes afin d’améliorer l’étude des phénomènes d’interfaces mobiles entre fluides non
miscibles.
12
Dans la section précédente, nous avons tout d’abord étudié les lacunes dont souffrent les
études des interfaces entre fluides non miscibles. Cette étude a comme objectif le
développement d’un modèle unifié complet pour la simulation des interfaces abruptes,
mobiles, entre fluides non miscibles. Le but est de comprendre les différents aspects de ce
phénomène en se basant sur des outils de différentes disciplines scientifiques pour pouvoir
construire un modèle qui se rapproche le plus de la réalité.
Les paramètres physiques au niveau des interfaces de séparation sont discontinus, ce qui rend
les méthodes numériques classiques très peu précises à cause de l’interpolation des grandeurs
au niveau des maillages. Il existe des méthodes à maillages adaptatifs ou à remaillages
temporels, qui donnent de bons résultats au détriment du temps de calcul qui devient
rapidement très important. Notre objectif est de développer des méthodes numériques qui
donnent de bons résultats à moindre cout de calcul et qui demeurent partiellement
indépendantes du maillage.
Ce travail propose de prendre en compte la force de tension superficielle, qui joue un rôle
très important au niveau de l’interface et qui est la principale responsable de la discontinuité
de la pression au niveau de l’interface.
Amélioration des méthodes de traitement des conditions aux limites de types Dirichlet et
l’investigation de méthodes plus robustes, qui nous permettent de respecter les conditions
aux limites dans les équations lors de la formulation faible.
Ajouté aux objectifs précédents, nous visons l’amélioration de stratégies de résolutions des
problèmes à interfaces et l’évaluation des conditions de sauts basées sur des principes
physiques fondamentaux.
Le livrable final est un code de calcul gratuit et adaptable à différents cas d’études impliquant
deux fluides non miscibles.
13
V-Méthode des éléments finis étendus XFEM
V-1-Définition de la méthode XFEM
La méthode des éléments finis étendus XFEM est une extension de la méthode des éléments
finis classique FEM, dans le cas de présence de discontinuités dans l’espace étudié. La
méthode des éléments finis classique est incapable de reproduire une discontinuité avec une
bonne précision à cause du fait que les fonctions de forme sont construites avec une base
polynomiale.
Dans un enrichissement XFEM, la discrétisation est faite d’abord en FEM classique loin de
la discontinuité, ensuite l’enrichissement est introduit au niveau de la discontinuité à l’aide
de nœuds suspendus ¨hanging nodes¨ (contrairement à FEM ou les nœuds sont fixes). Ces
nœuds suspendus doivent satisfaire la propriété de la partition de l’unité PUM.
La méthode de partition de l’unité (PUM) a été introduite par Duart and Oden (1996), basée
sur la définition des nuages de points (Clouds).
La méthode de partition de l’unité est une méthode qui est basée sur la propriété suivante :
Soit 𝑓𝑖 un ensemble de fonctions possédant la propriété de partition de l’unité, la somme de
ces fonctions calculées sur des points 𝑥 ∈ Ω𝑃𝑈 est égale à l’unité
∑𝑓𝑖(𝑥) = 1
𝑁
𝑖=1
∀𝑥 ∈ Ω𝑃𝑈 (2.1)
Si on définit une fonction arbitraire 𝜓(𝑥) définie sur Ω𝑃𝑈, la propriété précédente s’écrit
∑𝑓𝑖(𝑥)𝜓(𝑥𝑖) = 𝜓(𝑥)
𝑁
𝑖=1
(2.2)
Par exemple dans le cas de la méthode des éléments finis FEM, la propriété de la partition de
l’unité est respectée par les fonctions de formes.
14
V-2-Méthodes d’enrichissements
Il existe deux manières d’enrichir l’approximation spatiale, soit enrichir la base vectorielle
qui est un enrichissement intrinsèque ou bien enrichir l’approximation qui est un
enrichissement extrinsèque.
V-2-a-Enrichissement intrinsèque
L’idée dans l’enrichissement intrinsèque est d’améliorer l’approximation de la grandeur 𝑢(𝑥)
en incluant de nouvelles fonctions de bases pour capturer les discontinuités ou les
singularités. Par exemple, si la base des fonctions d’enrichissement est définie comme suit
𝑁��(𝑋) = {��𝑖1, ��𝑖
2, … , ��𝑖𝑀}
𝑢(𝑥, 𝑡) =∑𝑁��(𝑥)𝒂��
𝑃
𝑖=1
= ��𝑇(𝑥)�� (2.3)
Avec 𝑁��(𝑥) est défini comme suit 𝑁��(𝑥) = ⟨𝑁𝑠𝑡𝑑(𝑥),𝑁𝑒𝑛𝑟(𝑥)⟩, ou 𝑁𝑠𝑡𝑑(𝑥) représente la
base standard qui est approximée avec la base polynomiale FEM et 𝑁𝑒𝑛𝑟(𝑥) la base enrichie,
cette manière d’enrichir est appelée enrichissement intrinsèque.
V-2-b-Enrichissement extrinsèque
Dans l’enrichissement extrinsèque, la propriété de la partition de l’unité est employée pour
introduire une base supplémentaire à la base standard, qui enrichira la partie discontinue lors
de la discrétisation.
Contrairement à d’autres variantes de la méthode FEM classique, la méthode XFEM utilise
un enrichissement extrinsèque local de l’approximation. Du fait que la discontinuité est
généralement locale, donc l’enrichissement peut être confiné dans une région spécifique au
lieu d’enrichir tout le domaine d’étude. Cette manière de faire nous permet d’avoir beaucoup
15
d’avantages en économisant le temps de calcul, la mémoire utilisée ainsi que d’autres
avantages comme la robustesse et la précision de la méthode.
VI-Bases de l’approximation XFEM
La méthode XFEM est une technique employée pour décrire les discontinuités fortes et
faibles sans prendre en compte la nature de leurs géométries. La puissance de la méthode
XFEM par rapport aux autres méthodes réside dans le fait qu’elle peut prendre en compte
l’évolution des discontinuités au court du temps avec une grande précision comparé aux
méthodes à maillages adaptatifs.
Figure 2.1 Éléments et nœuds enrichis XFEM
Soit 𝑢(𝑥, 𝑡) une grandeur physique, la discrétisation de cette grandeur à l’aide de la méthode
FEM est
𝑢(𝑥, 𝑡) =∑𝑁𝑖(𝑥)𝒖��
ℵ
𝑖=1
(2.4)
Avec la méthode XFEM cette discrétisation devient
Éléments enrichis
Noeuds enrichis
16
𝑢(𝑥, 𝑡) =∑𝑁𝑖(𝑥)𝒖��
ℵ
𝑖=1
+∑𝑁𝑗(𝑥)(𝜓(𝑥))𝒂��
ℳ
𝑗=1
(2.5)
Ou ∑ 𝑁𝑗(𝑥)(𝜓(𝑥))𝒂��ℳ𝑗=1 représente le terme d’enrichissement XFEM.Ou 𝑵𝒋(𝒙) sont les
fonctions de formes enrichies, 𝒖�� est le déplacement nodal standard, 𝒂�� sont les degrés de
liberté nodaux correspondant aux fonctions d’enrichissement, 𝜓(𝑥) sont les fonctions
d’enrichissement, 𝑁𝑖(𝑥) les fonctions de formes standards.ℵ est l’ensemble des points
nodaux du domaine, ℳ est l’ensemble des points nodaux localisés dans et autour de la
discontinuité.
Dans l’enrichissement XFEM, deux approches sont employées de façon simultanée, d’abord
la méthode de partition de l’unité PUM pour renforcer l’approximation en ajoutant des
fonctions d’enrichissements à l’approximation standard. Ensuite l’enrichissement du champ
de déplacement est appliqué pour corriger le déplacement basé sur l’approximation standard
en incorporant le champ discontinu à travers la méthode PUM.
Nature de la discontinuité (Forte/ faible)
Les discontinuités dans les grandeurs physiques qui décrivent la nature de certains
phénomènes peuvent être classées en deux grandes catégories ; soit une discontinuité forte
où la variable physique est discontinue au niveau de l’interface et il existe un saut sur cette
grandeur. Ce saut est égal à une constante ou est en fonction de variables physiques ou
mathématiques.
La discontinuité est fable dans le cas où le gradient de la grandeur physique est discontinu et
la grandeur physique est continue.
VII-Exemples d’applications
Dans la section suivante, nous allons traiter un exemple physique régi par une équation
mathématique simple dans laquelle nous allons détailler chaque étape de traitement.
17
D’abord la formulation forte du problème, ensuite la formulation faible suivit de la
discrétisation XFEM de chaque terme et on finira avec la forme matricielle du problème.
Formulation faible et discrétisation XFEM
On considère un domaine physique bidimensionnel Ω dans lequel il existe une discontinuité
Γ𝑑 . Cette discontinuité peut être forte ou faible.
L’équation stationnaire suivante décrira le phénomène physique dans le domaine Ω
𝛁. 𝝈 + 𝒇 = 𝟎 (2.6)
Avec 𝝈 étant le tenseur des contraintes et 𝒇 le vecteur force extérieur. On définit les fonctions
d’essais u (x, t) et les fonctions test v(x, t).
La formulation faible de l’équation précédente s’écrit :
∫ v(x, t)(∇. 𝜎 + 𝑓)𝑑Ω = 0 Ω
(2.7)
En appliquant le théorème de la divergence et en adaptant les intégrales sur les contours de
la géométrie, l’équation précédente devient
∫ ∇V: 𝜎 𝑑ΩΩ
+∫ ⟦𝑉. 𝜎⟧Γ𝑑
�� Γ𝑑𝑑Γ − ∫ �� Γ𝑡
. 𝑡𝑑Γ − ∫ V. 𝑓 𝑑ΩΩ
= 0 (2.8)
∫ ⟦𝑉. 𝜎⟧Γ𝑑
�� Γ𝑑𝑑Γ = ∫ ⟦𝑉. 𝑡 ⟧Γ𝑑
𝑑Γ = ∫ ⟦𝑉. 𝑡��⟧Γ𝑑
𝑑Γ (2.9)
(�� . 𝑡��)+ = (�� . 𝑡��)
− (2.10)
∫ ⟦𝑉. 𝜎⟧Γ𝑑
�� Γ𝑑𝑑Γ = ∫ ⟦𝑉. 𝑡��⟧Γ𝑑
𝑑Γ = ∫ ((�� )+. −(�� )−)
Γ𝑑
. 𝑡��𝑑Γ = 0 (2.11)
∫ ∇V: 𝜎 𝑑ΩΩ
−∫ �� Γ𝑡
. 𝑡𝑑Γ − ∫ V. 𝑓 𝑑ΩΩ
= 0 (2.12)
18
Qui représente la formulation faible de l’équation de départ. Pour discrétiser l’équation
précédente, on utilisera la méthode XFEM, pour illustrer l’application de cette méthode nous
allons utiliser un enrichissement à l’aide des fonctions Heaviside 𝜓(𝑥)
On considère un déplacement 𝒖(𝑥, 𝑡), l’enrichissement avec la méthode XFEM s’écrit
comme suit
𝑢(𝑥, 𝑡) =∑𝑁𝑖(𝑥)𝒖��
ℵ
𝑖=1
+∑𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗))𝒂��
ℳ
𝑗=1
= 𝑁𝑠𝑡𝑑(𝑥)�� + 𝑁𝑒𝑛𝑟(𝑥)�� (2.13)
Où 𝑁𝑠𝑡𝑑(𝑥) ≡ 𝑁𝑖(𝑥) représente la base standard et 𝑁𝑒𝑛𝑟(𝑥) ≡ 𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗))
représente la base enrichie.
La discrétisation XFEM pour le terme relatif aux fonctions tests s’écrit comme suit
𝒗(𝑥, 𝑡) =∑𝑁𝑖(𝑥)𝒗��
ℵ
𝑖=1
+∑𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)) 𝒒��
ℳ
𝑗=1
= 𝑁𝑠𝑡𝑑(𝑥)�� + 𝑁𝑒𝑛𝑟(𝑥)�� (2.14)
À deux dimensions ces bases sont représentées comme suit :
𝑁𝑖𝑠𝑡𝑑 = [
𝑁𝑖(𝑥) 0
0 𝑁𝑖(𝑥)] (2.15)
Et
𝑁𝑗𝑒𝑛𝑟 = [
𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)) 0
0 𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗))] (2.16)
Le gradient de la vitesse discrétisé avec la méthode XFEM s’écrit comme suit :
19
𝛁𝒖(𝑥) =∑∇𝑁𝑖(𝑥)𝒖��
ℵ
𝑖=1
+∑[ ∇𝑁𝑗(𝑥)(|𝜑(𝑥)| − |𝜑(𝑥𝑗)|) + 𝑁𝑗(𝑥)∇(|𝜑(𝑥)| − |𝜑(𝑥𝑗)|)]𝒂��
ℳ
𝑗=1
(2.17)
Avec
∇(|𝜑(𝑥)| − |𝜑(𝑥𝑗)|) = 𝑠𝑖𝑔𝑛(𝜑(𝑥))∇𝜑(𝑥) = 𝑠𝑖𝑔𝑛(𝜑(𝑥))�� Γ𝑑
Si on définit 𝐷(�� ) comme suit :
𝐷(�� ) =1
2(∇ �� + ∇𝑇 �� ) (2.18)
Alors sa discrétisation XFEM s’écrit comme suit :
𝐷(�� ) =∑ 𝜕𝑁𝑖𝜕𝑥𝒖��
ℵ
𝑖=1
+∑[𝜕𝑁𝑗
𝜕𝑥(𝜓(𝑥) − 𝜓(𝑥𝑗)) + 𝑁𝑗(𝑥)
𝜕
𝜕𝑥(𝜓(𝑥) − 𝜓(𝑥𝑗))] 𝒂��
ℳ
𝑗=1
= 𝐵𝑠𝑡𝑑(𝑥)�� + 𝐵𝑒𝑛𝑟(𝑥)�� (2.19)
𝐵𝑠𝑡𝑑(𝑥) =
[ 𝜕𝑁𝑖
𝜕𝑥⁄ 0
0𝜕𝑁𝑖
𝜕𝑦⁄
𝜕𝑁𝑖𝜕𝑦⁄
𝜕𝑁𝑖𝜕𝑥⁄
]
(2.20)
𝐵𝑒𝑛𝑟(𝑥) =
[ 𝜕 ( 𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)))
𝜕𝑥⁄ 0
0𝜕 ( 𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)))
𝜕𝑦⁄
𝜕 ( 𝑁𝑗(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)))
𝜕𝑦⁄ 𝜕 ( 𝑁𝑖(𝑥) (𝜓(𝑥) − 𝜓(𝑥𝑗)))
𝜕𝑥⁄
]
(2.21)
20
En remplaçant les expressions précédentes des matrices enrichies XFEM dans la formulation
faible du problème :
∫ (𝐵𝑠𝑡𝑑 �� + 𝐵𝑒𝑛𝑟 ��)𝑇 𝜎 𝑑ΩΩ
−∫ (𝑁𝑠𝑡𝑑 �� + 𝑁𝑒𝑛𝑟 ��)𝑇
Γ𝑡
𝑡𝑑Γ
−∫ (𝑁𝑠𝑡𝑑 �� + 𝑁𝑒𝑛𝑟 ��)𝑇 𝑓 𝑑ΩΩ
= 0 (2.22)
Qui peut être écrite sous la forme
��𝑻 {∫ (𝐵𝑠𝑡𝑑)𝑇 𝜎 𝑑ΩΩ
−∫ (𝑁𝑠𝑡𝑑)𝑇
Γ𝑡
𝑡𝑑Γ + ∫ (𝑁𝑠𝑡𝑑)𝑇 𝑓 𝑑ΩΩ
}
+ ��𝑻 {∫ (𝐵𝑒𝑛𝑟)𝑇 𝜎 𝑑ΩΩ
−∫ (𝑁𝑒𝑛𝑟)𝑇
Γ𝑡
𝑡𝑑Γ + ∫ (𝑁𝑒𝑛𝑟)𝑇 𝑓 𝑑ΩΩ
}
= 𝟎 (2.23)
L’équation précédente peut s’écrire sous une forme discrète comme suit :
𝑲�� − 𝑭 = 0 (2.24)
Où le vecteur des variables inconnues aux points nodaux est ��𝑇 = [��𝑻, ��𝑻], 𝑲 est la matrice
de rigidité et 𝑭 le vecteur forces extérieurs. Le système peut être écrit comme suit :
[𝑲𝒖𝒖 𝑲𝒖𝒂𝑲𝒂𝒖 𝑲𝒂𝒂
] (��
��) = (
𝑭𝒖𝑭𝒂) (2.25)
𝑲 =
[ ∫ (𝑩𝒔𝒕𝒅)
𝑻𝑫𝑩𝒔𝒕𝒅 𝑑Ω
Ω
∫ (𝑩𝒔𝒕𝒅)𝑻𝑫𝑩𝒆𝒏𝒓 𝑑Ω
Ω
∫ (𝑩𝒆𝒏𝒓)𝑻𝑫𝑩𝒔𝒕𝒅 𝑑ΩΩ
∫ (𝑩𝒆𝒏𝒓)𝑻𝑫𝑩𝒆𝒏𝒓 𝑑ΩΩ ]
(2.26)
21
Et
𝑭 =
(
∫ (𝑵𝒔𝒕𝒅)
𝑻
𝚪𝒕
��𝒅𝚪 + ∫ (𝑵𝒔𝒕𝒅)𝑻 𝒇 𝒅𝛀
𝛀
∫ (𝑵𝒆𝒏𝒓)𝑻
𝚪𝒕
��𝒅𝚪 + ∫ (𝑵𝒆𝒏𝒓)𝑻 𝒇 𝒅𝛀𝛀 )
(2.27)
La discrétisation du saut sur le gradient de vitesse s’écrit
⟦𝛁𝒖(𝑥)⟧ = 𝛁𝒖(𝑥+) − 𝛁𝒖(𝑥−)
=∑∇𝑁𝑖(𝑥+)𝒖��
ℵ
𝑖=1
+∑[ ∇𝑁𝑗(𝑥+)(|𝜑(𝑥+)| − |𝜑(𝑥𝑗)|) + 𝑁𝑗(𝑥
+)𝑠𝑖𝑔𝑛(𝜑(𝑥+))�� Γ𝑑]𝒂��
ℳ
𝑗=1
−∑∇𝑁𝑖(𝑥−)𝒖��
ℵ
𝑖=1
−∑[ ∇𝑁𝑗(𝑥−)(|𝜑(𝑥−)| − |𝜑(𝑥𝑗)|) + 𝑁𝑗(𝑥
−)𝑠𝑖𝑔𝑛(𝜑(𝑥−))�� Γ𝑑]𝒂��
ℳ
𝑗=1
(2.28)
Théorème de divergence dans le cas discontinu s’écrit :
∫ ∇. �� 𝑑ΩΩ1
= ∫ �� . �� 1𝑑Γ∂Ω1
+∫ �� . �� 𝑑1𝑑ΓΓ𝑑1
(2.29)
∫ ∇. �� 𝑑ΩΩ2
= ∫ �� . �� 1𝑑Γ∂Ω2
+∫ �� . �� 𝑑2𝑑ΓΓ𝑑2
(2.30)
∫ ∇. �� 𝑑ΩΩ
= ∫ �� . �� 𝑑ΓΓ
−∫ ( �� + − �� −). �� 𝑑ΓΓ
(2.31)
⟦�� . �� ⟧ = ( �� + − �� −). �� (2.32)
22
Pour des problèmes qui contiennent plusieurs discontinuités, l’équation précédente s’écrit :
∫ ∇. �� 𝑑ΩΩ
= ∫ �� . �� 𝑑ΓΓ
−∫ ∑⟦�� 𝑖⟧
𝑁𝑑
𝑖=1
. �� 𝑑𝑖𝑑Γ Γ
(2.33)
Ou 𝑁𝑑 est le nombre de discontinuités de notre domaine.
VIII-Exemples de discrétisation XFEM
VIII-1-Modélisation d’une barre élastique 1D avec une discontinuité forte
Pour illustrer le développement théorique de la section précédente, on présentera un exemple
pratique traité par Khoei (2015).
Le problème est une barre élastique avec une discontinuité au milieu, encastrée dans le mur
à une extrémité libre avec une condition aux limites sur le déplacement 𝑢 = 𝑢0.
Dans cet exemple, nous allons discrétiser notre problème avec les méthodes XFEM et FEM.
Dans la méthode XFEM, on choisira trois éléments avec deux nœuds dans laquelle la
discontinuité passe par le deuxième élément. Dans la méthode FEM classique, nous allons
choisir quatre éléments avec deux nœuds, les nœuds sont disposés de telle sorte à ce que la
discontinuité soit entre deux éléments et possédant un nœud dans chaque élément (les nœuds
sont sur la discontinuité, pour que le calcul soit possible avec l’approximation polynomiale).
Interface
𝒖𝟎
3l
23
Modèle FEM
Modèle XFEM
Figure 2.2 : Discontinuité forte, schémas XFEM et FEM
Dans la méthode XFEM la matrice de rigidité pour les éléments (1) et (3) est comme suit :
𝐊(𝟏) = 𝐊(𝟑) =𝐴𝐸
𝑙[+𝟏 −𝟏−𝟏 +𝟏
] (2.34)
𝐻(𝜑(𝑥𝑐)) = 0
𝐻(𝜑(𝑥3)) = 1
𝐻(𝜑(𝑥2)) = 0
2
1
3
1
4
1
5
1
6
1 1
1
1 2 3
2
1 1 3 4
24
Pour l’élément (1) :
𝐊(𝟐) =𝐴𝐸
𝑙2
[+𝟏 −𝟏−𝟏 +𝟏
] (2.35)
La matrice de rigidité totale est assemblée comme suit :
𝐊(𝑭𝑬𝑴) =𝐴𝐸
𝑙
[ 1 −1 0−1 3 −20000
−2000
2000
0 0 00 0 002−20
0−23−1
00−11 ] 𝑢1𝑢2𝑢3𝑢4𝑢5𝑢6
(2.36)
Avec la méthode des éléments finis FEM, le système précédent peut être résolu à l’aide des
conditions aux limites 𝑢1 = 0 et 𝑢6 = 𝑢0, ce qui donne le résultat suivant : 𝑢2 = 𝑢3 = 0 et
𝑢4 = 𝑢5 = 𝑢0
Dans la méthode XFEM, la discontinuité est modélisée à l’aide de la fonction Heaviside, à
l’aide d’enrichissement des points nodaux 2 et 3 dans lesquels 𝐻(𝜑(𝑥2)) = 0 et 𝐻(𝜑(𝑥3)) =
1.
Les fonctions de formes standards et enrichies, leurs dérivées et les matrices de rigidités pour
les trois éléments s’écrivent comme suit :
(1)𝑁𝑠𝑡𝑑(𝑥) = ⟨1 −𝑥
𝑙 𝑥
𝑙⟩
(1)𝑁𝑒𝑛𝑟(𝑥) =𝑥
𝑙(𝐻(𝜑) − 𝐻(𝜑2))
(1)𝐵𝑠𝑡𝑑(𝑥) = ⟨−1
𝑙 1
𝑙⟩
(1)𝐵𝑒𝑛𝑟(𝑥) =1
𝑙(𝐻(𝜑) − 𝐻(𝜑2))
25
(𝟏)𝑲 = [∫ (𝑩𝒔𝒕𝒅)
𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑x
l∫ (𝑩𝒔𝒕𝒅)
𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑x
l
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑xl
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑xl
] =𝐴𝐸
𝑙[+𝟏 −𝟏 𝟎−𝟏𝟎
+𝟏 𝟎𝟎 𝟎
]
𝑢1𝑢2𝑢3
(2.37)
Dans laquelle 𝐻(𝜑) − 𝐻(𝜑2) = 0 pour l’élément (1)
Pour l’élément (2) :
(2)𝑁𝑠𝑡𝑑(𝑥) = ⟨1 −𝑥
𝑙 𝑥
𝑙⟩
(2)𝑁𝑒𝑛𝑟(𝑥) = ⟨(1 −𝑥
𝑙) (𝐻(𝜑) − 𝐻(𝜑2)) (
𝑥
𝑙)(𝐻(𝜑) − 𝐻(𝜑3))⟩
(2)𝐵𝑠𝑡𝑑(𝑥) = ⟨−1
𝑙 1
𝑙⟩
(2)𝐵𝑒𝑛𝑟(𝑥) = ⟨(−𝑥
𝑙) (𝐻(𝜑) − 𝐻(𝜑2)) (
1
𝑙)(𝐻(𝜑) − 𝐻(𝜑3))⟩
(𝟐)𝑲 =
[ ∫ (𝑩𝒔𝒕𝒅)
𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑x
l
∫ (𝑩𝒔𝒕𝒅)𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑x
l
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑xl
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑xl ]
=𝐴𝐸
𝑙[
1 −1 0.5 0.5−10.50.5
1−0.5−0.5
−0.50.50
−0.500.5
]
𝑢2𝑢3𝑎2𝑎3
(2.38)
Pour l’élément (3) :
(3)𝑁𝑠𝑡𝑑(𝑥) = ⟨1 −𝑥
𝑙 𝑥
𝑙⟩
(3)𝑁𝑒𝑛𝑟(𝑥) = (1 −𝑥
𝑙) (𝐻(𝜑) − 𝐻(𝜑3))
26
(3)𝐵𝑠𝑡𝑑(𝑥) = ⟨−1
𝑙 1
𝑙⟩
(3)𝐵𝑒𝑛𝑟(𝑥) = (−1
𝑙)(𝐻(𝜑) − 𝐻(𝜑3))
(𝟑)𝑲 =
[ ∫ (𝑩𝒔𝒕𝒅)
𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑x
l
∫ (𝑩𝒔𝒕𝒅)𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑x
l
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒔𝒕𝒅 𝑑xl
∫ (𝑩𝒆𝒏𝒓)𝑻𝐴𝐸𝑩𝒆𝒏𝒓 𝑑xl ]
=𝐴𝐸
𝑙[+𝟏 −𝟏 𝟎−𝟏𝟎
+𝟏 𝟎𝟎 𝟎
]
𝑢3𝑢4𝑎3 (2.39)
La matrice de rigidité totale XFEM
𝐊(𝑿𝑭𝑬𝑴) =𝐴𝐸
𝑙
[ 1 −1 0−1 2 −10000
−100.50.5
2−1−0.5−0.5
0 0 00 0.5 0.5−1100
−0.500.50
−0.5000.5 ]
𝑢1𝑢2𝑢3𝑢4𝑎5𝑎6
(2.40)
La solution du système d’équations avec la méthode XFEM donne 𝑢1 = 𝑢2 = 0, 𝑢3 = 𝑢4 =
𝑢0, 𝑎2 = 𝑎3 = 𝑢0
V-2-Modélisation d’une barre élastique avec une discontinuité faible
Dans l’exemple suivant, nous allons traiter un problème de discontinuité faible dans le même
cas de géométrie que précédemment, c’est-à-dire une barre unidimensionnelle fixée d’un côté
et libre de l’autre côté avec une condition aux frontières, avec une charge égale à P. Les
27
propriétés matérielles de l’élément de gauche sont : 𝐸1 et 𝜐1, pour la partie de droite les
propriétés matérielles sont : 𝐸2 et 𝜐2, avec une relation de 𝐸1 = 2𝐸2 = 𝐸 et 𝜐1 = 𝜐2 = 𝜐.
Comme dans l’exemple précédent, avec la méthode XFEM nous prenons trois éléments avec
deux nœuds, avec une discontinuité matérielle dans le deuxième élément. Avec la méthode
FEM nous allons prendre trois éléments, la discontinuité passe par le milieu du deuxième
élément, mais avec des nœuds supplémentaires sur la discontinuité de telle sorte qu’il y ait
alignement.
𝐸1, 𝜐1 𝐸2, 𝜐2
Modèle XFEM
Interface matérielle
𝑷
𝜑(𝑥𝑐) = 0
𝜑(𝑥3) = 0.5𝑙 |𝜑(𝑥2)| = 0.5𝑙
1 2 3
2
1 1 3 4
28
Modèle FEM
Figure 2.3 : Discontinuité faible, schémas XFEM et FEM
La matrice FEM totale s’écrit comme suit :
𝐊(𝑭𝑬𝑴) =𝐴𝐸
𝑙
[ 1 −1 0 0 0−1000
3−200
−23−10
0−11.5−0.5
00−0.50.5 ]
𝑢1𝑢2𝑢3𝑢4𝑢5
(2.41)
La solution FEM du système linaire d’équation donne :
��𝑇 = ⟨𝑢1 𝑢2𝑢3𝑢4𝑢5⟩ =𝑃𝑙
𝐴𝐸⟨0 1 1.5 2.5 4.5⟩
Dans la résolution XFEM du problème, la discontinuité matérielle est modélisée en utilisant
des fonctions d’enrichissement entre les points nodaux 2 et 3, dans lesquels 𝜑(𝑥2) < 0 sur
la partie gauche de la discontinuité et 𝜑(𝑥2) > 0 sur la partie droite. Les éléments standard
et enrichis des fonctions de formes, de leurs dérivées et des matrices de rigidité, sont obtenus
de la même manière que l’exemple précédent. La fonction ¨Level-set¨ du premier élément
est définie comme 𝜑(𝑥) = 𝑥 − 1.5𝑙
(1)𝑁𝑠𝑡𝑑(𝑥) = ⟨1 −𝑥
𝑙 𝑥
𝑙⟩
(1)𝑁𝑒𝑛𝑟(𝑥) = (𝑥
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥2)|) = 𝑥 −
𝑥2
𝑙
2
1
3
1
4
1
5
1
6
1 1
1
29
(1)𝐵𝑠𝑡𝑑(𝑥) = ⟨−1
𝑙 1
𝑙⟩
(1)𝐵𝑒𝑛𝑟(𝑥) = (1
𝑙) (|(𝜑(𝑥))| − |𝜑(𝑥2)|) + (
𝑥
𝑙) 𝑠𝑖𝑔𝑛 ((𝜑(𝑥))) = 1 −
2𝑥
𝑙
(𝟏)𝑲 =𝐴𝐸
𝑙[
+𝟏 −𝟏 𝟎
−𝟏𝟎
+𝟏 𝟎
𝟎 𝒍𝟐
𝟑
]
𝑢1𝑢2𝑎2 (2.42)
En définissant la fonction ¨Level-set¨ du deuxième élément comme suit :
𝜑(𝑥) = 1 − 0.5𝑙
On obtient
(2)𝑁(𝑥) = ⟨(2)𝑁𝑠𝑡𝑑(𝑥) (2)𝑁𝑒𝑛𝑟(𝑥)⟩
= ⟨1 −𝑥
𝑙 𝑥
𝑙 (1 −
𝑥
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥2)|) (
𝑥
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥3)|)⟩
= ⟨1 −𝑥
𝑙 𝑥
𝑙 (1 −
𝑥
𝑙) ( |(𝑥 −
𝑙
2)| −
𝑙
2) (
𝑥
𝑙) ( |(𝑥 −
𝑙
2)| −
𝑙
2)⟩
(2)𝐵(𝑥) = ⟨(2)𝐵𝑠𝑡𝑑(𝑥) (2)𝐵𝑒𝑛𝑟(𝑥)⟩
= ⟨−1
𝑙 1
𝑙 ( −
1
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥2)|)
+ (1 −𝑥
𝑙) 𝑠𝑖𝑔𝑛 ((𝜑(𝑥))) (
1
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥3)|)
+ ( 1
𝑙) 𝑠𝑖𝑔𝑛 ((𝜑(𝑥)))⟩
= ⟨−1
𝑙 1
𝑙 ( −
1
𝑙) ( |(𝑥 −
𝑙
2)| −
𝑙
2) + (1 −
𝑥
𝑙) (𝑥 −
𝑙
2) / | (𝑥 −
𝑙
2) | (
1
𝑙) ( |(𝑥 −
𝑙
2)| −
𝑙
2) + (
𝑥
𝑙) (𝑥 −
𝑙
2) / |(𝑥 −
𝑙
2)|⟩ (2.43)
30
(𝟑)𝑲 =𝐴𝐸
𝑙
[ 3
4−3
4
𝑙
8
𝑙
8
−3
4𝑙
8𝑙
8
3
4
−𝑙
8
−𝑙
8
−𝑙
8𝑙2
4𝑙2
8
−𝑙
8𝑙2
8𝑙2
4 ]
𝑢2𝑢3𝑎2𝑎3
(2.43)
Pour l’élément (3), la fonction ¨Level-set¨ dans les coordonnées locales est définie comme
suit 𝜑(𝑥) = 𝑥 + 0.5𝑙
(3)𝑁𝑠𝑡𝑑(𝑥) = ⟨1 −𝑥
𝑙 𝑥
𝑙⟩
(3)𝑁𝑒𝑛𝑟(𝑥) = (1 −𝑥
𝑙) ( |(𝜑(𝑥))| − |𝜑(𝑥3)|) = 𝑥 −
𝑥2
𝑙
(3)𝐵𝑠𝑡𝑑(𝑥) = ⟨−1
𝑙 1
𝑙⟩
(3)𝐵𝑒𝑛𝑟(𝑥) = (−1
𝑙) (|(𝜑(𝑥))| − |𝜑(𝑥3)|) + (1 −
𝑥
𝑙) 𝑠𝑖𝑔𝑛 ((𝜑(𝑥))) = 1 −
2𝑥
𝑙
(𝟑)𝑲 =𝐴𝐸
2𝑙[
+𝟏 −𝟏 𝟎
−𝟏𝟎
+𝟏 𝟎
𝟎 𝒍𝟐
𝟑
]
𝑢3𝑢4𝑎3 (2.44)
31
𝐊(𝑿𝑭𝑬𝑴) =𝐴𝐸
𝑙
[ 1 −1 0
−17
4−3
4
0000
−3
40𝑙
8𝑙
8
5
4
−1
2
−𝑙
8
−𝑙
8
0 0 0
0𝑙
8
𝑙
8
−1
21
200
−𝑙
807𝑙2
12𝑙2
8
−𝑙
80𝑙2
85𝑙2
12 ]
𝑢1𝑢2𝑢3𝑢4𝑎2𝑎3
(2.45)
La solution du système résolu avec la méthode XFEM, dans les nœuds standard et enrichis
est :
��𝑇 = ⟨𝑢1 𝑢2𝑢3𝑢4𝑎2𝑎3⟩ =𝑃𝑙
𝐴𝐸⟨0 1 2.4317 4.4317
0.2295
𝑙 0.3607
𝑙⟩
32
Chapitre 3
Modèle mathématique
I-Introduction
Ce chapitre présente le modèle mathématique pour un écoulement à deux fluides
incompressibles, visqueux, Newtoniens et non miscibles. Dans la première partie, on verra
comment obtenir l’équation de Navier-Stokes diphasique, modèle à un fluide, à partir d’un
bilan de forces, loi de Newton, pour un fluide monophasique occupant un domaine
spécifique. Le même raisonnement sera fait pour un autre fluide possédant des propriétés
physiques différentes.
On fera l’union des deux domaines fluides à travers une surface de fusion. Les deux fluides
étant non miscibles, cette surface sera une interface de séparation entre les deux fluides. En
fusionnant les deux domaines et en faisant un bilan de force au niveau de l’interface, on
obtiendra l’équation de Navier Stokes pour deux fluides non miscibles. Un terme dû au bilan
de force au niveau de l’interface apparaitra.
À travers l’interface de fusion des deux fluides apparaitront des discontinuités pour les
propriétés physiques des deux fluides. Pour traiter ces discontinuités, on appliquera des
conditions de saut pour ces grandeurs physiques. Ce qui fera l’objet de la deuxième partie de
ce chapitre.
33
II-Équation de Navier –Stokes pour deux fluides non miscibles avec tension
superficielle
On considère un écoulement instationnaire de deux fluides incompressibles, visqueux et
Newtoniens.
La figure (3.1) représente une configuration de deux fluides non miscibles. Le domaine de
chaque fluide est noté: Ω1 pour le fluide 1 et Ω2 pour le fluide 2. Dans chaque domaine
correspondent une viscosité et une masse volumique différentes notées 𝜇1, 𝜇2 et 𝜌1, 𝜌2 pour
chacun des deux fluides respectivement.
𝜌 = {
𝜌1 𝑠𝑖 𝑥 ∈ Ω1 𝜌2 𝑠𝑖 𝑥 ∈ Ω2
(3.1)
𝜇 = {
𝜇1 𝑠𝑖 𝑥 ∈ Ω1 𝜇2 𝑠𝑖 𝑥 ∈ Ω2
(3.2)
Figure 3.1 : Domaines contenant deux fluides de propriétés physiques différentes
La surface externe de Ω1 est prise comme étant l’union de ∂Ω1 et Γ+, celle de Ω2 est prise
comme étant l’union de ∂Ω2 et Γ−. Le domaine total sera noté Ω = Ω1 ∪ Ω2.
Ω1
Ω2
∂Ω1
∂Ω2
𝑛1→
𝑛2→
34
On exprimera le principe fondamental de la dynamique dans chaque domaine Ω1et Ω2. On
fera ensuite la fusion des deux domaines à travers l’interface de séparation.
Soit le domaine Ω1, bordé (délimité) par une surface ∂Ω1 et une interface Γ+ à travers laquelle
il y aura fusion avec l’autre fluide. Le vecteur �� étant perpendiculaire en chaque point de la
surface extérieure ∂Ω1 et le vecteur 𝑛1 est perpendiculaire à l’interface de séparation comme
le montre la figure (3.1).
Le principe fondamental de la dynamique appliqué au volume Ω1 donne :
D
Dt∫ (ρU )Ω1
dΩ =∑Forces agissantes sur le fluide 1 (3.3)
Les forces qui s’appliquent, sont soit des forces volumiques 𝐹 , soit des forces surfaciques
contenues (représentées) dans le tenseur des contraintes visqueuses 𝜎.
Ce qui donne
∑𝐹𝑜𝑟𝑐𝑒𝑠 = ∫ 𝐹 𝑑Ω +
Ω1
∫ 𝜎. �� ∂Ω1/Γ+
𝑑Γ + ∫ 𝜎. 𝑛1 Γ+
𝑑Γ (3.4)
Donc
𝐷
𝐷𝑡∫ (𝜌�� )Ω1
𝑑Ω = ∫ 𝐹 Ω1
𝑑Ω +∫ 𝜎. �� 𝑑Γ∂Ω1/Γ+
+∫ 𝜎. 𝑛1 𝑑ΓΓ+
(3.5)
En faisant le même raisonnement pour le volume fluide Ω2 on obtient :
𝐷
𝐷𝑡∫ (𝜌�� )Ω2
𝑑Ω = ∫ 𝐹 Ω2
𝑑Ω +∫ 𝜎. �� 𝑑Γ∂Ω2/Γ−
+∫ 𝜎. 𝑛2 𝑑ΓΓ−
(3.6)
En fusionnant les deux équations obtenues pour chaque domaine (3.5) et (3.6), et en
additionnant les termes de part et d’autre on obtient l’équation suivante:
𝐷
𝐷𝑡∫ (𝜌�� )Ω
𝑑Ω = ∫ 𝐹 Ω
𝑑Ω +∫ 𝜎. �� 𝑑Γ∂Ω
+∫ 𝜎. 𝑛1 𝑑ΓΓ+
+∫ 𝜎. 𝑛2 𝑑ΓΓ−
(3.7)
35
Figure 3.2 : Union des deux domaines fluides à travers une interface
Avec Ω = Ω1 ∪ Ω2
Et ∂Ω = (∂Ω1/Γ+) ∪ (∂Ω2/Γ
−)
Concernant l’interface, lors de la fusion nous avons :
limΓ+→Γ∗
( ∫ 𝜎. 𝑛1 𝑑ΓΓ+
)
= ∫ (𝜎1). �� 𝑑ΓΓ∗
(3.8)
limΓ−→Γ∗
( ∫ 𝜎. 𝑛2 𝑑ΓΓ−
)
= ∫ (𝜎2). �� 𝑑ΓΓ∗
(3.9)
Avec Γ∗ la surface de séparation entre les deux domaines Ω1 et Ω2.
Finalement nous obtenons
𝐷
𝐷𝑡∫ (𝜌�� )Ω
𝑑Ω = ∫ 𝐹 Ω
𝑑Ω +∫ 𝜎. �� 𝑑Γ∂Ω
−∫ (𝜎1 − 𝜎2). �� 𝑑ΓΓ∗
(3.10)
En appliquant le théorème de la divergence sur l’intégrale de surface :
∫ 𝜎. �� 𝑑Γ∂Ω
= ∫ ∇. 𝜎Ω
𝑑Ω (3.11)
Et le théorème de transport de Reynolds sur le membre de gauche
𝐷
𝐷𝑡∫ (𝜌�� )Ω
𝑑Ω = ∫𝜕
𝜕𝑡(𝜌�� )
Ω
𝑑Ω +∫ (𝜌�� ). �� ∂Ω
𝑑Γ (3.12)
Ω ∂Ω 𝑛
→
𝑛→
36
𝐷
𝐷𝑡∫ (𝜌�� )Ω
𝑑Ω = ∫𝜕
𝜕𝑡(𝜌�� )
Ω
𝑑Ω +∫ ∇. (𝜌�� )Ω
𝑑Ω (3.13)
On obtient :
∫
𝜕
𝜕𝑡(𝜌�� )
Ω
𝑑Ω +∫ ∇. (𝜌�� )Ω
𝑑Ω −∫ 𝐹 Ω
𝑑Ω −∫ ∇. 𝜎Ω
𝑑Ω
+∫ (��1 − 𝜎2). �� 𝑑ΓΓ∗
= 0
(3.14)
Le terme (𝜎2 − 𝜎1). �� représente le saut sur l’interface de séparation entre les deux fluides.
Cette force étant une force surfacique, donc elle agit seulement au niveau de l’interface. On
pourra exprimer cette force sous forme d’une force volumique à l’aide de la fonction delta
de Dirac selon laquelle le terme multiplié par cette fonction est nul partout dans l’espace sauf
en une position bien précise de la troisième dimension, dans laquelle l’amplitude de cette
fonction est maximale.
Ce qu’il faut remarquer, c’est le fait que la tension superficielle est traitée en tant que terme
intégral et non en tant que condition aux limites du problème, cette idée a été introduite pour
la première fois par Brackbill, et al. (1992).
En d’autres termes, c’est une force à deux dimensions (plan) exprimée à trois dimensions,
pour pouvoir l’introduire dans le bilan de force précédent et mettre tous les termes sous la
même intégrale.
𝑓 𝑠(𝑥, 𝑡) = ∫ [(𝜎2 − 𝜎1). �� ]𝜹(�� − �� 𝒍(�� ))𝑑Ω
Ω
(3.15)
�� 𝒍(�� ) est une paramétrisation de l’interface.
On obtient alors:
∫ [𝜕
𝜕𝑡(𝜌�� ) + ∇. (𝜌�� ) − 𝐹 − ∇. 𝜎]
Ω
𝑑Ω −∫ 𝑓 𝑠(𝑥, 𝑡)𝑑ΩΩ
= 0
37
∫ [𝜕
𝜕𝑡(𝜌�� ) + ∇. (𝜌�� ) − 𝐹 − ∇. 𝜎 − 𝑓 𝑠(𝑥, 𝑡)]
Ω
𝑑Ω = 0
𝜕
𝜕𝑡(𝜌�� ) + ∇. (𝜌�� ) − 𝐹 − ∇. 𝜎 − 𝑓 𝑠(𝑥, 𝑡) = 0
(3.16)
La masse volumique 𝜌 étant constante dans chaque fluide, nous pouvons écrire le premier
terme de l’équation comme suit : 𝜕
𝜕𝑡(𝜌�� ) = 𝜌
𝜕
𝜕𝑡(�� ).
Le deuxième terme peut être décomposé comme suit :
∇. (𝜌�� ) = ∇ (𝜌). �� + 𝜌∇. (�� ) = 𝜌∇. (�� ) (3.17)
On sait que
𝜎(�� , 𝑝) = −𝑝𝐼 + 2𝜇𝐷(�� ) (3.18)
Avec 𝑝 étant la pression, 𝜇 la viscosité dynamique et 𝐷(�� ) =1
2(∇ �� + ∇𝑇 �� ) le tenseur de
déformation.
∇. 𝜎 = ∇. (−𝑝𝐼 + 2𝜇𝐷(�� )) (3.19)
∇. (−𝑝𝐼) = −∇𝑝 (3.20)
∇. (2𝜇 𝐷(�� )) = ∇. (𝜇 (∇ �� + ∇𝑇 �� )) (3.21)
𝜇 étant constante ∇. (𝜇 (∇ �� + ∇𝑇 �� )) = 𝜇∇. ((∇ �� + ∇𝑇 �� ))
= 𝜇∇. ((∇ �� )) + 𝜇∇. (∇𝑇 �� )
= 𝜇∆�� (3.22)
Avec le fait que ∇. (∇𝑇 �� ) = 0 qui est une conséquence de l’équation de conservation de la
masse.
En regroupant tous les termes, on obtient
38
𝜌𝜕
𝜕𝑡(�� ) + 𝜌∇. (�� ) − 𝐹 + ∇𝑝 − 𝜇∆�� − 𝑓 𝑠(𝑥, 𝑡) = 0
𝜌 [𝜕
𝜕𝑡(�� ) + ∇. (�� )] = 𝐹 − ∇𝑝 + 𝜇∆�� + 𝑓 𝑠(𝑥, 𝑡)
(3.23)
Qui représente l’équation de Navier-Stokes avec le terme de tension superficielle.
III-Équation de conservation de la masse
III-1-Approche physique
Le théorème de transport de Reynolds pour toute grandeur s’énonce comme suit :
𝐷
𝐷𝑡∫ 𝜙 𝑑ΩΩ
= ∫𝜕
𝜕𝑡𝜙 𝑑Ω
Ω
+ ∮ 𝜙�� . �� 𝑑Γ
∂Ω
(3.24)
Pour obtenir l’équation de conservation de la masse, on applique ce théorème sur chaque
volume de contrôle Ω1, Ω2constituant le volume total Ω. Ensuite on fait leur union.
En appliquant sur les deux volumes de fluides, séparés par une interface, on sera obligé de
découpler l’intégrale fermée relative à la surface en la somme de deux intégrales, la première
représentera la surface externe du volume et la deuxième l’interface, de telle sorte que l’union
des deux soit une surface fermée.
39
Figure 3.3 : Volume de contrôle à deux phases non miscibles avec interface de séparation
L’équation de conservation de la masse s’obtient en remplaçant 𝜙 par 𝜌 dans l’équation
(3.24). Le bilan sur le volume de contrôle occupé par le fluide 1 s’écrit:
𝐷
𝐷𝑡∫ 𝜌1 𝑑ΩΩ1
= ∫𝜕
𝜕𝑡𝜌1 𝑑Ω
Ω1
+ ∮ 𝜌1𝑈1 . 𝑛1 𝑑Γ
∂Ω1
(3.25)
𝐷
𝐷𝑡∫ 𝜌1 𝑑ΩΩ1
= ∫𝜕
𝜕𝑡𝜌1 𝑑Ω
Ω1
+∫ 𝜌1𝑈1 . 𝑛1 𝑑Γ∂Ω1\∂Ω𝑖
+∫ 𝜌1(𝑈𝑖 − 𝑈1 ). 𝑛1 𝑑Γ∂Ω𝑖
(3.26)
L’interface se déplace à une vitesse relative par rapport à la vitesse du fluide, la vitesse
d’évolution de cette dernière est égale à (𝑈𝑖 − 𝑈1 ).
Avec 𝑈𝑖 vitesse de l’interface et 𝑈1 vitesse du fluide contenu dans le volume 1. Le bilan sur
le volume de contrôle occupé par le fluide 2 s’écrit :
∂Ω2
Ω1
∂Ω1 𝑛2→
Ω2
𝑛1→
∂Ω𝑖
40
𝐷
𝐷𝑡∫ 𝜌2 𝑑ΩΩ2
= ∫𝜕
𝜕𝑡𝜌2 𝑑Ω
Ω2
+ ∮ 𝜌2𝑈2 . 𝑛2 𝑑Γ
∂Ω2
(3.27)
𝐷
𝐷𝑡∫ 𝜌2 𝑑ΩΩ2
= ∫𝜕
𝜕𝑡𝜌2 𝑑Ω
Ω2
+∫ 𝜌2𝑈2 . 𝑛2 𝑑Γ∂Ω2\∂Ω𝑖
+∫ 𝜌2(𝑈𝑖 − 𝑈2 ). 𝑛2 𝑑Γ∂Ω𝑖
(3.28)
En sommant les deux équations membre à membre, on obtient :
𝐷
𝐷𝑡∫ 𝜌1 𝑑ΩΩ1
+𝐷
𝐷𝑡∫ 𝜌2 𝑑ΩΩ2
= ∫𝜕
𝜕𝑡𝜌1 𝑑Ω
Ω1
+∫𝜕
𝜕𝑡𝜌2 𝑑Ω
Ω2
+∫ 𝜌1𝑈1 . 𝑛1 𝑑Γ∂Ω1\∂Ω𝑖
+∫ 𝜌2𝑈2 . 𝑛2 𝑑Γ∂Ω2\∂Ω𝑖
+∫ 𝜌1(𝑈𝑖 − 𝑈1 ). 𝑛1 𝑑Γ∂Ω𝑖
+∫ 𝜌2(𝑈𝑖 − 𝑈2 ). 𝑛2 𝑑Γ∂Ω𝑖
(3.29)
La masse totale à travers le volume total Ω est conservée, ça veut dire que la masse totale
reste invariable quand on suit le domaine matériel dans son mouvement, ce qui fait que le
terme de gauche est nul.
𝐷
𝐷𝑡∫ 𝜌1 𝑑ΩΩ1
+𝐷
𝐷𝑡∫ 𝜌2 𝑑ΩΩ2
= 0 (3.30)
On applique le théorème de la divergence sur les deux intégrales surfaciques et on somme
les deux termes intégrés sur l’interface.
0 = ∫𝜕
𝜕𝑡𝜌1 𝑑Ω
Ω1
+∫𝜕
𝜕𝑡𝜌2 𝑑Ω
Ω2
+∫ ∇. (𝜌1𝑈1 )𝑑Γ Ω1
+∫ ∇. (𝜌2𝑈2 )𝑑Γ Ω2
+∫ [𝜌1(𝑈𝑖 − 𝑈1 ). 𝑛1 + 𝜌2(𝑈𝑖 − 𝑈2 ). 𝑛2 ]𝑑Γ∂Ω𝑖
41
∫ [
𝜕
𝜕𝑡𝜌1 + ∇. (𝜌1𝑈1 )] 𝑑Ω
Ω1
+∫ [𝜕
𝜕𝑡𝜌2 + ∇. (𝜌2𝑈2 )] 𝑑Ω
Ω2
−
∫ [𝜌1(𝑈1 − 𝑈𝑖 ). 𝑛1 + 𝜌2(𝑈2 − 𝑈𝑖 ). 𝑛2 ]𝑑Γ∂Ω𝑖
= 0
(3.31)
Cette équation reste valable, quels que soient les volumes de contrôle Ω1, Ω2 et l’interface
de séparation ∂Ω𝑖, ce qui fait que :
𝜕
𝜕𝑡𝜌1 + ∇. (𝜌1𝑈1 ) = 0
(3.32)
𝜕
𝜕𝑡𝜌2 + ∇. (𝜌2𝑈2 ) = 0
(3.33)
Qui exprime le bilan de masse sur l’élément de volume de chacune des phases (équations de
continuité dans chaque fluide).
L’équation locale instantanée sur les interfaces :
𝜌1(𝑈1 − 𝑈𝑖 ). 𝑛1 + 𝜌2(𝑈2 − 𝑈𝑖 ). 𝑛2 = 0 (3.34)
Figure 3.4 : Interface de séparation entre deux fluides non miscibles
�� 1
�� 2
𝝆𝟏
𝝆𝟐
Γ
42
On sait qu’au niveau de l’interface au même point :
𝑛1 = −𝑛2 (3.35)
𝜌1(𝑈1 − 𝑈𝑖 ). 𝑛1 = 𝜌2(𝑈2 − 𝑈𝑖 ). 𝑛1 (3.36)
Qui est connue sous le nom de condition de Rankine-Hugoniot Gouin, H., & Gavrilyuk, S.
(1999). Selon laquelle s’il n’y a ni transfert de masse ni changement de phase (évaporation
par exemple), alors les deux parties de l’égalité sont nulles.
(𝑈1 − 𝑈𝑖 ). 𝑛1 = 0 (3.37)
(𝑈2 − 𝑈𝑖 ). 𝑛1 = 0 (3.38)
On décompose les vitesses en leurs composantes normales et tangentielles
𝑈1 = (𝑈1 . 𝑛1 )𝑛1 + 𝑈1𝑡 (3.39)
𝑈2 = (𝑈2 . 𝑛2 )𝑛2 + 𝑈2𝑡 = −(𝑈2 . 𝑛2 )𝑛1 + 𝑈2
𝑡 (3.40)
On sait que les deux phases ne glissent pas l’une sur l’autre, alors les composantes
tangentielles de part et d’autre de l’interface et au même point sont égales (condition de non-
glissement).
Ce qui nous conduit à conclure que lorsqu’il n’y a ni changement de phase ni glissement au
niveau de l’interface alors les vitesses au même point sont égales.
𝑈1 = 𝑈2 (3.41)
Donc, le saut sur les vitesses est nul
⟦�� ⟧ = 0 (3.42)
43
III-2-Approche mécanique des milieux continus
Figure 3.5 : Interface symétrique entre deux fluides non miscibles
On considère un point 𝑋𝑠 appartenant à une interface de séparation Γ, entre deux milieux non
miscibles Ω1, Ω2 de propriétés physiques différentes. Soit �� le vecteur normal en tout point
de l’interface de séparation Γ.
Soit 𝑈1 et 𝑈2 les vitesses du fluide dans chaque volume Ω1, Ω2 respectivement. On prend un
petit volume W autour de l’interface de séparation Γ. L’épaisseur de W est très petite. On
notera cette épaisseur h, de telle sorte que l’interface passe de façon symétrique à travers w.
(L’interface coupe le volume w en deux parties symétriques d’épaisseur ℎ 2⁄ )
Soit S l’intersection de W avec Γ : 𝑆 = 𝑊 ∩ Γ
Le théorème de transport de Reynolds pour une fonction 𝜙 (𝑋 , 𝑡) continue sur le domaine W
s’écrit.
𝐷
𝐷𝑡∫ 𝜙 𝑑Ωw
= ∫𝜕
𝜕𝑡𝜙 𝑑Ω
w
+ ∮ 𝜙�� . 𝑛𝑤 𝑑Γ
∂w
(3.43)
Avec 𝑛𝑤 vecteur normal à la surface extérieure du volume w.
𝑋𝑠
��
Γ Ω2
Ω1 𝐰
𝐒
44
Quand l’épaisseur h du volume W tend vers zéro, le volume W tend vers la surface S
limℎ→0
𝐷
𝐷𝑡∫ 𝜙 𝑑Ωw
= limℎ→0
∫𝜕
𝜕𝑡𝜙 𝑑Ω
w
+ limℎ→0
∮ 𝜙�� . 𝑛𝑤 𝑑Γ
∂w
(3.44)
Le terme 𝜕
𝜕𝑡𝜙 𝑑Ω correspond à une description Eulérienne (configuration actuelle) du
mouvement du volume de contrôle, ce qui fait que
limℎ→0
∫𝜕
𝜕𝑡𝜙 𝑑Ω
w
= 0 (3.45)
Et
limℎ→0
∮ 𝜙�� . 𝑛𝑤 𝑑Γ
∂w
= limℎ→0
∫ 𝜙�� . �� 𝑑Γ𝑆
(3.46)
Le terme 𝐷
𝐷𝑡∫ 𝜙 𝑑Ωw
correspond à une description Lagrangienne (repère de référence), ce
qui fait qu’il sera exprimé en fonction des valeurs initiales des variables de chaque domaine.
limℎ→0
𝐷
𝐷𝑡∫ 𝜙 𝑑Ωw
= ∫ ⟦𝜙�� ⟧.𝑆
�� 𝑑S (3.47)
⟦𝜙�� ⟧ = 𝜙2𝑈2 − 𝜙1�� 1 (3.48)
En faisant tendre la surface 𝑆 → 0, on obtient les valeurs des variables précédentes en un
point précis 𝑋𝑠.
lim
ℎ→0,𝑆→0
1
𝑆
𝐷
𝐷𝑡∫ 𝜙 𝑑ΩΩ
= limℎ→0,𝑆→0
1
𝑆∫ ⟦𝜙�� ⟧.𝑆
�� 𝑑S
= 𝜙2𝑈2 . �� − 𝜙1�� 1. ��
(3.49)
45
En appliquant ce dernier résultat en prenant 𝜙 = 𝜌. Ce qui nous donne la loi de conservation
de la masse.
Ce qui nous donne
𝐷
𝐷𝑡∫ 𝜌 𝑑ΩΩ
= 0 (3.50)
Donc 𝜌2𝑈2 . �� = 𝜌1�� 1. �� (3.51)
Ce qui donne selon la condition de Rankine-Hugoniot (Gouin, H., & Gavrilyuk, S. (1999)),
et le fait qu’il n’y ait pas de changement de phase au niveau de l’interface
𝑈2 . �� = �� 1. �� (3.52)
Les composantes normales de chaque vitesse sont égales.
En prenant le même raisonnement que précédemment sur le fait qu’il n’y ait pas de
glissement entre les deux milieux, alors les deux composantes tangentielles des vitesses sont
égales au même point.
Ce qui donne finalement le même résultat que précédemment
⟦�� ⟧ = 0 (3.53)
IV-Équation régissant la physique de l’interface entre deux fluides non
miscibles
La loi de Young Laplace définit l’interface comme ayant une épaisseur nulle. On utilise
l’approche ¨Sharp interface¨ (interface à épaisseur nulle) contrairement à l’approche diffuse,
ainsi la viscosité et la densité représentent un saut au niveau de l’interface (deux valeurs
différentes de part et d’autre de l’interface). On suppose que l’interface a une tension
superficielle. On suppose qu’il n’y a pas de transfert de masse au niveau de l’interface
(surface imperméable), et aussi absence de surfactant dans le fluide.
46
Une surface de séparation entre deux fluides non miscibles, non contaminée, présente une
propriété d’isotropie pour la tension superficielle (Pozrikidis 2011).
La tension superficielle diminue avec l’augmentation de la température. Au-delà d’un certain
seuil critique, elle devient nulle. Les composantes du tenseur de contrainte 𝜎 de part et
d’autre d’une interface de séparation entre deux fluides non miscibles ne sont pas
nécessairement égales. Ce qui donne naissance à une discontinuité. La discontinuité au
niveau de l’interface est déterminée par les propriétés physico-chimiques des fluides et la
constitution moléculaire de l’interface.
Pour trouver une expression pour la condition de saut au niveau de l’interface, on néglige la
masse de l’interface et on écrit un bilan de forces pour une portion de surface S.
On prend une surface de séparation entre deux fluides non miscibles. On prend une portion
de cette surface qu’on notera S. Le contour de S sera noté C. Le vecteur �� est normal à
l’interface S et au contour C, 𝒕 est un vecteur tangent au contour C et perpendiculaire à �� .
Comme le montre la figure 3.6 suivante :
Figure 3.6 : Bilan sur une portion d’une interface de séparation entre deux fluides non
miscibles
��
𝒕 ⨂��
𝒕
𝛀𝟏
𝛀𝟐
47
La force totale agissant sur la surface de séparation S se compose de la force agissant sur S
et de la force agissant sur le contour C
𝐹 = ∫ (𝜎1 − 𝜎2 )
𝐴
. �� 𝑑𝐴 +∮ 𝛾𝑡 Γ
× �� 𝑑Γ (3.54)
Tel que 𝜎1et 𝜎2 sont les tenseurs de taux de déformation dans chaque milieu. Et 𝛾 la tension
superficielle au niveau de l’interface de séparation.
À noter que la force volumique comme le poids n’existe pas parce que l’interface est une
surface donc elle a un volume nul.
Même en absence d’équilibre, la somme des forces est nulle, parce que l’interface n’a pas de
masse.
∑𝐹 = 𝑚𝑎 (3.55)
𝑚 = 0
∫ (𝜎1 − 𝜎2 )𝐴
. �� 𝑑𝐴 + ∮ 𝛾𝑡 Γ
× �� 𝑑Γ = 0 (3.56)
Ce qui donne :
∫ (𝜎1 − 𝜎2 )𝐴
. �� 𝑑𝐴 = −∮ 𝛾𝑡 Γ
× �� 𝑑Γ (3.57)
On sait que
∮ 𝛾𝑡 Γ
× �� 𝑑Γ = −∮ 𝛾�� Γ
× 𝑡 𝑑Γ (3.58)
En appliquant le théorème de Stokes :
∮ 𝐹 . 𝑡 𝐶
𝑑𝑆 =∬ (∇ × 𝐹 ). �� 𝐴
𝑑𝐴 (3.59)
48
En prenant 𝐹 comme étant le produit vectoriel de deux vecteurs 𝐹 = 𝑔 × �� avec �� = 𝑐𝑡𝑒.
On aura
∮ (𝑔 × �� ). 𝑡 𝐶
𝑑𝑆 =∬ (∇ × (𝑔 × �� )). �� 𝐴
𝑑𝐴 (3.60)
Le rotationnel d’un produit vectoriel de deux vecteurs donne
∇ × (𝑔 × �� ) = (∇ . �� )𝑔 − (∇ . 𝑔 )�� + �� . (∇ 𝑔 ) − 𝑔 . (∇ �� ) (3.61)
Le vecteur �� étant constant
(∇ . �� ) = (∇ �� ) = 0 (3.62)
Donc il va rester
∇ × (𝑔 × �� ) = −(∇ . 𝑔 )�� + �� . (∇ 𝑔 ) (3.63)
∮ (𝑔 × �� ). 𝑡 𝐶
𝑑𝑆 =∬ (−(∇ . 𝑔 )�� + �� . (∇ 𝑔 )) . �� 𝐴
𝑑𝐴 (3.64)
On posant
𝑔 = 𝛾�� (3.65)
On obtient
∮ (𝛾�� × �� ). 𝑡 𝐶
𝑑𝑆 = ∬ ((−∇ . (𝛾�� ))�� + �� . (∇ (𝛾�� ))) . �� 𝐴
𝑑𝐴 (3.66)
On sait que : (�� × �� ). 𝑡 = �� . (𝑡 × �� )
∮ 𝛾�� . (𝑡 × �� )𝐶
𝑑𝑆 =∬ (−∇ . (𝛾�� )�� . �� + �� . (∇ (𝛾�� )). �� )𝐴
𝑑𝐴 (3.67)
49
�� . ∮ 𝛾(𝑡 × �� )
𝐶
𝑑𝑆 = ∬ �� . (−∇ . (𝛾�� )�� + (∇ (𝛾�� )). �� )𝐴
𝑑𝐴 (3.68)
En simplifiant le facteur commun des deux côtés de l’égalité, on obtient :
∮ 𝛾(𝑡 × �� )𝐶
𝑑𝑆 =∬ (−∇ . (𝛾�� )�� + (∇ (𝛾�� )) . �� )𝐴
𝑑𝐴 (3.69)
En décomposant les termes du membre de droite, en appliquant les relations mathématiques
spécifiques on obtient.
∇ . (𝛾�� ) = ∇ 𝛾. �� + 𝛾∇ . �� (3.70)
En multipliant par ��
∇ . (𝛾�� ). �� = (∇ 𝛾. �� ) �� + 𝛾(∇ . �� )�� (3.71)
∇ (𝛾�� ) = 𝛾(∇ �� ) + (∇ 𝛾⨂�� ) (3.72)
En multipliant par ��
∇ (𝛾�� ). �� = 𝛾(�� �� ). �� + (∇ 𝛾⨂�� ). �� (3.73)
On sait que
(�� �� ). �� =
1
2�� (�� . �� ) =
1
2�� (1) = 0
(3.74)
Donc
𝛾(�� �� ). �� = 0 (3.75)
Donc il ne restera que l’autre terme
∇ (𝛾�� ). �� = (∇ 𝛾⨂�� ). �� (3.76)
En regroupant les deux termes, on a :
50
∮ 𝛾(𝑡 × �� )𝐶
𝑑𝑆 = ∫ [−(∇ 𝛾. �� )�� − 𝛾(∇ . �� )�� 𝐴
+ (∇ 𝛾⨂�� ). �� ]𝑑𝐴 (3.77)
En appliquant le résultat −∇ . �� = κ, (voir annexe A), avec κ étant la courbure de l’interface,
on obtient
−𝛾(∇ . �� )�� = −𝛾(−κ )�� = 𝛾κ�� (3.78)
(a ⨂�� ). 𝑐 = 𝑎 (b . 𝑐 ) (3.79)
(Avec 𝑎 , b 𝑒𝑡 𝑐 des vecteurs) sur le troisième terme du membre de droite, on obtient :
(∇ 𝛾⨂�� ). �� = ∇ 𝛾(�� . �� ) = ∇ 𝛾 (3.80)
En décomposant l’opérateur ∇ en sa composante normale et tangentielle
∇ 𝛾 = ∇𝑁 𝛾 + ∇Γ 𝛾 (3.81)
∇ 𝛾 = (∇ 𝛾. �� )�� + ∇Γ 𝛾
∇Γ 𝛾 = ∇ 𝛾 − (∇ 𝛾. �� )��
∇Γ 𝛾 = ∇ 𝛾 − �� (�� . (∇ 𝛾))
∇Γ 𝛾 = ∇ 𝛾 − �� ⨂�� (∇ 𝛾)
∇Γ 𝛾 = (∥ −�� ⨂�� )(∇ 𝛾) (3.82)
Le terme (∥ −�� ⨂�� ) est noté P et est appelé projecteur. Donc ∇Γ 𝛾 est la composante
projetée de (∇ 𝛾).
Donc en remplaçant les termes (3.78) et (3.80) dans l’équation de départ (3.77), on obtient :
∮ 𝛾(𝑡 × �� )𝐶
𝑑𝑆 = ∫ [𝛾κ�� − (∇ 𝛾 )𝐴
+ (∇ 𝛾⨂�� ). �� ]𝑑𝐴 (3.83)
51
Sachant que
(a ⨂�� ). 𝑐 = 𝑎 (b . 𝑐 ) (3.84)
(∇ 𝛾 ⨂�� ). �� = ∇ 𝛾(n ⨂�� ) (3.85)
En injectant le résultat 3.85 dans l’équation 3.83 on obtient :
∮ 𝛾(𝑡 × �� )𝐶
𝑑𝑆 = ∫ [𝛾κ�� − (𝐴
Ι − (n ⨂�� ))(∇ 𝛾 )]𝑑𝐴 (3.86)
En tenant compte de 3.82 on obtient
∮ 𝛾(𝑡 × �� )𝐶
𝑑𝑆 = ∫ [𝛾κ�� −𝐴
(∇Γ 𝛾 )]𝑑𝐴 (3.87)
En remplaçant dans l’équation initiale 3.57, on trouve :
∫ (𝜎1 − 𝜎2 )𝐴. �� 𝑑𝐴 = −∫ [𝛾κ�� −
𝐴(∇Γ 𝛾 )]𝑑𝐴
∫ (𝜎1 − 𝜎2 )𝐴
. �� 𝑑𝐴 + ∫ [𝛾κ�� −𝐴
(∇Γ 𝛾 )]𝑑𝐴 = 0 (3.88)
Donc
⟦𝜎. �� ⟧ = [−𝛾κ�� + (∇Γ 𝛾 )] (3.89)
Qui représente la différence entre les deux valeurs du tenseur de taux de déformation au
niveau de l’interface, qui est appelée condition de saut.
On remarque que cette condition contient deux termes. Le premier terme dépend de la
propriété physique 𝛾 de l’interface, la courbure κ et d’une orientation suivant la normale �� .
Ce terme a la dimension d’une force, ce qui fait que lors de l’évolution de l’interface, le
52
changement de forme de cette dernière avec un coefficient de tension superficielle 𝛾 constant
n’est conséquence que d’un bilan de force ou d’énergie.
En d’autres termes les interfaces se déforment, en conséquence d’un certain bilan d’énergie
ou de force selon lequel, l’énergie dissipée au cours de l’évolution est minimale.
Le second terme quant à lui correspond au gradient surfacique de la tension superficielle 𝛾,
∇Γ = (1 − �� ⨂�� )∇ qui est une projection de ∇ sur la surface pilotée par �� .
On voit très bien que ce terme modifie les conditions à l’interface de séparation entre deux
fluides non miscibles. L’effet de ce terme est appelé effet Marangoni.
On remarque très bien qu’un écoulement stratifié κ = 0 ne peut être au repos, que si le terme
∇Γ 𝛾 = 0. Dans le cas contraire, le mouvement du fluide sera piloté par le gradient surfacique,
qui représentera l’effet Marangoni. L’effet Marangoni n’est possible que si la tension
superficielle entre deux points de l’interface est différente. Ce phénomène est induit soit par
effet de la température, concentration des surfactants ou bien une instabilité liée à un potentiel
électrique ou à un champ magnétique. Ce qui suggère aussi qu’en absence de vitesse initiale
pour le fluide, son mouvement peut être dû à l’effet Marangoni, auquel cas le fluide va
s’écouler dans le sens où la tension superficielle est plus importante.
53
V- Conditions de saut sur les grandeurs physiques au niveau de
l’interface de séparation entre les fluides
Au niveau de l’interface de séparation de deux fluides non miscibles, les grandeurs physiques
de part et d’autre de l’interface sont discontinues, ce qui impose des conditions de saut.
Pour la viscosité et la densité, leurs conditions de saut peuvent être écrites de manière
évidente (propriétés physiques de la matière) comme suit :
⟦𝜌⟧ = 𝜌+ − 𝜌− (3.90)
⟦𝜇⟧ = 𝜇+ − 𝜇− (3.91)
Pour deux fluides visqueux non miscibles, on avait vu précédemment que la vitesse est
continue au niveau de l’interface de séparation
⟦𝑈⟧ = 0 (3.92)
⟦𝑈𝑛⟧ = 0 (3.93)
⟦𝑈𝑡⟧ = 0 (3.94)
Le fait que la vitesse évolue de façon continue au niveau de l’interface, ceci suggère que la
variation, de la composante tangentielle, au même point, dans deux directions opposées soit
la même de part et d’autre, donc le saut sur la composante tangentielle du gradient de la
vitesse soit nul.
Donc ⟦∇ �� ⟧. 𝑡 = 0 (3.95)
On sait que pour deux fluides incompressibles, la condition de continuité est :
⟦∇ . �� ⟧ = 0 (3.96)
Trouvons la relation entre ∇ �� et ∇ . �� :
54
∇ �� = �� ,𝑛𝑒𝑛 + �� ,𝑡𝑒𝑡 (3.97)
∇ . �� = �� 𝑛,𝑛 + �� 𝑡 ,𝑡
(3.98)
⟦∇ . �� ⟧ = �� . ⟦∇ �� ⟧. �� + 𝑡 . ⟦∇ �� ⟧. 𝑡 = 0 (3.99)
Donc �� . ⟦∇ �� ⟧. �� = 0 (3.100)
Ce qui suggère que la composante normale du gradient de la vitesse est continue au niveau
de l’interface.
⟦∇ �� ⟧ = ⟦∇𝑁 �� + ∇𝑇 �� ⟧ = ⟦∇𝑁 �� ⟧ + ⟦∇𝑇 �� ⟧ = 0 (3.101)
Donc le saut sur le gradient de la vitesse est nul.
Prenons maintenant le résultat obtenu précédemment et essayons de trouver les conditions
de sauts sur les grandeurs qui le constituent.
⟦𝜎 . �� ⟧ = [−𝛾κ�� + (∇Γ 𝛾 )] (3.102)
En revanche on sait que le tenseur de taux de déformation est défini comme suit :
𝜎(�� , 𝑝) = −𝑝𝐼 + 2𝜇𝐷(�� ) (3.19)
Le vecteur étant le même de part et d’autre de l’interface on peut écrire :
⟦𝜎 . �� ⟧ = ⟦𝜎 ⟧. �� (3.103)
Donc l’équation précédente se réduit à :
⟦−𝑝𝐼 + 2𝜇𝐷(�� )⟧. �� = −𝛾κ�� (3.104)
En appliquant la formule suivante
⟦𝐴 + 𝐵⟧ = ⟦𝐴 ⟧ + ⟦ 𝐵⟧ (3.105)
55
On obtient
⟦−𝑝𝐼 + 2𝜇𝐷(�� )⟧ = ⟦−𝑝𝐼 ⟧ + ⟦ 2𝜇𝐷(�� )⟧ (3.106)
En faisant le produit scalaire par �� .
⟦𝑝 ⟧ = ⟦�� . 2𝜇𝐷(�� ). �� ⟧ + 𝛾κ (3.107)
⟦𝑝 ⟧ = ⟦�� . 𝜇(∇ �� + ∇𝑇 �� ). �� ⟧ + 𝛾κ (3.108)
⟦𝑝 ⟧ = �� . ⟦( 𝜇 ∇ �� )⟧. �� + �� . ⟦( 𝜇∇𝑇 �� )⟧ . �� + 𝛾κ (3.109)
⟦𝐴𝐵⟧ = ⟦𝐴 ⟧�� + ��⟦ 𝐵⟧ (3.110)
Avec �� = 𝑎𝐴2 + 𝑏𝐴1, �� = 𝑎𝐵2 + 𝑏𝐵1 avec a+b=1
⟦𝑝 ⟧ = �� . ⟦ 𝜇 ⟧(∇ �� ). �� + �� . ��⟦∇ �� ⟧. �� + �� . ⟦ 𝜇 ⟧(∇𝑇 �� ). �� + �� . �� ⟦ ∇𝑇 �� ⟧ . ��
+ 𝛾κ
(3.111)
On sait que
�� . ��⟦∇ �� ⟧. �� = �� . �� ⟦ ∇𝑇 �� ⟧ . �� = 0 (3.112)
Ce qui donne
⟦𝑝 ⟧ = �� . ⟦ 𝜇 ⟧(∇ �� ). �� + �� . ⟦ 𝜇 ⟧(∇𝑇 �� ). �� + 𝛾κ
(3.113)
(∇ �� ) = 𝑎(∇ �� )2 − (1 − 𝑎)(∇ �� )1 (3.114)
(∇𝑇 �� ) = 𝑎(∇𝑇 ��
)2 − (1 − 𝑎)(∇𝑇 ��
)1
(3.115)
En utilisant l’identité vectorielle suivante
56
𝑎. 𝐵. 𝑐 = 𝑐. 𝐵𝑇. 𝑎 (3.116)
On aura
�� . (∇ �� ). �� = �� . (∇𝑇 �� ). �� (3.117)
Le saut sur la pression p devient :
⟦𝑝 ⟧ = 2⟦ 𝜇 ⟧�� . ∇ �� . �� + 𝛾κ (3.118)
⟦( 𝜇 ∇ �� )⟧. 𝑡 = ⟦ 𝜇 ⟧(∇ �� ). 𝑡 + ��⟦ ∇ �� ⟧. 𝑡 (3.119)
Le gradient tangentiel de la vitesse étant nul de part et d’autre de l’interface (obtenu
précédemment)
��⟦ ∇ �� ⟧. 𝑡 = 0 (3.120)
On obtient
⟦( 𝜇 ∇ �� )⟧. 𝑡 = ⟦ 𝜇 ⟧(∇ �� ). 𝑡 (3.121)
On sait que
⟦𝑡 . 𝜇(∇ �� + ∇𝑇 �� ). �� ⟧ = 0 (3.122)
𝑡 . ⟦( 𝜇 ∇ �� )⟧. �� + 𝑡 . ⟦( 𝜇∇𝑇 �� )⟧ . �� = 0
𝑡 . ⟦( 𝜇 ∇ �� )⟧. �� + �� . ⟦ 𝜇 ⟧∇ �� . 𝑡 = 0 (3.123)
Condition de saut sur ⟦( 𝜇 ∇ �� )⟧ :
⟦( 𝜇 ∇ �� )⟧ = ⟦�� . ( 𝜇 ∇ �� ). �� ⟧�� ⨂�� + ⟦𝑡 . ( 𝜇 ∇ �� ). 𝑡 ⟧𝑡 ⨂𝑡 + ⟦�� . ( 𝜇 ∇ �� ). 𝑡 ⟧�� ⨂𝑡
+ ⟦𝑡 . ( 𝜇 ∇ �� ). 𝑡 ⟧�� ⨂𝑡
(3.124)
57
1/ ⟦�� . ( 𝜇 ∇ �� ). �� ⟧=�� . ⟦ 𝜇 ⟧(∇ �� ). �� + �� . ��⟦∇ �� ⟧. ��
= �� . ⟦ 𝜇 ⟧∇ �� . ��
= ⟦ 𝜇 ⟧�� . (∇ �� ). �� (3.125)
2/⟦𝑡 . ( 𝜇 ∇ �� ). 𝑡 ⟧ = 𝑡 . ⟦ 𝜇 ⟧(∇ �� ). 𝑡 + 𝑡 . ��⟦∇ �� ⟧. 𝑡
= 𝑡 . ⟦ 𝜇 ⟧(∇ �� ). 𝑡
= ⟦ 𝜇 ⟧𝑡 . (∇ �� ). 𝑡 (3.126)
3/⟦�� . ( 𝜇 ∇ �� ). 𝑡 ⟧ = �� . ⟦ 𝜇 ⟧(∇ �� ). 𝑡 + �� . ��⟦∇ �� ⟧. 𝑡
= �� . ⟦ 𝜇 ⟧(∇ �� ). 𝑡
= ⟦ 𝜇 ⟧�� . (∇ �� ). 𝑡 (3.127)
4/⟦𝑡 . ( 𝜇 ∇ �� ). �� ⟧:
On sait que :
⟦𝑝 ⟧ = ⟦𝜇(∇ �� + ∇𝑇 �� )⟧ + 𝛾κ�� + ∇Γ 𝛾 (3.128)
𝑡 . ⟦𝑝 ⟧. �� = 𝑡 . ⟦𝜇(∇ �� + ∇𝑇 �� )⟧ . �� + 𝑡 . (𝛾κ�� + ∇Γ 𝛾). ��
0 = 𝑡 . ⟦𝜇(∇ �� + ∇𝑇 �� )⟧ . �� + . (𝛾κ�� + ∇Γ 𝛾). ��
0 = 𝑡 . ⟦𝜇∇ �� ⟧. �� + 𝑡 . ⟦𝜇∇𝑇 �� ⟧ . �� + 𝑡 . (𝛾κ�� + ∇Γ 𝛾). ��
58
𝑡 . ⟦𝜇∇ �� ⟧. �� = −�� . ⟦𝜇∇ �� ⟧. 𝑡 − 𝑡 . (𝛾κ�� + ∇Γ 𝛾). �� (3.129)
En sommant les quatre termes, on obtient :
⟦( 𝜇 ∇ �� )⟧ = ⟦𝜇⟧[(�� . (∇ �� ). �� )�� ⨂�� + (�� . (∇ �� ). 𝑡 )�� ⨂𝑡 − (�� . (∇ �� ) . 𝑡 ) 𝑡 ⨂��
+ ⟦𝑡 . (∇ �� ) . 𝑡 ⟧ 𝑡 ⨂𝑡 − 𝑡 . (𝛾κ�� + ∇Γ 𝛾). �� 𝑡 ⨂��
(3.130)
Tableau récapitulatif 3.1 sur les conditions de saut au niveau de l’interface de séparation de
deux fluides non miscibles :
Grandeur physique Saut sur la grandeur Valeur du saut
Vitesse ⟦�� ⟧
0
Viscosité dynamique ⟦𝜇⟧ 𝜇+ − 𝜇−
Masse volumique ⟦𝜌⟧ 𝜌+ − 𝜌−
Gradient des vitesses ⟦∇ �� ⟧ 0
Tenseur du taux de
déformation
⟦𝜎 . �� ⟧
[−𝛾κ�� + (∇Γ 𝛾 )]
Pression ⟦𝑝 ⟧
2⟦ 𝜇 ⟧�� . ∇ �� . �� + 𝛾κ
Gradient de pression ⟦∇ 𝑝 ⟧ 0
59
Viscosité dynamique
multipliée par le gradient
des vitesses
⟦( 𝜇 ∇ �� )⟧ ⟦𝜇⟧((�� . (∇ �� ). �� )�� ⨂��
+ (�� . (∇ �� ). 𝑡 )�� ⨂𝑡
− (�� . (∇ �� ). 𝑡 )𝑡 ⨂��
+ ⟦𝑡 . (∇ �� ). 𝑡 ⟧ 𝑡 ⨂𝑡
− 𝑡 . (𝛾κ�� + ∇Γ 𝛾). �� 𝑡 ⨂��
Tableau 3.1 : Conditions de saut au niveau de l’interface
60
Chapitre 4
Méthodes numériques et stratégies de
résolutions
I-Introduction
Dans ce chapitre, nous allons détailler les différents outils, méthodes et stratégies développés
pour construire le modèle de simulation. Nous allons présenter de façon progressive ces
méthodes et ces choix de développement dans un ordre logique. Les modèles développés en
détail dans les sections précédentes seront utilisés dans cette section.
On présentera la nature des discontinuités, les modèles de traitements et notre choix de
modélisation. On présentera aussi les différentes manières de traiter des interfaces dans un
système de coordonnées choisi, les avantages et inconvénients de chaque méthode et nos
choix dans la suite du travail.
Un gros problème se pose dans le choix des coordonnées, dans le cas où la différence dans
les propriétés physiques des deux fluides est très importante, les solutions sont affectées. Des
techniques de stabilisation sont employées dans le traitement du champ de vitesse et la
grandeur de la pression pour la précision et la stabilisation des solutions obtenues.
Nous allons expliquer pourquoi, contrairement à la discrétisation temporelle dans les
problèmes instationnaires traités avec la méthode FEM, le traitement avec la méthode XFEM
des problèmes instationnaires est différent, même si les discrétisations FEM et XFEM sont
des discrétisations spatiales et n’ont rien à voir avec la discrétisation des termes temporels.
61
Pour résoudre les équations de Navier-Stokes dans le cas d’écoulements à deux fluides non
miscibles avec des conditions de saut au niveau de l’interface de séparation, nous
développerons la méthode Nitsche qui est très puissante mathématiquement pour traiter les
conditions de saut sans pour autant perdre le côté physique du phénomène. Les courbures
d’interfaces sont très importantes et doivent être discrétisées avec une grande précision vu
leur rôle clé dans le traitement des écoulements diphasiques et leur distinction dans les
régimes, nous avons développé l’opérateur Laplace Beltrami pour traiter les termes de
courbures. Encore une difficulté supplémentaire qui est le fait que les interfaces sont très
variables et mobiles au cours du temps, pour cela un couplage de la méthode ¨Level-set¨ est
nécessaire, en introduisant des outils mathématiques supplémentaires.
II-Modélisation numérique
II-1-Nature de l’interface
Dans le cas d’étude des écoulements diphasiques, la nature de l’interface de séparation entre
les deux fluides peut être étudiée de deux manières différentes : soit avec une approche
interface de diffusion (Anderson et al 1998), soit une approche interface abrupte. (Sussman
et al 2007) Les deux approches sont différentes dans leurs considérations physiques et
mathématiques des interfaces entre les deux fluides non miscibles.
Approche interface de diffusion : Dans ce genre d’approche, l’interface est considérée comme
ayant une certaine épaisseur, où il existe un phénomène de diffusion qui est régi par des
équations.
On considère deux fluides non miscibles A et B avec différentes densités et viscosités
comme le montre la figure (4.1). Si on considère la fraction volumique, du fluide A par
rapport au volume total des deux fluides, dans la maille que traverse l’interface. On notera
ça C, avec 0 ≤ 𝐶 ≤ 1 .
Les densités locales : 𝜌�� = 𝐶𝜌𝑎 et : 𝜌�� = (1 − 𝐶)𝜌𝑏
La densité moyenne sera définie 𝜌 = (𝜌�� + 𝜌��) = 𝐶𝜌𝑎 + (1 − 𝐶)𝜌𝑏
L’équation de continuité entre les deux fluides s’écrit comme suit :
62
𝜕 𝜌��𝜕𝑡
+ ∇. 𝒏𝑎 = 0 (4.1)
Ou 𝒏𝑎 = 𝜌��𝑼 et 𝑼 la vitesse du fluide.
Les mêmes équations sont valables pour le fluide B
𝜕 𝜌��𝜕𝑡
+ ∇. 𝒏𝑏 = 0 (4.2)
Figure 4.1 : Interface diffuse
Dans cette approche, l’interface possède une épaisseur négligeable 휀 à travers laquelle il y a
une transition du milieu A vers le milieu B.
Approche interface abrupte: Dans cette approche l’interface possède une épaisseur nulle, de
telle sorte qu’il y a un saut sur les propriétés physiques de part et d’autre de cette interface,
sans qu’il y ait transition (figure 4.2). Par exemple si on a deux volumes Ω1 et Ω2 séparés par
une interface abrupte, on a les propriétés suivantes
Figure 4.2: Interface abrupte
63
𝜌 = {𝜌1 𝑠𝑖 𝑥 ∈ Ω1
𝜌2 𝑠𝑖 𝑥 ∈ Ω2 𝜇 = {
𝜇1 𝑠𝑖 𝑥 ∈ Ω1
𝜇2 𝑠𝑖 𝑥 ∈ Ω2 (4.3)
II-2-Choix du système de coordonnées
Lors de l’étude des écoulements diphasiques, l’interface est soumise à beaucoup de
distorsions, ces dernières pouvant s’avérer être très compliquées à gérer dans certains cas.
Par exemple, dans le cas de l’interpénétration des phases, la coalescence et la dissociation
des phases, où l’interface se déforme, se dissocie et se reconstitue. Ce processus est tellement
complexe qu’on doit choisir la description de notre système de coordonnées avec grande
précision de manière délicate de telle sorte à ne pas affecter les solutions.
Dans notre cas, nous avons le choix entre l’approche Lagrangienne ou Eulérienne. Chacune
des deux approches possède des avantages et inconvénients. Nous devons choisir la méthode
permettant de maximiser la précision des résultats.
Dans l’approche Eulérienne, il n’est pas nécessaire de remailler à chaque pas de temps au
cours de la simulation, chose qui nous permettra d’économiser sur le temps de calcul tout en
gardant un degré de précision très élevé, tout en évitant les erreurs de troncature dues au
processus de projection lors du remaillage. Le seul point négatif de cette méthode est la
présence du terme convectif non linéaire. Les opérateurs convectifs non linéaires dans les
équations de Navier Stokes sont non symétriques, ce qui induit au fait que la meilleure
propriété de l’approximation de la norme Galerkin FEM est perdue. Par conséquent, cela
conduit à des oscillations de la solution obtenue, qui augmentent plus que le processus
convectif est présent dans l’écoulement.
L’avantage de l’approche Lagrangienne est qu’on n’a pas ce genre d’oscillations dans la
solution, comme il n’y a pas de terme convectif. Par contre, le principal point négatif de
l’approche Lagrangienne dans le cas des écoulements diphasiques est le remaillage. Lors du
processus de remaillage, quand les interfaces évoluent et sont sujettes soit à de larges
64
déformations, à des topologies assez compliquées ou à des interpénétrations de phases, alors
le processus de ¨mapping¨ dans le repère Lagrangien a une précision assez faible et peut
donner parfois des résultats erronés dénués de sens physique.
Notre choix dans l’étude numérique est donc d’adopter l’approche Eulérienne qui possède le
grand avantage de bien représenter les interfaces à topologies compliquées. Pour résoudre le
problème du terme convectif et de son impact sur la solution, nous allons utiliser des
méthodes de stabilisations pour la vitesse et la pression (SUPG) Streamline Upwind Petrov
Galerkin et (PSPG) Pressure-Stabilizing Petrov-Galerkin, tel que décrit dans la section
suivante.
II-3-Techniques de stabilisation pour le champ de vitesse et de pression SUPG/PSPG.
Lorsque le nombre de Reynolds augmente, la formulation Galerkin devient instable, ce qui
crée une instabilité pour générer le terme de diffusion à partir du tenseur visqueux. Par
conséquent, l’approximation numérique se détériore de manière dramatique. Pour corriger ce
problème, des projections des termes de convection et de gradient de pression sont construites
et incorporées sous une formulation de stabilisation dans notre méthode. La méthode de
stabilisation empêche les dissipations numériques excessives dues aux oscillations.
Huges et al. (1986) ont introduit un terme de stabilisation basé sur le gradient de pression
dans un terme de l’équation de conservation de la masse lors de la modélisation de l’équation
de Stokes. Ce terme ajoute une matrice de moindres carrés dans les degrés de liberté relatifs
à la pression (DOF’s) et éliminer les oscillations de pression.
Tezduyer et al. (1991) ont incorporé cette stabilisation dans l’équation de Navier-Stokes et
l’ont nommé comme algorithme de pression stabilisée PG (PSPG).
Quand on utilise les algorithmes de stabilisation SUPG/PSPG, le tenseur des contraintes
visqueuses ne peut pas être reproduit et modélisé de façon consistante si on approxime notre
espace avec des éléments linéaires.
65
Pour obtenir les termes de stabilisation SUPG/PSPG, pour un problème de deux fluides
incompressibles instationnaires non miscibles, on considère la formulation des moindres
carrés/ Galerkin.
Les termes de stabilisation sont obtenus en minimisant la somme au carré des résidus de
l’équation de quantité de mouvement intégrée sur chaque élément du domaine.
Cette procédure nous conduit à un terme de moindres carrés, constitué avec des contributions
du phénomène d’advection, de pression et de tenseur de viscosité. Ce terme-là est ensuite
ajouté à la formulation Galerkin du problème.
Les contributions du terme d’advection nous donnent le terme de stabilisation SUPG et celles
de pression nous donnent le terme de stabilisation PSPG. On remarque que les deux termes
diffèrent l’un de l’autre. Ces termes sont pris en compte avec des facteurs de pondération
spécifiques.
Les algorithmes SUPG/PSPG sont basés sur des méthodes de projections discontinues.
Le résidu de l’équation de quantité de mouvement s’écrit comme suit :
𝑅𝑀 = 𝜌𝜕
𝜕𝑡(�� ) + 𝜌∇. (�� ) − 𝐹 + ∇𝑝 − 𝜇∆�� + [−𝛾κ�� + (∇Γ 𝛾 )]𝜹(�� − �� 𝒍(�� )) (4.4)
Le schéma Galerkin standard pondéré du résidu souffre d’un problème d’instabilité, quand
le terme de convection domine les autres termes dans l’équation de quantité de mouvement.
Pour résoudre ce genre de problème, on augmente la pondération en amont des supports
nodaux au long des lignes de courant que produit le schéma SUPG.
La formulation faible est alors écrite :
∑∫ (𝑵𝒖 + 𝝉𝑺𝑼𝑷𝑮𝒆 𝒖. 𝛁𝑵𝒖). 𝑹𝑴
𝜴𝒆𝒆𝒍
𝒅𝛀
𝒆
= 𝟎 (4.5)
Où 𝑵𝒖 représente les fonctions vectorielles de l’interpolation nodale pour la vitesse et 𝝉𝑺𝑼𝑷𝑮𝒆
est un facteur pour le terme de stabilisation.
La formulation faible améliorée s’écrit :
66
∑∫ (𝑵𝒑𝛁. 𝐮 +𝟏
𝝆𝝉𝑺𝑼𝑷𝑮𝒆 𝛁𝑵𝒑. 𝑹𝑴)
𝜴𝒆𝒆𝒍
𝒅𝛀
𝒆
= 𝟎 (4.6)
Où 𝑵𝒑 représente l’interpolation nodale des fonctions vectorielles dans le cas de
l’enrichissement.
À partir de la formulation faible trouvée précédemment, qui est formulée comme suit :
Trouver 𝒖𝒊𝒉 ∈ 𝑺𝒖𝒊
𝒉 et 𝒑𝒉 ∈ 𝑺𝒑𝒉 de telle sorte que ∀𝒘𝒊
𝒉 ∈ 𝝑𝒖𝒊𝒉 et ∀𝒒𝒉 ∈ 𝝑𝒑
𝒉
∫ 𝒘𝒊𝒉𝝆𝒌 (
𝛛 𝒖𝒊𝒉
𝛛𝒕+ 𝒖𝒋
𝒉𝛛𝒖𝒊
𝒉
𝛛𝒙𝒋)
𝛀
𝒅𝛀 +∫ 𝝈𝒊𝒋𝛛𝒘𝒊
𝒉
𝛛𝒙𝒋𝒅𝛀 −∫ 𝒘𝒊
𝒉𝝈𝒊𝒋𝒏𝒋𝚪
𝒅𝚪𝛀
+∫ 𝒒𝒉𝛛𝒖𝒋
𝒉
𝛛𝒙𝒋
𝛀
𝒅𝛀
= ∫ 𝒘𝒊𝒉𝝆𝒌𝒈𝒊
𝛀
𝒅𝛀 +∫ 𝜸𝜿𝒘𝒊𝒉𝒏𝒊
𝜞∗𝒅𝚪 − ∫ 𝒘𝒊𝛁𝚪𝜸
𝜞∗𝒅𝚪 (4.7)
Avec 𝑘 = 1,2.
On obtient la formulation faible avec les termes de stabilisation, ce qui donne la formulation
faible SUPG/PSPG stabilisée qui s’énonce comme suit
Trouver 𝒖𝒊𝒉 ∈ 𝑺𝒖𝒊
𝒉 et 𝒑𝒉 ∈ 𝑺𝒑𝒉 de telle sorte que ∀𝒘𝒊
𝒉 ∈ 𝝑𝒖𝒊𝒉 et ∀𝒒𝒉 ∈ 𝝑𝒑
𝒉
67
∫ 𝒘𝒊𝒉𝝆𝒌(
𝛛 𝒖𝒊𝒉
𝛛𝒕+ 𝒖𝒋
𝒉𝛛𝒖𝒊
𝒉
𝛛𝒙𝒋)
𝛀
𝒅𝛀 +∫ 𝝈𝒊𝒋𝛛𝒘𝒊
𝒉
𝛛𝒙𝒋𝒅𝛀 −∫ 𝒘𝒊
𝒉𝝈𝒊𝒋𝒏𝒋𝚪
𝒅𝚪𝛀
+∫ 𝒒𝒉𝛛𝒖𝒋
𝒉
𝛛𝒙𝒋
𝛀
𝒅𝛀
+∑∫ 𝝉𝒆 (𝒖𝒋𝒉𝛛 𝒘𝒊
𝒉
𝛛𝒙𝒋+𝟏
𝝆𝒌
𝛛𝒒𝒉
𝛛𝒙𝒊) . [𝝆𝒌 (
𝛛 𝒖𝒊𝒉
𝛛𝒕+ 𝒖𝒋
𝒉𝛛𝒖𝒊
𝒉
𝛛𝒙𝒋− 𝒈𝒊)
𝜴𝒆𝒆𝒍
𝒏𝒆𝒍
𝒆=𝟏
−𝛛𝝈𝒊𝒋
𝛛𝒙𝒋] 𝒅𝛀 = ∫ 𝒘𝒊
𝒉𝝆𝒌𝒈𝒊𝛀
𝒅𝛀 +∫ 𝜸𝜿𝒘𝒊𝒏𝒊 𝜞∗
𝒅𝚪 − ∫ 𝒘𝒊𝛁𝚪𝜸 𝜞∗
𝒅𝚪 (4.8)
Où les termes de stabilisation additionnels sont compris dans le signe de
sommation∑ 𝒆𝒍𝒆=𝟏 . 𝒏𝒆𝒍 est le nombre d’éléments et 𝝉𝒆 est définie par Shakib et al (1991)
comme suit :
𝝉𝒆 = [(𝟐
∆𝒕)𝟐
+ ( 𝟐|𝒖𝒂𝒗𝒈
𝒉 |
𝒉𝒆)
𝟐
+ (𝟒𝝊
𝒉𝒆𝟐)
𝟐
]
−𝟏 𝟐⁄
(𝟒. 𝟗)
Où |𝒖𝒂𝒗𝒈𝒉 | représente la norme de la vitesse moyenne calculée sur un élément, 𝝊 est la
viscosité cinématique qui représente aussi la moyenne des viscosités dans un élément quand
l’élément est traversé par l’interface. Pour sa part, 𝒉𝒆 représente la dimension de la maille de
calcul, elle est définie
𝒉𝒆 = √𝟐𝑨𝒆𝒆𝒍
𝒉𝒅𝒊𝒂𝒈 (𝟒. 𝟏𝟎)
Ou 𝑨𝒆𝒆𝒍 est la surface de l’élément et 𝒉𝒅𝒊𝒂𝒈 est la distance diagonale la plus grande entre
deux nœuds.
68
II-4-Discrétisation temporelle des équations de Navier Stokes dans le cas des
écoulements diphasiques
Lors de l’étude numérique spatio-temporelle des équations de Navier-Stokes, dans le
processus de discrétisation, on discrétise l’espace puis le temps à l’aide de la méthode de
semi-discrétisation.
Dans la méthode des éléments finis étendus (XFEM), les fonctions de formes dépendent du
temps contrairement à la méthode des éléments finis classique (FEM) ou les fonctions de
formes sont indépendantes du temps. C’est pour cette raison que dans la méthode des
éléments finis FEM on discrétise l’espace avant le temps, par contre dans la méthode XFEM
on discrétise d’abord le temps ensuite l’espace (Fries, T. P., & Zilian, A. (2009)).
II-4-a-Discrétisation temporelle
La méthode trapézoïdale, aussi appelée méthode de Crank-Nicolson (1947), est utilisée pour
traiter les pas de temps. La méthode trapézoïdale est une méthode de la famille des méthodes
dites thêta 𝜃 , avec 𝜃 = 1/2. Cette méthode possède une précision du deuxième ordre avec
un schéma semi-implicite et est inconditionnellement stable (Bell et al 1989).
À partir de l’équation de Navier-Stokes diphasique, modèle à un fluide, écrite sous la
forme suivante:
𝜌𝑘 (𝜕 𝑢𝑖𝜕𝑡+ 𝑢𝑗
𝜕 𝑢𝑖𝜕𝑥𝑗) −
𝜕𝜎𝑖𝑗
𝜕𝑥𝑗= 𝑓𝑘,𝑖 (4.11)
𝜕𝑢𝑗
𝜕𝑥𝑗= 0 (4.12)
∫ 𝑤𝑖𝜕𝜎𝑖𝑗
𝜕𝑥𝑗𝛺
𝑑Ω = −∫ 𝜎𝑖𝑗∂𝑤𝑖∂𝑥𝑗
𝑑Ω −∫ 𝑤𝑖Γ
𝑓𝑘,𝑖𝑛+1𝑑𝛺
Ω
(4.13)
La méthode de discrétisation trapézoïdale (Crank-Nicholson) est exprimée comme suit :
69
𝑢𝑖𝑛+1 − 𝑢𝑖
𝑛
∆𝑡= 𝜃𝐺𝑖
𝑛+1 + (1 − 𝜃)𝐺𝑖𝑛 𝑎𝑣𝑒𝑐 𝜃 =
1
2 (4.14)
Où n+1 décrit le pas de temps actuel et n décrit le pas de temps précédent. La transcription i
fait référence à une composante d’un champ de variable. Par exemple 𝐺𝑖𝑛+1 fait référence à
la i -ème composante de la dérivée temporelle au pas de temps actuel.
En appliquant la loi trapézoïdale à l’équation de Navier et Stokes écrite sous la forme
précédente, on obtient :
𝐺𝑖 = −1
𝜌𝑘[𝜌𝑘𝑢𝑗
𝜕 𝑢𝑖𝜕𝑥𝑗
−𝜕𝜎𝑖𝑗
𝜕𝑥𝑗− 𝑓𝑘,𝑖 ] (4.15)
Donc la discrétisation temporelle de l’équation de Navier-Stokes devient
𝜌𝑘𝑢𝑖𝒏+𝟏 − 𝑢𝑖
𝒏
∆𝑡+ 𝜃 [𝜌𝑘𝑢𝑗
𝜕 𝑢𝑖𝜕𝑥𝑗
−𝜕𝜎𝑖𝑗
𝜕𝑥𝑗− 𝑓𝑘,𝑖 ]
𝒏+𝟏
− (1 − 𝜃)𝜌𝑘𝐺𝑖𝒏 = 0 (4.16)
En réarrangeant les termes, on obtient :
𝜌𝑘𝑢𝑖𝒏+𝟏 + 𝜃∆𝑡 [𝜌𝑘𝑢𝑗
𝜕 𝑢𝑖𝜕𝑥𝑗
−𝜕𝜎𝑖𝑗
𝜕𝑥𝑗− 𝑓𝑘,𝑖 ]
𝒏+𝟏
= 𝜌𝑘𝑢𝑖𝒏 + (1 − 𝜃)𝜌𝑘∆𝑡𝐺𝑖
𝒏
1
𝜃∆𝑡𝜌𝑘𝑢𝑖
𝒏+𝟏 + [𝜌𝑘𝑢𝑗𝜕 𝑢𝑖𝜕𝑥𝑗
−𝜕𝜎𝑖𝑗
𝜕𝑥𝑗− 𝑓𝑘,𝑖 ]
𝒏+𝟏
=1
𝜃∆𝑡𝜌𝑘𝑢𝑖
𝒏 +(1 − 𝜃)
𝜃𝜌𝑘𝐺𝑖
𝒏 (4.17)
Qu’on couplera avec l’équation de continuité
𝜕𝑢𝑗𝑛+1
𝜕𝑥𝑗= 0 (4.18)
70
II-4-b-Discrétisation spatiale
Après avoir discrétisé notre équation temporellement, nous allons procéder à la discrétisation
spatiale. Pour cela nous devons écrire notre équation (4.11) sous la forme faible et cela en
multipliant par une fonction test 𝑤 et en intégrant sur le domaine Ω . On obtient alors :
1
𝜃∆𝑡∫ 𝑤𝑖𝜌𝑘𝑢𝑖
𝑛+1𝑑Ω +∫ 𝑤𝑖𝜌𝑘𝑢𝑗𝑛+1
𝛺
∂𝑢𝑖𝑛+1
∂𝑥𝑗
Ω
𝑑Ω −∫ 𝑤𝑖𝜎𝑖𝑗𝑛+1
∂𝑥𝑗𝑑Ω −∫ 𝑤𝑖
𝛺
𝑓𝑘,𝑖𝑛+1𝑑𝛺
Ω
=1
𝜃∆𝑡∫ 𝑤𝑖Ω
(𝜌𝑘𝑢𝑖𝑛 + (1 − 𝜃)𝜌𝑘∆𝑡𝐺𝑖
𝑛)𝑑Ω (4.19)
On remarque très bien que le terme ∫ 𝒘𝒊𝝏𝝈𝒊𝒋𝒏+𝟏
𝝏𝒙𝒋𝒅𝜴
𝜴 contient le terme de tension interfaciale,
qu’on doit expliciter pour discrétiser
∫ 𝑤𝑖𝜕𝜎𝑖𝑗
𝑛+1
∂𝑥𝑗𝑑Ω = ∫ 𝑤𝑖
𝛤ℎ𝑛+1
𝜎𝑖𝑗𝑛𝑗𝑑𝛤𝛺
+∫ 𝛾𝜅𝑤𝑖𝑛��𝛤𝑑𝑛+1
𝑑𝛤 + ∫ 𝑤𝑖∇Γ𝛾 𝛤𝑑𝑛+1
𝑑Γ
− ∫ 𝜎𝑖𝑗𝑛+1 𝜕𝑤𝑖
𝜕𝑥𝑗𝛺
𝑑Ω (4.20)
Où 𝛤𝑑 représente l’interface de séparation entre les deux fluides et 𝛤ℎ l’interface des parois
externes figure (4.3). On remarque que les termes d’intégrales surfaciques sont au pas de
temps actuel.
Dans notre étude, la position de l’interface est connue seulement au pas de temps précédent
quand on résout les équations de Navier-Stokes au pas de temps actuel. Donc, le terme de
tension superficielle est traité de manière explicite soit en prenant 𝜃 = 0. Impérativement
nous devons alors considérer la limite de pas de temps capillaire (Hysing 2005), dont on
discutera plus tard.
En couplant les deux équations précédentes, on obtient une équation discrétisée complète
avec les termes de tension superficielle bien explicités
71
Figure (4.3) : Configuration entre deux fluides non miscibles
1
𝜃∆𝑡∫ 𝑤𝑖𝜌𝑘𝑢𝑖
𝑛+1𝑑Ω + ∫ 𝑤𝑖𝜌𝑘𝑢𝑗𝑛+1
𝛺
∂𝑢𝑖𝑛+1
∂𝑥𝑗
Ω
𝑑Ω −∫ 𝑤𝑖𝛤ℎ𝑛+1
𝜎𝑖𝑗𝑛𝑗𝑑𝛤 − ∫ 𝛾𝜅𝑤𝑖𝑛��𝛤𝑑𝑛+1
𝑑𝛤
− ∫ 𝑤𝑖∇Γ𝛾 𝛤𝑑𝑛+1
𝑑Γ + ∫ 𝜎𝑖𝑗𝑛+1 𝜕𝑤𝑖
𝜕𝑥𝑗𝛺
𝑑Ω −∫ 𝑤𝑖𝛺
𝑓𝑘,𝑖𝑛+1𝑑𝛺
=1
𝜃∆𝑡∫ 𝑤𝑖Ω
(𝜌𝑘𝑢𝑖𝑛 + (1 − 𝜃)𝜌𝑘∆𝑡𝐺𝑖
𝑛)𝑑Ω (4.21)
Cette équation représente la formulation faible complète de l’équation de Navier-Stokes. La
forme faible de l’équation de continuité est obtenue comme suit :
∫ 𝑞𝜕𝑢𝑗
𝑛+1
𝜕𝑥𝑗= 0
Ω
(4.22)
Avec q étant la fonction de pondération pour la pression.
Pour simplifier la notation dans l’équation suivante, les termes sont au pas de temps n+1,
sauf indication contraire. En introduisant les méthodes de stabilisation pour la vitesse et la
pression SUPG/PSPG, la formulation faible précédente s’exprime :
Trouver 𝒖𝒊𝒉 ∈ 𝑺𝒖𝒊
𝒉 et 𝒑𝒉 ∈ 𝑺𝒑𝒉 de telle sorte que ∀𝒘𝒊
𝒉 ∈ 𝝑𝒖𝒊𝒉 et ∀𝒒𝒉 ∈ 𝝑𝒑
𝒉
Ω Γℎ
Ω1
Ω2
72
1
𝜃∆𝑡∫ 𝒘𝒊
𝒉𝝆𝒌𝒖𝒊𝒉
𝛀
𝒅𝛀 +∫ 𝒘𝒊𝒉𝝆𝒌𝒖𝒋
𝒉𝛛𝒖𝒊
𝒉
𝛛𝒙𝒋𝒅𝛀
𝛀
−∫ 𝒘𝒊𝒉𝝈𝒊𝒋𝒏𝒋𝒅𝛀
𝛀
+∫ 𝒒𝒉𝝏𝒖𝒋
𝒉
𝝏𝒙𝒋𝒅𝛀
Ω
+∑∫ 𝝉𝒆 (𝒖𝒋𝒉𝛛 𝒘𝒊
𝒉
𝛛𝒙𝒋+𝟏
𝝆𝒌
𝛛𝒒𝒉
𝛛𝒙𝒊) . [
𝟏
𝜽∆𝒕𝝆𝒌𝒖𝒊
𝒉 + 𝝆𝒌𝒖𝒋𝒉𝛛𝒖𝒊
𝒉
𝛛𝒙𝒋− 𝒇𝒌,𝒊
𝒉
𝜴𝒆𝒆𝒍
𝒏𝒆𝒍
𝒆=𝟏
−𝛛𝝈𝒊𝒋
𝒉
𝛛𝒙𝒋−𝟏
𝜽∆𝒕(𝝆𝒌𝒖𝒊
𝒏 + (𝟏 − 𝜽)𝝆𝒌∆𝒕𝑮𝒊𝒏)]𝒅𝛀 +∫ 𝝈𝒊𝒋
𝒉𝛛𝒘𝒊
𝒉
𝛛𝒙𝒋𝒅𝛀
𝛀
−∫ 𝒘𝒊𝒉𝒇𝒌,𝒊
𝒉𝒅𝛀 𝛀
=𝟏
𝜽∆𝒕∫ 𝒘𝒊
𝒉
𝛀
(𝝆𝒌𝒖𝒊𝒏 + (𝟏 − 𝜽)𝝆𝒌∆𝒕𝑮𝒊
𝒏)𝒅𝛀 (4.23)
Avec comme condition initiale 𝑢𝑖ℎ(𝑥, 0) = 0 , le terme de stabilisation avec le signe de
sommation ∑𝒏𝒆𝒍𝒆=𝟏 représente le résidu de l’équation discrétisée par rapport au temps
III-Opérateur Laplace Beltrami
L’évaluation de la courbure des interfaces demande des fonctions Level-set¨ très lisses, c’est
pour cette raison qu’on utilisera l’opérateur Laplace Beltrami. L’approximation de la
courbure sera basée sur l’opérateur Laplace- Beltrami (Bobenko, 2007), qui est une
généralisation de l’opérateur Laplacien aux variétés riemanniennes.
Le terme de courbure intervient dans le terme de la force de tension superficielle dans
l’expression de l’équation de Navier-Stokes.
On définit d’abord l’opérateur identité comme suit :
IdΓ: Γ → ℝ3
IdΓ(𝑥) = (𝑥1, 𝑥2, 𝑥3)𝑇
∇(IdΓ)𝑗 = 𝑒𝑗 1 ≤ 𝐽 ≤ 3
∇Γ(IdΓ)𝑗 = 𝑷𝑒𝑗 (4.24)
73
𝛁𝚪 Étant le gradient surfacique au niveau de l’interface et 𝑷 l’opérateur de projection.
On a le résultat suivant, prouvé en annexe A :
divΓ[∇Γ(IdΓ)𝑗] = divΓ[𝑷𝑒𝑗 ] (4.25)
On sait que par définition :
𝑷 = (Ι − �� ⨂�� )
Donc
𝑷𝑒𝑗 = (Ι − �� ⨂�� ). 𝑒𝑗
= 𝑒𝑗 − �� ⨂�� . 𝑒𝑗
Donc finalement
divΓ[𝑷𝑒𝑗 ] = divΓ(𝑒𝑗 ) − divΓ[�� ⨂�� . 𝑒𝑗 ]
= −divΓ[�� ⨂�� . 𝑒𝑗 ] (4.26)
divΓ(𝑒𝑗 ) = 0
On sait que pour tous vecteurs 𝑎 , �� , 𝑐 . On a la relation suivante (prouvée en annexe) :
(𝑎 ⨂�� ). 𝑐 = 𝑎 (�� . 𝑐 )
Donc
�� ⨂�� . 𝑒𝑗 = �� (�� . 𝑒𝑗 )
(�� . 𝑒𝑗 ) = 𝑛𝑗 Projection de �� sur 𝑒𝑗
En remplaçant, on trouve
divΓ[𝑷𝑒𝑗 ] = −divΓ[�� . 𝑛𝑗] (4.27)
En appliquant, la propriété suivante prouvée en annexe A :
divΓ[Φ(𝑥)�� (𝑥)] = Φ(𝑥)divΓ[�� (𝑥)]
74
Donc l’équation précédente, devient
divΓ[𝑷𝑒𝑗 ] = −𝑛𝑗divΓ[�� ]
divΓ[∇Γ(IdΓ)𝑗] = divΓ[𝑷𝑒𝑗 ]
= −𝑛𝑗divΓ[�� ] = −𝑛𝑗𝜅 (4.28)
On sait que :
divΓ[∇Γ] = ∆Γ
divΓ[∇Γ(IdΓ)𝑗] = ∆Γ(IdΓ)𝑗 (4.29)
III-1-Cas où le coefficient de tension superficielle est constant
Dans le cas où 𝛾 est constant, l’expression de la force de tension superficielle est de la forme
suivante
𝐹 = 𝛾𝜅�� (4.30)
Dans la formulation faible des équations de Navier–Stokes, le terme relatif à la force de
tension superficielle est multiplié par la fonction test de l’espace des éléments finis 𝑣 et
intégré sur le domaine.
En multipliant par la fonction test et en intégrant sur le domaine Γ on aura :
∫ 𝐹 . 𝑣 Γ
𝑑𝑠 = ∫ 𝛾𝜅 𝑛 . 𝑣 Γ
𝑑𝑠
= −∫ 𝛾∆ΓIdΓ(𝑥). 𝑣 Γ
𝑑𝑠 (4.31)
Pour toute surface fermée Γ et pour toute fonction vectorielle𝑓 définit dans Γ on a :
75
∫ ∇ Γ. 𝑓 Γ
𝑑𝑠 = ∫ 𝜅𝑓 . �� Γ
𝑑𝑠 + ∮ 𝑓 . 𝑡 𝜕Γ
𝑑(𝜕𝐴) (4.32)
Si Γ est une surface ouverte alors la relation se réduit à :
∫ ∇ Γ. 𝑓 Γ
𝑑𝑠 = ∫ 𝜅𝑓 . �� Γ
𝑑𝑠 (4.33)
Si on remplace 𝑓 = ℎ(∇ Γ)𝑔 on aura :
∫ ∇ Γ. (ℎ(∇ Γ)𝑔) Γ
𝑑𝑠 = ∫ 𝜅(ℎ(∇ Γ)𝑔). �� Γ
𝑑𝑠 (4.34)
∫ [(∇ Γ)𝑖ℎ(∇ Γ)𝑖𝑔 + ℎ(∇ Γ)𝑖2𝑔]
Γ
𝑑𝑠 = ∫ 𝜅 ℎ(∇ Γ)𝑖𝑔 𝑛𝑖Γ
𝑑𝑠
∑(∇ Γ)𝑖𝑔 𝑛𝑖
3
𝑖=1
= 𝑛𝑇𝑷∇ Γ𝑔
= 𝑛𝑇(Ι − 𝑛 ⨂𝑛)∇ 𝑔
= 0
Donc l’équation précédente se réduit à :
∫ ∇ Γℎ. ∇ Γ𝑔𝑑𝑠Γ
= −∫ ℎ∇ Γ2𝑔
Γ
𝑑𝑠 = −∫ ℎ ∆Γ𝑔Γ
𝑑𝑠 (4.35)
Dans le cas de deux fonctions vectorielles, on aura :
∫ ∇ Γℎ . ∇ Γ𝑔 𝑑𝑠Γ
= −∫ ℎ . ∆Γ𝑔 Γ
𝑑𝑠 (4.36)
En appliquant, le dernier résultat (4.36) à (4.31) :
76
∆ΓIdΓ(𝑥) = 𝜅��
−∫ 𝛾Γ
∆ΓIdΓ(𝑥). 𝑣 𝑑𝑠 = ∫ 𝛾∇ Γ𝑣 . ∇ ΓIdΓ(𝑥) 𝑑𝑠Γ
= 𝑓Γ(𝑣 )
Donc finalement on a l’égalité suivante
𝑓Γ(𝑣 ) = ∫ 𝛾𝜅 𝑛 . 𝑣 Γ
𝑑𝑠 = −∫ 𝛾Γ
(∆ΓIdΓ). 𝑣 𝑑𝑠
= ∫ 𝛾∇ Γ𝑣 . ∇ ΓIdΓ 𝑑𝑠Γ
(4.37)
Cette égalité nous permet d’exprimer la courbure 𝜅 soit en fonction de l’opérateur Laplace-
Beltrami de l’identité relatif à l’interface Γ, soit du produit scalaire du gradient surfacique de
l’identité et du gradient surfacique de la fonction teste.
III-2-Cas où le coefficient de tension superficielle est variable
Le coefficient de tension superficielle 𝛾 n’est pas constant, donc il y aura un terme
supplémentaire dû à l’effet Marangoni.
Donc la force de tension superficielle sous la formulation faible dans ce cas-là est exprimée
de la manière suivante :
𝑓Γ(𝑣 ) = ∫ (𝛾𝜅 𝑛 − ∇ Γ𝛾). 𝑣 Γ
𝑑𝑠
= ∫ (𝛾(−∆ΓIdΓ) − ∇ Γ𝛾). 𝑣 Γ
𝑑𝑠
= ∫ −(∆ΓIdΓ). (𝛾𝑣 )Γ
𝑑𝑠 − ∫ ∇ Γ𝛾.Γ
𝑣 𝑑𝑠 (4.38)
77
Mais on sait que :
−∫ ∆Γ(𝑔)Γ
. (𝛾ℎ)𝑑𝑠 = ∫ ∇ Γ(𝛾ℎ). ∇ Γ𝑔 𝑑𝑠Γ
Donc
∫ −(∆ΓIdΓ). (𝛾𝑣 )Γ
𝑑𝑠 = ∫ ∇ Γ(𝛾𝑣 )Γ
. ∇ Γ(IdΓ)𝑑𝑠
Donc
𝑓Γ(𝑣 ) = ∫ ∇ Γ(𝛾𝑣 )Γ
. ∇ Γ(IdΓ)𝑑𝑠 − ∫ (∇ ΓΓ
𝛾). 𝑣 𝑑𝑠 (4.39)
Sachant que
∇ (𝛾𝑣 ) = ∇ 𝛾. 𝑣 + 𝛾∇ 𝑣
Donc
𝑓Γ(𝑣 ) = ∫ [(∇ 𝛾. 𝑣 + 𝛾∇ 𝑣 )Γ
. ∇ Γ(IdΓ)]𝑑𝑠 − ∫ ∇ ΓΓ
𝛾. 𝑣 𝑑𝑠
𝑓Γ(𝑣 ) = ∫ [(∇ 𝛾. 𝑣 ). ∇ Γ(IdΓ) + (𝛾∇ 𝑣 )Γ
. ∇ Γ(IdΓ)]𝑑𝑠 − ∫ ∇ ΓΓ
𝛾. 𝑣 𝑑𝑠 (4.40)
𝑓Γ(𝑣 ) =∑(∫ [(∇ 𝛾. 𝑣 ) . ∇ Γ(IdΓ)𝑖 + (𝛾∇ 𝑣 )𝑖. ∇ Γ(IdΓ)𝑖Γ
]𝑑𝑠) − ∫ ∇ ΓΓ
𝛾. 𝑣 𝑑𝑠
3
𝑖=1
(4.41)
78
IV- Méthode Nitsche
IV-1-Introduction
Initialement, la méthode Nitsche a été développée pour traiter les conditions aux limites de
type Dirichlet (Nitsche. J 1971) pour les exprimer sous la formulation faible dans le contexte
de la méthode des éléments finis FEM. Cette méthode est très efficace à cet effet, ajouté à
cela le fait qu’elle préserve le taux de convergence et donne plus de précision que les
approches classiques. Après avoir atteint une certaine maturité et avoir prouvé sa robustesse
surtout dans le domaine de recherche des interactions fluide/structure (FSI) (Hansbo et al
2004); (Burman, et al 2007), la méthode Nitsche a été développée dans le contexte des
écoulements diphasiques pour décrire les conditions de saut au niveau de l’interface de
séparation entre deux fluides non miscibles.
Dans cette section, nous allons présenter la méthode Nitsche à travers des exemples, en
premier lieu pour le cas des conditions aux limites de type Dirichlet, ensuite dans le cas de
discontinuités (sauts) au niveau de l’interface de séparation.
IV-2-Nitsche pour le traitement des conditions aux limites de type Dirichlet
La méthode Nitsche a été introduite par Nitsche (1971) dans le but de capturer les conditions
aux limites de type Dirichlet dans la méthode des éléments finis classiques et l’exprimer sous
une forme faible particulière. La méthode Nitsche est un cas particulier de la méthode du
multiplicateur de Lagrange (Everett III, (1963)).
L’idée de base derrière la formulation Nitsche est le remplacement des multiplicateurs de
Lagrange par leur représentation physique, ajouté à cela des termes de pénalité pour restaurer
la coercivité de la forme bilinéaire.
On définira la méthode Nitsche à travers des exemples. L’équation de Poisson et l’équation
de Navier-Stokes seront traitées dans cette section. Pour sa part l’équation de Stokes est
79
traitée à l’annexe (B). Le traitement de l’équation de Stokes servira de transition entre le cas
le plus simple qui est l’équation de Poisson et le cas le plus compliqué qui est l’équation de
Navier Stokes, cela permettra au fur et à mesure de connaitre les termes Nitsche
supplémentaires qui s’ajoutent.
IV-2-a-Équation de Poisson
Soit l’équation de Poisson pour une variable 𝑢, comme suit :
{−∆𝑢 = 𝑓 𝑖𝑛 Ω𝑢 = 𝑢0 𝑜𝑛 𝜕Ω
(4.42)
Où Ω est un domaine fermé, f une fonction donnée, 𝑢0 la valeur de u aux bords du domaine
Ω .
L’espace des fonctions tests �� est défini comme suit:
�� = {𝑣 ∈ 𝐻1( Ω): 𝑣 = 0 𝑜𝑛 𝜕Ω}
L’espace des fonctions d’essais est défini:
𝑉ℎ = {𝑣 ∈ 𝐻1( Ω): 𝑣 = 𝑢0 𝑜𝑛 𝜕Ω}
La formulation faible classique de l’équation de Poisson avec des conditions aux limites
imposées de type Dirichlet est définie de telle sorte qu’il faille trouver 𝑢ℎ ∈ 𝑉ℎ , soit:
( ∇(𝑢), ∇(𝑣))Ω= (𝑓, 𝑣)Ω ∀ 𝑣 ∈ 𝑉ℎ (4.43)
La formulation Nitsche pour l’équation de Poisson est définie: Trouvée 𝑢ℎ ∈ 𝑉ℎ ⊂ 𝐻1( Ω)
de telle sorte que :
𝑎(𝑢ℎ, 𝑣) = 𝐿(𝑣) ∀ 𝑣 ∈ 𝑉ℎ (4.44)
La formulation Nitsche classique du problème s’écrit :
80
{
𝑎ℎ(𝑢, 𝑣) = ( ∇(𝑢), ∇(𝑣))Ω −<
(∇𝑢). �� , 𝑣 >∂Ω
−< 𝑢, (∇𝑣). �� >∂Ω+ 𝜆∂Ω < 𝑢, 𝑣 >∂Ω𝐿ℎ(𝑣) = (𝑓, 𝑣)Ω − < 𝑢0, (∇𝑣). �� >∂Ω + 𝜆∂Ω
< 𝑢0, 𝑣 >∂Ω
(4.45)
La méthode est consistante et a une estimation de l’erreur optimale de la norme ‖𝑣‖1,ℎ2 =
‖𝑣‖12 +< 𝑣, 𝑣 >1,ℎ,∂Ω
La formulation asymétrique s’écrit :
{
𝑎ℎ(𝑢, 𝑣) = ( ∇(𝑢), ∇(𝑣))Ω −<(∇𝑢). �� , 𝑣 >∂Ω
+< 𝑢, (∇𝑣). �� >∂Ω+ 𝜆∂Ω < 𝑢, 𝑣 >∂Ω𝐿ℎ(𝑣) = (𝑓, 𝑣)Ω + < 𝑢0, (∇𝑣). �� >∂Ω + 𝜆∂Ω < 𝑢0, 𝑣 >∂Ω
(4.46)
Où 𝜆∂Ω > 0 et constant, qu’on appelle paramètre de stabilisation. Dans notre exemple, on
prendra 𝜆∂Ω = 2 où �� est le vecteur unitaire normal sortant aux contours ∂Ω du domaine.
Pour tester la validité de cette méthode, prenons par exemple un domaine Ω en 2D Ω ⊂ ℝ2
délimité par ∂Ω. �� le vecteur normal sortant a ∂Ω.
Dans cet exemple, nous considérons un domaine unitaire carré [0,1] Χ [0,1] avec un nombre
de cellules N×N. Nous allons prendre le nombre de cellules N variable dans chaque cas teste.
Ensuite, nous allons comparer chaque résultat obtenu via la méthode Nitsche avec la solution
analytique exacte et calculer l’erreur quadratique 𝐿2. La formulation faible FEM est couplée
avec la formulation Nitsche.
On prendra comme solution exacte du problème de Poisson 2D dans l’espace cartésien (x,y)
la solution suivante :
𝑢𝑒𝑥𝑎𝑐𝑡 = 𝑥𝑦 + sin(Π 𝑥) × sin(Π 𝑦)
𝑓 = 2Π2 × sin(Π 𝑥) × sin(Π 𝑦) (4.47)
On définit l’erreur 𝑒 = 𝑢ℎ − 𝑢
On définit aussi le taux =ln(
𝑒
𝑒_)
ln (ℎ
ℎ_)
ℎ_ = 𝑁𝑋ℎ
81
Avec ℎ_ = ℎ𝑖−1 si ℎ = ℎ𝑖
𝑒_ = 𝑒𝑖−1 si 𝑒 = 𝑒𝑖
En testant pour différents nombres de cellules N=8, 16, 32, 64, 128. Dans chaque cas nous
aurons h, l’erreur e et la représentation 2D de la solution 𝑢ℎ .Après des tests numériques,
nous obtenons les tableaux suivants :
Tableau 4.1 : Valeur de h, l’erreur et le taux pour différentes valeurs du nombre de cellules
N
La solution 𝑢ℎ pour différentes valeurs de N est donnée dans le tableau suivant :
Nombre de cellules h Erreur Taux
N=8 1.768E-01 2.672E-02 1.51
N=16 8.839E-02 7.535E-03 1.67
N=32 4.419E-02 1.970E-03 1.76
N=64 2.210E-02 5.025E-04 1.81
N=128 1.105E-02 1.269E-04 1.84
82
Nombre de
cellules Solution 𝑢ℎ
N=8
N=16
N=32
N=64
N=128
Tableau 4.2 : Solution 𝑢ℎ pour différentes valeurs de N
83
On tracera la figure (4.4) qui représente la variation de log(e) et de log(h) en fonction de N,
on voit très bien que les deux courbes décroissent en augmentant le nombre de cellules N.
La figure 4.4 : Variation de log(e) et de log(h) en fonction du nombre de mailles N
Figure 4.5 : Variation de log(e) en fonction de log(h)
La figure (4.5) représente la convergence du maillage, qui définit l’ordre de convergence de
la méthode numérique (l’ordre est le saut dans la courbure du maillage), comme on peut le
voir les termes ajoutés de la méthode Nitsche ne dégradent pas l’ordre de convergence de la
méthode.
-1,7327
-2,4259
-3,1192
-3,8121
-4,5053-5
-4
-3
-2
-1
0
-3,6223 -4,881 -6,2297 -7,5959 -8,9721
Log(
e)
Log(h)
84
Figure 4.6 : Variation de log(h) en fonction de log(e) pour différentes valeurs de 𝜆∂Ω
La figure (4.6) représente la variation de log(h) en fonction de log(e) pour différentes valeurs
du paramètre de stabilisation 𝜆∂Ω .Comme on peut le voir les courbes ont plus au moins la
même allure avec des valeurs différentes de 𝜆∂Ω.
IV-2-b-Équation de Navier Stokes
L’objectif de cette section est de définir les termes Nitsche dans le cas des équations de
Navier-Stokes. On considère un domaine 2D Ω ⊂ ℝ2, avec une paroi extérieure 𝜕Ω. Les
conditions aux limites au niveau des parois sont de type Dircichlet.
La variation de la vitesse 𝑢(𝑥) et de la pression 𝑝(𝑥) est gouvernée par les équations de
Navier Stokes isothermes et incompressibles.
L’équation de Navier Stokes et la conservation de la masse pour un fluide incompressible
isotherme est :
{𝜌𝑢. ∇(𝑢) − ∇. 𝜎 = 𝐹 𝑖𝑛 Ω ∇. 𝑢 = 0 𝑖𝑛 Ω
(4.48)
Avec 𝜎(�� , 𝑝) , étant le tenseur de contrainte définie comme :
𝜎(�� , 𝑝) = −𝑝𝐼 + 2𝜇𝐷(�� ) (4.49)
-10
-8
-6
-4
-2
0
-1,7327 -2,4259 -3,1192 -3,8121 -4,5053
log(
h)
log(e)
λ_∂Ω=2
λ_∂Ω=3
λ_∂Ω=4
λ_∂Ω=20
85
Comme conditions aux limites du problème, nous allons prendre une pression à l’entrée égale
à 𝑝𝑖𝑛 = 1000 𝑃𝑎 et une vitesse �� 𝑖𝑛 = (sin(𝜋𝑦) , 0). 𝐹 la force externe volumétrique qui
agit à l’intérieur du fluide est elle est prise égale à l’unité ‖𝐹 ‖ = 1. La densité est égale à
𝜌 = 1000𝑘𝑔/𝑚3 et la viscosité dynamique 𝜇 = 1 𝑃𝑎. 𝑠.
Notre domaine est rectangulaire avec un maillage quadratique, avec une longueur de 10 cm
et une hauteur de 2 cm. Ω = [0,10] × [0,2]. Le nombre de cellules total est de 2500.
Dans cette section, nous allons prendre le cas où il existe un glissement du fluide sur les
parois (¨free slip¨) ensuite le cas où il n’y a pas de glissement du fluide sur les parois (no
slip), pour l’équation de Navier-Stokes stationnaire pour un fluide incompressible en utilisant
la formulation Nitsche pour décrire les conditions de Dirichlet.
Cas d’existence de glissement au niveau des parois (¨free slip case¨)
Ce cas-là correspond aux conditions 𝑢 . �� = 0 et 𝑢 . 𝑡 ≠ 0 sur les parois, la composante normale
des vitesses est nulle tandis ce que la composante tangentielle ne l’est pas. La formulation
Nitsche des conditions de Dirichlet pour l’équation de Navier-Stokes dans le cas d’existence
de glissement pour la partie volumique s’écrit :
{
𝑎(𝑢, 𝑣) = ( ∇(𝑢). 𝑢, 𝑣)Ω − ( p, ∇. (v))Ω − ( q, ∇.(u))
Ω
+(2𝜇𝐷(𝑢),𝐷(𝑣))Ω𝐿 = (𝑓, 𝑣)Ω
(4.50)
Pour les termes Nitsche relatifs aux conditions aux limites de type Dirichlet dans le cas
d’existence de glissement, le tableau suivant donne les termes Nitsche au niveau des
conditions aux frontières (Entrée, sortie, paroi) (¨Inlet¨, ¨Outlet¨, ¨wall¨)
86
Inlet
Termes
ajoutés à
a(u,v)
inlet inlet
2 . , ,2 .D u n v u D v n
inlet inlet
, . , , , .u p n v u v q n
1 ,inlet
u vh
Termes
ajoutés à
L(v)
−< uinlet, σ(v, q). n >inlet+ (β1μ
h)
< uinlet, v >inlet
Outlet
Termes
ajoutés à
a(u,v)
outlet outlet
, . , , , .u p n v u v q n
1 ,outlet
u vh
Termes
ajoutés à
L(v)
−< 𝑝𝑖𝑜 . 𝑛, 𝑣 >outlet
Wall
Termes
ajoutés à
a(u,v)
wall wall
, . , . . , , .u p n v n u n v q n
1 . , .
wallu n v n
h
Termes
ajoutés à
L(v)
−< 𝑢𝑤𝑎𝑙𝑙 , 𝜎(𝑣, 𝑞). 𝑛 >wall
+ (𝛽1𝜇
ℎ) < 𝑢𝑤𝑎𝑙𝑙 , 𝑣 >𝑤𝑎𝑙𝑙
Tableau (4.3) : Termes Nistche ajoutés à la forme linéaire et bilinéaire de l’équation de
Navier-Stokes dans le cas d’existence de glissement
Après implémentation de ces équations avec les conditions aux limites spécifiées, nous
obtenons les résultats suivants
87
(a) (b)
Figure 4.7 :(a) Représentation de la vitesse au milieu du domaine, (b) Évolution de la
pression dans le domaine
Comme on peut le remarquer dans la figure (4.8), la vitesse au niveau de la paroi n’est pas
nulle comme ç’a été imposé par les conditions de non-glissement.
Figure 4.8 : Distribution des vitesses dans le domaine
Figure 4.9 : Distribution des pressions dans le domaine
V(m/s)
H(cm)
P (Pa)
L(cm)
V(m/s)
P(Pa)
88
Cas d’absence de glissement au niveau des parois (No slip case)
L’absence de glissement se traduit par les conditions suivantes 𝑢 . �� = 0 et 𝑢 . 𝑡 = 0 au
niveau des parois. On impose des conditions sur les composantes des vitesses normales et
tangentielles pour qu’elles soient nulles.
La formulation Nitsche des conditions de Dirichlet sera différente du cas précèdent.
La partie volumique s’écrit :
{
𝐴 = ( ∇(𝑢). 𝑢, 𝑣)Ω + ( 𝜇∇(𝑢), ∇(𝑣))Ω − ( p, ∇.(v))
Ω
−( q, ∇. (u))Ω− ( 𝜇∇(𝑢). 𝑛, v)Ω
𝐿 = (𝑓, 𝑣 )Ω
(4.51)
Le tableau suivant nous donne les différents termes qu’on ajoutera à la forme linéaire et
bilinéaire selon la nature des parois (Entrée, sortie, paroi) (Inlet, Outlet, wall) pour obtenir la
formulation Nitsche finale.
Inlet
Termes ajoutés
à A (u, v)
< 𝑝. 𝑛, 𝑣 >inlet −< 𝜇∇(𝑢). 𝑛, 𝑣 >inlet
+< 𝑞. 𝑛, 𝑢 >inlet −< 𝜇∇(𝑣). 𝑛, 𝑢 >inlet
+(𝛽𝜇
ℎ) < 𝑢, 𝑣 >𝑖𝑛𝑙𝑒𝑡
Termes ajoutés
à L(v)
+< 𝑞. 𝑛, 𝑢inlet >inlet
−< 𝑢𝑖𝑛𝑙𝑒𝑡, 𝜇∇(𝑣). 𝑛 >𝑖𝑛𝑙𝑒𝑡
89
+(𝛽1𝜇
ℎ) < 𝑢𝑖𝑛𝑙𝑒𝑡, 𝑣 >𝑖𝑛𝑙𝑒𝑡
Outlet
Termes ajoutés
à A (u, v)
Pas de termes
Termes ajoutés
à L(v)
−< 𝑝𝑖𝑜. 𝑛, 𝑣 >outlet
Wall
Termes ajoutés
à A (u, v)
Pas de termes
Termes ajoutés
à L(v)
−< 𝑢𝑤𝑎𝑙𝑙 , 𝑞. 𝑛 >wall
+(𝛽1𝜇
ℎ) < 𝑢𝑤𝑎𝑙𝑙 , 𝜇∇(𝑣). 𝑛 >𝑤𝑎𝑙𝑙
Tableau 4.4 : Termes Nistche ajoutés à la forme linéaire et bilinéaire de l’équation de
Navier-Stokes dans le cas d’absence de glissement
Figure 4.10 : Distribution des vitesses dans le cas d’absence de glissement
V(m/s)
90
Figure 4.11 : Distribution des vitesses dans une section verticale
Figure 4.12 : Distribution de la pression dans le centre de la géométrie
IV-3-Nitsche pour le traitement des conditions de sauts au niveau de l’interface entre
de deux domaines non miscibles
-Passage de la méthode du Multiplicateur de Lagrange vers la méthode Nitsche :
Dans cette section, nous allons démontrer le passage de la méthode du multiplicateur de
Lagrange vers la méthode Nitsche. Pour cela, nous allons prendre le cas de l’équation de
V(m/s)
H(cm)
P (Pa)
L(cm)
91
Poisson dans le cas de deux domaines de propriétés physiques différentes, séparés par une
interface.
Prenons un domaine de calcul à deux dimensions Ω ⊂ 𝑅2 avec une frontière lisse par
morceaux 𝜕Ω , Γ étant l’interface de séparation entre les deux domaines avec des propriétés
physiques différentes et �� le vecteur normal à cette interface.
Figure 4.13 : Domaine bi matériel
Les deux domaines Ω+ et Ω− sont de natures physiques différentes, donc il y a existence de
saut au niveau de l’interface de séparation. L’équation et les conditions aux limites pour ce
genre de problème sont les suivants :
−∇. (𝑘𝑖∇𝑢𝑖) = 𝑓 𝑑𝑎𝑛𝑠 Ω𝑖 𝑖 = 1,2 (4.52)
𝑢𝑖 = 0 𝑠𝑢𝑟 𝜕Ω
⟦𝑢⟧ = 𝑢1 − 𝑢2 = 0 𝑠𝑢𝑟 Γ
La continuité du flux au niveau de l’interface Γ est décrite par la condition suivante
𝑘1𝜕𝑢1𝜕𝑛1
+ 𝑘2𝜕𝑢2𝜕𝑛2
= 0 𝑠𝑢𝑟 Γ (4.53)
Le domaine d’étude est divisé en deux espaces ℑ1ℎ et ℑ2
ℎ pour chacun des deux domaines Ω1
and Ω2 respectivement. Nous définissons ensuite l’espace ℊ𝑖ℎ pour l’interface de séparation
Γ, pour le multiplicateur de Langrange.
92
On dénotera 휀1ℎ et 휀2
ℎ les espaces pour les bords et les faces dans ℑ1ℎ et ℑ2
ℎ respectivement.
Soit 𝑢𝑖 la solution appartenant au domaine V𝑖 de telle sorte :
V𝑖 = {𝑣 ∈ 𝐻1(Ω𝑖):
𝜕𝑣𝑖𝜕𝑛𝑖|Γ
∈ 𝐿2(Γ), 𝑣|∂Ω = 0} 𝑖 = 1,2
Le sous-espace éléments finis est défini:
𝑉𝑖ℎ = {𝑣 ∈ 𝐻1(Ω𝑖): 𝑣|𝐾 ∈ ℘
𝑝(𝐾) ∀𝐾 ∈ ℑ𝑖ℎ} 𝑖 = 1,2
Pour le multiplicateur de Lagrange, on a aussi besoin d’un espace
Λ𝐻 = {𝑣 ∈ 𝐿2(Γ): 𝑣|𝐸 ∈ ℘��(𝐸) ∀𝐸 ∈ ℊ
𝑖ℎ} 𝑖 = 1,2
℘𝑝 dénote les polynômes de degrés ≤ ��
Le multiplicateur de Lagrange est énoncé de la sorte : trouver (𝑢, 𝜆) ∈ 𝑉 × 𝐿2(Γ) de telle
sorte que :
ℛ(𝑢, 𝜆; 𝑣, 𝜇) = ℱ(𝑣) ∀(𝑣, 𝜇) ∈ 𝑉 × 𝐿2(Γ)
On peut noter que les deux paramètres 𝜆 et 𝜇 appartiennent à 𝐿2(Γ), ces paramètres sont
définis à l’interface.
ℛ(𝑢, 𝜆; 𝑣, 𝜇) =∑(𝑘𝑖∇𝑢𝑖 , ∇𝑣𝑖)Ω𝑖
2
𝑖=1
− (𝜆, ⟦𝑣⟧)Γ − (𝜇, ⟦𝑢⟧)Γ 𝑖 = 1,2 (4.54)
ℱ(𝑣) =∑(𝑓, 𝑣𝑖)Ω𝑖
2
𝑖=1
𝑖 = 1,2 (4.55)
Avec le saut de 𝑣 sur Γ est définie
⟦𝑣⟧ = 𝑣2 − 𝑣1
93
On définit le multiplicateur de Lagrange comme :
𝜆 = k1𝜕u1𝜕𝑛
= k2𝜕u2𝜕𝑛 (4.56)
Qui a la dimension d’un flux à travers l’interface de séparation Γ entre les deux domaines
aux propriétés physiques différentes, on définit aussi �� = 𝑛1 = − 𝑛2
On utilisera une méthode de stabilisation pour éviter les oscillations des solutions, la méthode
de stabilisation consiste à ajouter des termes qui vont servir à stabiliser la méthode
On définit h𝑖: Ω𝑖 → ℝ, 𝑖 = 1,2 de telle sorte que :
h𝑖(𝑥) = {h𝐾 𝑠𝑖 𝑥 ∈ 𝐾,𝐾 ∈ ℑ𝑖
ℎ
h𝐸 𝑠𝑖 𝑥 ∈ 𝐸, 𝐸 ∈ 휀𝑖ℎ
Prenons la technique de stabilisation présentée dans Babuška, I. (1973) :
−1
𝛾 ((ℎ1𝑘1)
12(𝜆 − 𝑘1
𝜕𝑢1𝜕𝑛) + (
ℎ2𝑘2)
12(𝜆 − 𝑘2
𝜕𝑢2𝜕𝑛) , (ℎ1𝑘1)
12(𝜇 − 𝑘1
𝜕𝑣1𝜕𝑛)
+ (ℎ2𝑘2)
12(𝜇 − 𝑘2
𝜕𝑣2𝜕𝑛) ) = 0 (4.57)
Dans lequel 𝛾 est un paramètre de stabilisation.
Soient 𝛼1 et 𝛼2définis comme suit
𝛼1 =(𝑘2ℎ1)
1/2
(𝑘2ℎ1)1/2 + (𝑘1ℎ2)1/2 𝑒𝑡 𝛼2 =
(𝑘1ℎ2)1/2
(𝑘2ℎ1)1/2 + (𝑘1ℎ2)1/2
Si on définit le flux moyen :
[𝑘𝜕𝑣
𝜕𝑛] = 𝛼1𝑘1
𝜕𝑣1𝜕𝑛
+ 𝛼2𝑘2𝜕𝑣2𝜕𝑛 (4.58)
𝛼𝑖: Γ → ℝ , avec 0 ≤ 𝛼𝑖 ≤ 1 et 𝛼1 + 𝛼2 = 1
On définit 𝛽: Γ → ℝ
94
𝛽 = (ℎ1𝑘1)1/2 + (
ℎ2𝑘2)1/2 =
(𝑘2ℎ1)1/2 + (𝑘1ℎ2)
1/2
(𝑘1𝑘2)1/2 (4.59)
Avec un calcul direct nous avons
(ℎ1𝑘1)
12(𝜇 − 𝑘1
𝜕𝑣1𝜕𝑛) + (
ℎ2𝑘2)
12(𝜇 − 𝑘2
𝜕𝑣2𝜕𝑛) = 𝛽 (𝜇 − [𝑘
𝜕𝑣
𝜕𝑛]) (4.60)
Le paramètre de stabilisation sera
−1
𝛾(𝛽2 (𝜆 − [𝑘
𝜕𝑣
𝜕𝑛]) , (𝜇 − [𝑘
𝜕𝑣
𝜕𝑛]))
Γ
= 0 (4.61)
La forme bilinéaire avec le terme de stabilisation s’écrira
ℛℎ(𝑢, 𝜆; 𝑣, 𝜇) =∑(𝑘𝑖∇𝑢𝑖 ,∇𝑣𝑖)Ω𝑖
2
𝑖=1
− (𝜆, ⟦𝑣⟧)Γ − (𝜇, ⟦𝑢⟧)Γ
−1
𝛾(𝛽2 (𝜆 − [𝑘
𝜕𝑢
𝜕𝑛]) , (𝜇 − [𝑘
𝜕𝑣
𝜕𝑛]))
Γ
(4.62)
Le problème stabilisé est de trouver le couple (𝑢ℎ, 𝜆𝐻) ∈ 𝑉ℎ × Λ𝐻 de telle sorte que;
ℛℎ(𝑢ℎ, 𝜆𝐻; 𝑣, 𝜇) = ℱ(𝑣) ∀(𝑣, 𝜇) ∈ 𝑉ℎ × Λ𝐻 (4.63)
Qui est la formulation de notre problème initial avec la méthode du multiplicateur de
Lagrange.
Définissons la méthode Nitsche à partir la méthode du multiplicateur de Lagrange associée.
L’idée principale est de résoudre le Multiplicateur de Lagrange comme une fonction à flux
variable et remplacer la valeur dans l’équation.
On supposera qu’il existe un couple unique (𝑢ℎ, 𝜆𝐻) ∈ 𝑉ℎ × Λ de telle sorte que la première
équation soit satisfaite.
En testant avec (0, 𝜇) ∈ 𝑉ℎ × Λ𝐻 , on trouve
95
ℛℎ(𝑢ℎ, 𝜆𝐻; 0, 𝜇) = −(𝜇, ⟦𝑢ℎ⟧)Γ −1
𝛾(𝛽2 (𝜆𝐻 − [𝑘
𝜕𝑢ℎ
𝜕𝑛]) , 𝜇)
Γ
= 0 (4.64)
Avec 𝛽 constant par morceaux
(𝜆𝐻,𝜇)Γ = ([𝑘𝜕𝑢ℎ
𝜕𝑛]− 𝛾𝛽−2⟦𝑢ℎ⟧, 𝜇)
Γ
(4.65)
Nous pouvons écrire pour n’importe quelle valeur de 𝜇 ∈ Λ𝐻, l’interpretation
𝜆𝐻 = Π𝐻 [𝑘𝜕𝑢ℎ
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑢ℎ⟧) (4.66)
Dans laquelle Π𝐻: 𝐿2(Γ) → Λ𝐻 dénote la projection 𝐿2
Avec la même démarche, on peut obtenir 𝜇𝐻
𝜇𝐻 = Π𝐻 [𝑘𝜕𝑣ℎ
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑣ℎ⟧) (4.67)
ℛℎ (𝑢, Π𝐻 [𝑘𝜕𝑢
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑢⟧); 𝑣, Π𝐻 [𝑘
𝜕𝑣
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑣⟧))
=∑(𝑘𝑖∇𝑢𝑖 , ∇𝑣𝑖)Ω𝑖
2
𝑖=1
− ([𝑘𝜕𝑢
𝜕𝑛] , ⟦𝑣⟧)
Γ− ([𝑘
𝜕𝑣
𝜕𝑛] , ⟦𝑢⟧)
Γ
+ 𝛾(Π𝐻𝛽−2⟦𝑢⟧, ⟦𝑣⟧)Γ (4.68)
La méthode Nitsche s’énonce donc ainsi : trouver 𝑢ℎ ∈ V𝐻 de telle sorte que
ℬℎ(𝑢ℎ, 𝑣) = ℱ(𝑣) ∀𝑣 ∈ Vℎ
Dans laquelle
ℬℎ(𝑢, 𝑣) = ℛℎ (𝑢, Π𝐻 [𝑘𝜕𝑢
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑢⟧); 𝑣, Π𝐻 [𝑘
𝜕𝑣
𝜕𝑛] − 𝛾Π𝐻(𝛽−2⟦𝑣⟧))
96
=∑(𝑘𝑖∇𝑢𝑖 , ∇𝑣𝑖)Ω𝑖
2
𝑖=1
− ([𝑘𝜕𝑢
𝜕𝑛] , ⟦𝑣⟧)
Γ− ([𝑘
𝜕𝑣
𝜕𝑛] , ⟦𝑢⟧)
Γ+ 𝛾(𝛽−2⟦𝑢⟧, ⟦𝑣⟧)Γ (4.69)
-Couplage de la Méthode Nitsche au niveau de l’interface dans l’équation de Navier-
Stokes dans le cas de deux fluides non miscibles
Figure 4.14 : Deux fluides non miscibles avec une interface
L’équation de Navier-Stokes pour deux fluides non miscibles avec une force de tension
superficielle localisée au niveau de l’interface s’écrit :
𝜕
𝜕𝑡(𝜌�� ) + ∇. (𝜌�� ) − 𝐹 − ∇. 𝜎 − 𝑓 𝑠(𝑥, 𝑡) = 0
Avec
𝑓 𝑠(𝑥, 𝑡) = ∫ [−𝛾κ�� + (∇Γ 𝛾 )]𝛿(𝑥 − 𝑥 𝑙(𝑠 ))𝑑𝛺𝛺
La méthode Nitsche pour l’interface de séparation entre les fluides et les conditions aux
limites de type Dirichlet sur les bords du domaine est définie comme :
Trouver (𝑢ℎ, 𝑝ℎ) ∈ 𝑊𝐻 × V𝐻 de telle sorte que :
𝐴ℎ(𝑢ℎ, 𝑝ℎ; 𝑣ℎ , 𝑞ℎ) = 𝐿ℎ(𝑣ℎ) ∀(𝑣ℎ, 𝑞ℎ) ∈ 𝑊𝐻 × Vℎ (4.70)
Ω ∂Ω 𝑛
→
𝑛→
Ω1
Ω2
97
𝐴ℎ(𝑢ℎ, 𝑝ℎ; 𝑣ℎ , 𝑞ℎ) = 𝑎ℎ(𝑢ℎ, 𝑣ℎ) + 𝑏ℎ(𝑣ℎ, 𝑝ℎ) + 𝑏ℎ(𝑢ℎ, 𝑞ℎ) (4.71)
𝑎ℎ(�� , 𝑣 ) = (2𝜇𝐷(𝑢ℎ ), 𝐷(𝑣ℎ ))Ω1∪Ω2− (2𝜇𝐷(𝑢ℎ ). �� , ⟦𝑣ℎ ⟧)Γ
− (⟦𝑢ℎ ⟧, 2𝜇𝐷(𝑣ℎ ). �� )Γ
− 𝜆Γ(⟦𝑢ℎ ⟧, ⟦𝑣ℎ ⟧)Γ − (2𝜇𝐷(𝑢ℎ ). �� , 𝑣ℎ )∂Ω − (�� , 2𝜇𝐷(𝑣ℎ ). �� )∂Ω
+𝜆∂Ω(𝑢ℎ . �� , 𝑣ℎ . �� )∂Ω (4.72)
𝑏ℎ(𝑣ℎ, 𝑝ℎ) = −< 𝑝ℎ, 𝛻. 𝑣ℎ >𝛤 +< 𝑝ℎ , ⟦𝑣ℎ⟧. �� >𝛤 (4.73)
𝑏ℎ(𝑢ℎ, 𝑞ℎ) = −< 𝑞ℎ , 𝛻. 𝑢ℎ >𝛤 +< 𝑞ℎ , ⟦𝑢ℎ⟧. �� >𝛤 (4.74)
𝐿ℎ(𝑣ℎ) = (𝑓 , 𝑣ℎ )Ω −(𝛾κ, 𝑣ℎ . �� )Γ + (∇Γ 𝛾 , 𝑣ℎ )Γ + (𝑔 , 𝜆∂Ω𝑣ℎ )∂Ω (4.75)
98
V-Méthode ¨Level-set¨
V-1-Équation de transport ¨Level-set¨
On présentera la méthode ¨Level-set¨ (Osher, S., & Sethian, J. A. (1988).) qui nous permettra
de décrire les interfaces de façon implicite. Une description implicite de l’interface définit
des interfaces comme des isolignes des fonctions ¨Level-set¨ avec le fait que l’espace des
isolignes est une dimension moindre que l’espace des fonctions ¨Level-set¨. Dans le cas où
la fonction ¨Level-set¨ 𝚽(𝒙) est une surface qui est définie pour tout 𝒙 ∈ ℝ𝒏, alors son
isoligne est définie dans l’espace ℝ𝒏−𝟏. Il y a beaucoup d’avantages associés à la
représentation des interfaces dans les dimensions supérieures.
Dans le cas de la représentation implicite, la connectivité n’a pas besoin d’un traitement
spécial et elle peut bien être faite dans un maillage cartésien uniforme en 2D ou 3D avec une
simple généralisation de la technique de ℝ2 vers ℝ3.
La fonction ¨Level-set¨ est défini de telle sorte que :
𝚽(𝐱(𝐭), 𝐭) = {
< 0 dans Ω−(𝑡)= 0 𝑠𝑢𝑟 Γ(𝑡)
> 0 dans Ω+(𝑡) (4.76)
Ou 𝒙 ∈ ℝ𝟐 et 𝒕 ∈ ℝ+ comme l’illustre la figure suivante (4.15). La formulation précédente
peut être appliquée à des dimensions plus élevées sans perdre la généralité.
Figure (4.15) Séparation d’un plan dans ℝ2 en différents domaines Ω+(𝑡) et Ω−(𝑡) avec un
contour Γ(𝑡) de la fonction ¨Level-set¨.
Ω−(𝑡)
Ω+(𝑡)
𝐱 = 𝐱𝟎
𝚪(𝐭)
99
On suppose que l’interface de séparation Γ(𝑡) évolue avec une vitesse 𝐮(𝒙, 𝒕).
L’interface est définie
𝛷(𝑥(𝑡), 𝑡) = 0
𝑑𝛷(𝑥(𝑡), 𝑡)
𝑑𝑡= 0
𝜕𝛷
𝜕𝑡+ 𝒖. 𝛻𝛷 = 0
𝜕𝛷
𝜕𝑡+ 𝑢𝑛. |𝛻𝛷| = 0 (4.77)
Où on a 𝛻𝛷 = |𝛻𝛷|𝑛 et 𝑢𝑛 = 𝒖. 𝑛
La dernière équation représente une équation d’advection pour l’interface mobile et est
connue comme l’équation ¨Level-set¨ et a été introduite par Osher, S., & Sethian, J. A.
(1988). La courbure de l’interface est définie comme suit :
𝜅(𝑥(𝑡), 𝑡) = ∇. 𝑛 (4.78)
On essayera de définir cette courbure à l’aide de 𝜱
Sachant que 𝒏 =𝜵𝜱
|𝜵𝜱|
Donc la courbure devient : 𝜿(𝒙(𝒕), 𝒕) = 𝛁. (𝜵𝜱
|𝜵𝜱|)
On définit la fonction distance dont le rôle est comme suit :
𝜱𝒅(𝒙(𝒙, 𝒕), 𝒕) = 𝐦𝐢𝐧𝒙∗∈𝚪𝒅
‖𝒙 − 𝒙∗‖ , ∀ 𝒙 ∈ ℝ𝒏 (𝟒. 𝟕𝟗)
100
D’un point de vue géométrique, pour chaque point 𝑥 ∈ ℝ𝑛 La valeur de 𝛷𝑑 represente la plus
petite distance du point par rapport à l’interface Γ.
Une des propriétés de fonction distance est :
|𝛻𝛷𝑑| = 1
Si on remplace cette propriété dans les équations précédentes, on trouve
𝜕𝛷𝑑
𝜕𝑡+ 𝑢𝑛 = 0 (4.80)
𝜅(𝑥(𝑡), 𝑡) = ∆𝛷𝑑 (4.81)
Un des plus grands inconvénients de la définition de la fonction distance est le fait qu’elle
représente un défaut à l’interface ou 𝛷𝑑 = 0 qui est un minimum local.
La fonction distance assignée est définie comme suit
𝛷𝑠𝑑(x(t), t) = {
−𝛷𝑑 ∀x ∈ Ω−(𝑡)
𝛷𝑑 = 0 ∀x ∈ Γ(𝑡)
+𝛷𝑑 ∀x ∈ Ω+(𝑡)
(4.82)
𝛷𝑠𝑑(𝑥(𝑥, 𝑡), 𝑡) = ± min𝑥∗∈Γ𝑑
‖𝑥 − 𝑥∗‖ , ∀ 𝑥 ∈ ℝ𝑛 (4.83)
Avec cette définition les problèmes de différentiation proche de l’interface et au niveau de
l’interface disparaissent.
V-2-Formulation faible de l’équation ¨Level-set¨
Pour exprimer la formulation faible de la fonction ¨Level-set¨, on définit d’abord l’espace
des fonctions d’essai et l’espace de fonctions test
𝑺𝚽𝒉 = 𝝑𝚽
𝒉 = {𝛙𝒉|𝝍𝒉 ∈𝓗𝟏𝒉}
101
ℋ1ℎ ⊆ ℋ1 est l’espace de Sobolev pour les éléments finis, l’espace ℋ1 est l’ensemble des
fonctions qui sont avec leur première dérivative intégrable dans le domaine Ω.
Il faut noter que l’espace des fonctions tests et des fonctions essai coïncident entre eux s’il
n’y a pas de conditions aux limites spécifiées à l’entrée ou à la sortie (¨Inflow¨ /¨Outflow¨).
Dans le cas où il existe des conditions aux limites de type (¨Inflow¨ /¨Outflow¨), alors
l’équation de transport Level-set¨ devient une équation avec une advection pure, c’est-à-dire
hyperbolique, dans ce cas-là seulement les conditions de Dirichlet peuvent être spécifiées
(Gresho et Sani 1982).
Dans le cas où l’équation de transport ¨Level-set¨, nous avons aussi besoin d’introduire la
technique de stabilisation SUPG dans la forme faible. Cette formulation s’annonce comme
suit : Trouver 𝚽𝒉 ∈ 𝑺𝚽𝒉 de telle sorte ∀𝝍𝒉 ∈ 𝝑𝚽
𝒉
∫ 𝝍ℎ(𝜕 𝚽ℎ
𝜕𝑡+ 𝑢𝑗
ℎ 𝜕𝚽ℎ
𝜕𝑥𝑗)
𝛺
𝑑𝛺 +∑∫ 𝝉𝒆 (𝒖𝒋𝒉𝛛𝝍ℎ
𝛛𝒙𝒋) . (𝜕 𝚽ℎ
𝜕𝑡+ 𝑢𝑗
ℎ 𝜕𝚽ℎ
𝜕𝑥𝑗)
𝜴𝒆𝒆𝒍
𝒏𝒆𝒍
𝒆=𝟏
𝒅𝛀 = 0(4.84)
Le terme de stabilisation additionnel est le terme qui comprend le signe additionnel. Ce terme
stabilise les oscillations dues aux phénomènes d’advection dominant 𝝉𝒆 représente le
paramètre de stabilisation qui est spécifique à chaque élément et est défini comme suit
(Shakib et al 1991).
𝝉𝒆 = [(𝟐
∆𝒕)𝟐
+ ( 𝟐|𝒖𝒂𝒗𝒈
𝒉 |
𝒉𝒆)
𝟐
+ (𝟒𝝊
𝒉𝒆𝟐)
𝟐
]
−𝟏 𝟐⁄
(𝟒. 𝟖𝟓)
Avec |𝒖𝒂𝒗𝒈𝒉 | étant la norme de la vitesse moyenne calculée sur un élément, 𝜐 la viscosité
cinématique, qui prend une moyenne pondérée des viscosités des deux fluides quand
l’élément est traversé par l’interface, 𝒉𝒆 est défini comme suit
102
𝒉𝒆 = √𝟐. (𝑨𝒆𝒆𝒍
𝒉𝒅𝒊𝒂𝒈) (𝟒. 𝟖𝟔)
𝑨𝒆𝒆𝒍 étant la surface de l’élément, 𝒉𝒅𝒊𝒂𝒈 la distance diagonale la plus grande entre les nœuds
de l’élément (Mittal 2000).
V-3-Processus de réinitialisation de la fonction ¨Level-set¨
La fonction ¨Level-set¨ 𝚽 est initialisée au début du processus de simulation pour être
assimilée à la fonction distance assignée 𝚽𝒔𝒅 pour 𝚪𝟎. On sait très bien que dans un
écoulement diphasique l’interface est soumise à des changements topologiques parfois très
compliqués, dans ce cas la fonction ¨Level-set¨ devient abrupte ou plate et perd ses propriétés
de courbures surtout au voisinage de l’interface, ce qui lui fait perdre la propriété suivante
|𝜵𝜱𝒅| = 𝟏 . Cette détérioration est un processus naturel dû aux conséquences du processus
d’advection, mais il rajoute des difficultés supplémentaires à la détermination précise de
l’interface.
Pour remédier à cela, nous allons faire une réinitialisation périodique de la fonction ¨Level -
set¨, c’est-à-dire qu’à chaque itération, on réinitialise la fonction ¨Level-set¨ pour qu’elle ne
perde pas ses propriétés. Ajouter à cela le fait d’utiliser un maillage raffiné au voisinage de
l’interface pour éviter les oscillations de la solution dues aux gradients élevés à l’interface
entre les deux phases (Harten et al.1987).
Le processus de réinitialisation consiste à remplacer la fonction 𝚽 par la fonction distance
assignée 𝚽𝒔𝒅 qui possède la même propriété que 𝚽, mais en plus de ça elle garde sa propriété
|𝛻𝛷𝑑| = 1 , ensuite on utilise cette fonction pour le prochain pas de temps.
La réinitialisation est faite d’abord par localisation de la position de l’interface à l’aide de
techniques d’interpolation puis via la construction de la fonction distance assignée pour le
front d’interpolation (Smolanski 2011, Peng et al 1994).
La précision de l’approximation dépend des méthodes d’interpolations utilisées.
103
Dans les travaux de Sussman et al (1994), le processus de réinitialisation a été formulé pour
résoudre une équation aux dérivées partielles avec des conditions aux limites
𝜕𝛷
𝜕𝝉+ 𝑠𝑖𝑔𝑛(𝛷)(|𝛻𝛷 − 1|) = 0, ∀(x, 𝝉) ∈ Ω × (0, 𝑇𝑠𝑡𝑒𝑎𝑑𝑦) (4.87)
𝛷(𝑥, 0) = 𝛷0
Où
𝑠𝑖𝑔𝑛(𝛷) = {−1 si 𝛷 < 0 0 si 𝛷 = 0+1 si 𝛷 > 0
(4.88)
𝜱𝟎 est la valeur initiale de la fonction ¨Level-set¨, avec 𝝉 le pseudo temps.
L’équation précédente représente l’algorithme d’interpolation pour décrire la position de
l’interface de façon explicite.
D’après les travaux de Sussmann et al (1999),
𝜕𝛷
𝜕𝝉+ 𝒘. |𝛻𝛷| = 𝑠𝑖𝑔𝑛(𝛷) (4.89)
Où 𝑤 = 𝑠𝑖𝑔𝑛(𝛷)𝛻𝛷
|𝛻𝛷| est la vitesse caractéristique de l’équation hyperbolique précédente. 𝒘
est le vecteur sortant dans la direction normale à l’interface. Ce qui veut dire que 𝛷(𝑥, 𝝉) sera
réinitialisé à |𝜵𝜱| = 𝟏 au voisinage de l’interface.
V-4-Discrétisation temporelle de l’équation de transport ¨Level-set¨
L’équation de transport ¨Level-set¨ s’écrit
𝜕Φ
∂𝑡+ 𝑢𝑗
𝜕Φ
𝜕𝑥𝑗= 0 (4.90)
104
En appliquant la loi trapézoïdale, la discrétisation temporelle de l’équation de transport de
la fonction ¨Level-set¨ s’écrit :
Φ𝒏+𝟏 + 𝜃∆𝑡𝑢𝑗𝒏+𝟏 𝜕Φ
𝒏+𝟏
𝜕𝑥𝑗= Φ𝒏 + (1 − 𝜃)∆𝑡𝐺𝒏 (4.91)
Qui peut se mettre sous cette forme
1
𝜃∆𝑡𝚽𝒏+𝟏 + 𝑢𝑗
𝒏+𝟏 𝜕𝚽𝒏+𝟏
𝜕𝑥𝑗=1
𝜃∆𝑡𝚽𝒏 +
(1 − 𝜃)
𝜃𝐺𝒏 (4.92)
Avec
𝑮𝒏 = 𝒖𝒋𝒏𝝏𝚽𝒏
𝝏𝒙𝒋 (4.93)
La notation 𝒏 + 𝟏 est une notation qui décrit l’évaluation au temps 𝒏 + 𝟏 .
Après la discrétisation temporelle, on fera la discrétisation spatiale en employant la
formulation faible, en multipliant par une fonction test et en intégrant sur le domaine de calcul
𝜴
1
𝜃∆𝑡∫ 𝝍𝒏+𝟏𝚽𝒏+𝟏
𝛺
𝑑𝛺 +∫ 𝝍𝒏+𝟏𝑢𝑗𝑛+1 𝜕𝚽
𝒏+𝟏
𝜕𝑥𝑗𝑑𝛺
𝛺
=1
𝜃∆𝑡∫ 𝚽𝒏
𝛺
𝑑𝛺 +(1 − 𝜃)
𝜃∫ 𝝍𝒏+𝟏𝐺𝒏
𝛺
𝑑𝛺 (4.94)
La technique de stabilisation SUPG s’énonce comme suit : Trouver 𝚽 𝒉∈ 𝑺𝜱
𝒉 de sorte
que ∀ 𝝍 𝒉∈ 𝝂𝜱
𝒉
105
1
𝜃∆𝑡∫ 𝝍ℎ𝚽ℎ
𝛺
𝑑𝛺 +∫ 𝝍ℎ𝑢𝑗ℎ 𝜕𝚽
ℎ
𝜕𝑥𝑗𝑑𝛺
𝛺
+∑∫ 𝝉𝒆 (𝒖𝒋𝒉𝛛𝝍ℎ
𝛛𝒙𝒋) . [
1
𝜃∆𝑡𝚽𝑛 + 𝑢𝑘
ℎ𝜕𝚽ℎ
𝜕𝑥𝑘−1
𝜃∆𝑡(𝚽𝑛 + (1
𝜴𝒆𝒆𝒍
𝒏𝒆𝒍
𝒆=𝟏
− 𝜃)∆𝑡𝐺𝑛)]𝒅𝛀 =1
𝜃∆𝑡∫ 𝝍ℎ
𝛺
(𝚽𝑛 + (1 − 𝜃)∆𝑡𝐺𝑛)𝑑𝛺 (4.95)
Avec une condition initiale 𝚽ℎ(𝑥, 0) = 𝚽ℎ , qui représente le temps initial. Le terme de
stabilisation est compris dans le terme de sommation∑𝑛𝑒𝑙𝑒=1 , le terme entre les deux bars
représente la discrétisation temporelle du terme résidu.
L’espace des fonctions d’essais 𝑺𝜱𝒉 et des fonctions tests 𝝂𝜱
𝒉 a été défini plus haut.
V-5-Limite pour les pas de temps
A-Limitations physiques
Dans les équations de Navier-Stokes pour deux fluides non miscibles, plusieurs phénomènes
physiques interviennent comme la gravité, la viscosité et la tension superficielle. Ces
phénomènes introduisent des limitations au niveau de la discrétisation des pas de temps.
Pour obtenir les caractéristiques de la limite des pas temporels lors de la simulation
numérique, nous avons besoin de nombres adimensionnels qui sont le nombre de Reynolds,
le nombre de Froude et le nombre capillaire.
On définit d’abord le nombre de Froude comme suit :
𝑭𝒓 =𝑼(𝒈)
𝟐
𝒈𝑳 (𝟒. 𝟗𝟔)
Où L est la longueur caractéristique, 𝑼(𝒈)est la vitesse caractéristique, 𝒈 est l’accélération
gravitationnelle. On définit la vitesse caractéristique comme :
106
𝑼 =𝑳
∆𝒕𝒑𝒉𝒚 (𝟒. 𝟗𝟕)
Avec ∆𝒕𝒑𝒉𝒚 étant l’échelle de temps caractéristique due à la force de gravité, définie comme
suit : ∆𝒕𝒑𝒉𝒚 = √𝑳
𝒈 .
Le nombre capillaire est défini comme le rapport de la viscosité à la force de tension
superficielle qui agit sur un volume et est définie comme :
𝑪𝒂 =𝝁𝑼𝒄𝒂
𝜸 (𝟒. 𝟗𝟖)
Ou 𝑼𝒄𝒂 est la vitesse caractéristique, 𝝁 la viscosité dynamique et 𝛾 le coefficient de tension
superficielle. ∆𝒕𝒑𝒉𝒚𝑪𝒂 , temps caractéristique du phénomène de capillarité, la vitesse relative à
ce phénomène est définie 𝑼𝒄𝒂 =𝑳
∆𝒕𝒑𝒉𝒚𝑪𝒂 . Cependant le temps caractéristique est défini ∆𝒕𝒑𝒉𝒚
𝑪𝒂 =
𝝁𝑳
𝜸.
Le dernier nombre adimensionnel qu’on va utiliser pour décrire l’échelle temporelle est le
nombre de Reynolds qui est définie comme étant le rapport entre les forces d’inertie par
rapport à la viscosité.
𝑹𝒆 =𝝆𝑼𝒓𝒆𝑳
𝝁 (𝟒. 𝟗𝟗)
La vitesse caractéristique est définie comme suit 𝑼𝒓𝒆 =𝑳
∆𝒕𝒑𝒉𝒚𝒓𝒆 , l’échelle caractéristique du
temps est ∆𝒕𝒑𝒉𝒚𝒓𝒆 =
𝝆𝑳𝟐
𝝁.
Dans notre choix du pas de temps utilisé pour la simulation, la limitation est décrite par les
temps caractéristiques qui sont définis pour chaque nombre adimensionnel. Ces conditions
représentent les limitations physiques du pas de temps choisi.
107
B-Limitations numérique
Aux limitations physiques sur le pas de temps qu’on a vu précédemment, s’ajoutent des
limitations numériques. Du fait que le schéma semi-implicite employé est
inconditionnellement stable, la seule limitation sur ce pas à laquelle on aura affaire est la
limitation liée à l’utilisation de la méthode explicite pour le traitement du terme de force de
tension superficielle. Le temps numérique caractéristique relatif au phénomène de capillarite
est défini (Brackbill 1992) :
∆𝒕𝒏𝒖𝒎𝑪𝒂 = √
��𝒉𝟑
𝜸 (𝟒. 𝟏𝟎𝟎)
Où �� represente la moyenne de la densité des deux fluides au niveau de l’interface et 𝒉 la
taille du maillage. On peut rapidement remarquer que cette condition est proportionnelle à la
dimension du maillage et à la valeur du coefficient de tension superficielle.
Le schéma suivant montre le couplage entre la méthode ¨Level-set¨ et l’équation de Navier
Stokes :
108
𝜙𝑛,𝑢𝑛,𝑝𝑛
Set 𝜙𝑖𝜃 = 𝜙𝑛 ,𝑢𝑖
𝑛+1 = 𝑢𝑛,𝑝𝑖𝑛+1 = 𝑝𝑛
𝑆𝑒𝑡 𝑢𝑗𝑛+1 = 𝑢𝑖
𝑛+1
Résoudre les équations de Navier-Stokes
𝑢𝑗+1𝑛+1, 𝑝𝑗+1
𝑛+1
‖ 𝑢𝑗+1𝑛+1 − 𝑢𝑗
𝑛+1‖
‖𝑢𝑗+1𝑛+1‖
< 휀2
Set 𝑢𝑖+1𝑛+1 = 𝑢𝑗+1
𝑛+1,𝑝𝑖+1𝑛+1 = 𝑝𝑗+1
𝑛+1
Résoudre l’équation Level-set
Φ𝑖+1𝑛+1
‖ Φ𝑖+1𝑛+1 − 𝑢𝑖
𝑛+1‖
‖𝑢𝑖+1𝑛+1‖
< 휀1
Set 𝜙𝑛+1 = 𝜙𝑖+1𝑛+1, 𝑢𝑛+1 = 𝑢𝑖+1
𝑛+1, 𝑝𝑛+1 = 𝑝𝑖+1𝑛+1
Set 𝑢𝑗𝑛+1 = 𝑢𝑗+1
𝑛+1
𝜙𝑖𝜃 = 𝜃𝜙𝑖
𝑛+1 + (1 − 𝜃)𝜙𝑛
𝜙𝑖𝑛+1 = 𝜙𝑖+1
𝑛+1
𝑢𝑖𝑛+1 = 𝑢𝑖+1
𝑛+1
𝑝𝑖𝑛+1 = 𝑝𝑖+1
𝑛+1
𝜙𝑛 = 𝜙𝑛+1
𝑢𝑛 = 𝑢𝑛+1
𝑝𝑛 = 𝑝𝑛+1
n=n+1
i=i+1
j=j+1
No
No
YES
YES
j=0
i=0
Boucle Level-set
Boucle interne
Boucle pour le temps
109
VI-Plateforme de calcul FEniCS
I-Introduction
Dans cette section, on présentera le code source libre FEniCS (architecture, composants,
librairie) qui nous a permis de faire notre développement numérique. Le but de cette section
est de définir brièvement la plateforme FEniCS et son architecture. Pour plus de détail
concernant cette plateforme de calcul, le lecteur est prié de se référer à Logg et al (2012).
FEniCS est une plateforme de calcul pour les équations aux dérivées partielles (PDE), avec
une interface Python et C++ haute performance. Un des grands avantages de FEniCS est qu’il
est adapté aux calculs parallèle et adaptable du simple ordinateur personnel aux stations de
calcul haute performance.
Dans cette section, nous allons présenter le code de calcul FEniCS avec lequel nous avons
fait notre développement.
II-Architecture de FEniCS
Figure 4.16 : Schéma de la plateforme de calcul FEniCS utilisant les différents composants
du projet FEniCS (Logg, A et al 2012, The FEniCS book)
Pour résoudre les problèmes scientifiques avec FEniCS de façon efficace, le problème initial
est divisé en deux catégories :
110
Entrée 1 : Qui représente la forme principale des équations aux dérivées partielles
Entrée 2 : Qui contient le domaine de calcul (maillage), conditions aux limites, coefficients
et propriétés matérielles.
Le FEniCS Form Compiler (FFC) (Kirby and Logg, 2007, 2008; Logg et al. 2010) ou bien
SyFi (Alnaes and Mardal 2012) reçoit l’équation aux dérivées partielles (input 1) sous forme
de code de haut niveau fondé en UFL (Alnaes 2012; Alnaes et Logg 2012) qui est proche des
notations mathématiques et généré par un code C++ compatible avec UFC (Alnaes et al.
2012).
Le code généré combiné avec la deuxième partie du programme à l’entrée (input 2) et ensuite
utilisé dans DOLFIN (Logg and Wells 2010); (Logg et al. 2012) pour résoudre le problème
sous forme variationnelle. Cette procédure est représentée dans le schéma voir la figure 4.16
dans Logg et al (2012). Les données dans (input 2) représentent les configurations spécifiques
du problème à résoudre, par exemple la géométrie, le maillage ou les propriétés physiques
du problème, par exemple la densité ou la viscosité dans notre cas.
III-Composants principaux de FEniCS
La plateforme FEniCS comprend plusieurs composants qui peuvent être adaptés aux
traitements de plusieurs problèmes de nature physique différente par la méthode des éléments
finis. Cependant chaque composant doit être adaptable à la plateforme FEniCS et aussi
indépendant les uns les autres, qui est une caractéristique très importante de FEniCS.
La figure (4.17) (Logg et al.2009) représente les différents composants de la plateforme
FEniCS, leurs classifications et relations dans différentes sections.
Comme montré dans la figure (4.17), les composants sont divisés en quatre sections :
Application, interface, composants principaux et librairies externes.
111
Figure 4.17 : Architecture FEniCS (Logg et al. 2009)
À partir du schéma de la figure (4.17), on remarque qu’il existe plusieurs librairies externes
adaptables à FEniCS.
IV-Interface utilisateur :
DOLFIN fournit deux interfaces utilisateurs. Une interface est implémentée comme une
librairie C++ classique et une autre interface est implémentée comme un module Python. Les
deux interfaces sont plus au moins identiques, mais dans certains cas particuliers il existe une
différence entre les deux interfaces.
112
Particulièrement dans le cas où l’interface Python ajoute un certain niveau d’automatisme la
méthode de génération de code ¨just in time¨.
Interface C++ :
L’interface DOLFIN C++ est construite comme une librairie C++ standard orientée objet.
Elle fournit des classes MATRIX,VECTOR, MESH, FINITE ELEMENT , FUNCTIONSPACE
and FUNCTION, qui modélise des concepts importants dans le calcul en éléments finis.
Ça fournit aussi un certain nombre de fonctions libres (fonction qui ne sont pas répertoriées
en classes), par exemple assemble et solve, qui peuvent être utilisés en conjonction avec des
classes d’objets DOLFIN pour implémenter les serveurs éléments finis.
DOLFIN a été construit de façon à être flexible avec des éléments extérieurs comme
MATRIX ou VECTOR, spécialement avec des structures de données provenant de librairies
extérieures comme PETSc et Trilinos .
Pour résoudre les équations aux dérivées partielles en utilisant l’interface DOLFIN C++, on
doit exprimer le problème d’éléments finis sous forme variationnelle en langage UFL. Cela
se fait en introduisant les formes dans des fichiers séparés. ufl, et compiler en utilisant un
compilateur de forme pour générer les composants UFC du code C++.Le code généré peut
être inclus ensuite dans le programme DOLFIN C++.
113
Figure 4.18 :Schéma d’assemblage des différents composants de FEniCS
La figure (4.18) représente la manière dont l’assemblage entre les différents composants de
FEniCS est fait.
114
Chapitre 5
Résultats numériques
I-Interface linéaire abrupt stationnaire
Le cas test suivant est considéré par Ausas et al. (2011), où une interface droite (linéaire) est
considérée. On a un saut sur la pression au niveau de l’interface de séparation (discontinuité
forte) qui est induite par une différence de viscosités des deux fluides.
Un domaine carré est considéré Ω ∈ [𝟎, 𝟏 𝒎] × [𝟎, 𝟏 𝒎] , avec une interface Γ horizontale
localisée en 𝑦 = 0.5𝑚 , 𝜌 = 𝜌1 = 𝜌2 = 10.0 𝑘𝑔/𝑚3, 𝜇1 = 5.0 𝑘𝑔/𝑚/𝑠 et 𝜇2 = 10.0 𝑘𝑔/
𝑚/𝑠 figure (5.1)
En négligeant les forces volumiques en premier lieu et en considérant les composantes de la
vitesse comme suit :
𝑢(𝑥) = (1 − 𝑥
𝑦)
Ce profil de vitesse est imposé aux parois de la géométrie.
La solution exacte pour la pression peut être modélisée comme suit :
𝑝(𝑥) =
{
𝜌 (𝑥 −
1
2(𝑥2 + 𝑦2)) + 2(𝜇1 − 𝜇2) , 𝑦 < 0.5
𝜌 (𝑥 −1
2(𝑥2 + 𝑦2)) , 𝑦 > 0.5
115
Une condition sur la pression est imposée sur la paroi haute, on considère la pression nulle
𝑦 = 1.0𝑚
𝑦 = 0.0𝑚
Figure 5.1 : Domaine bi matériel en 2D
La solution quadratique exacte obtenue est représentée à une dimension à la figure (5.2).
On remarque très bien le saut au niveau de l’interface de séparation en x=0.5, l’interface
abrupte est bien visible en 1D.
𝑦 = 0.5𝑚
Ω2
Ω1
116
Figure 5.2 : Saut sur la pression en 1D
La représentation bidimensionnelle de la solution quadratique exacte de la pression est
représentée dans la figure suivante (5.3)
Figure 5.3 : Cas stationnaire avec une interface droite, saut sur la pression P en x=0.5
P(Pa)
X(m)
P(Pa)
117
On rajoute au cas test précédant une force volumique considérée sous la forme suivante
𝑓𝑥 = 0
𝑓𝑦 = {−10, 𝑦 < 0.5 0 , 𝑦 > 0.5
Dans ce cas un saut sur la pression et le gradient de pression existe, c’est-à-dire une
discontinuité faible et forte en même temps. La solution exacte pour la pression dans ce cas
est donnée comme suit :
𝑝(𝑥) =
{
𝜌 (𝑥 −
1
2(𝑥2 + 𝑦2) − 𝑓𝑦(0.5 − 𝑦)) + 2(𝜇1 − 𝜇2) , 𝑦 < 0.5
𝜌 (𝑥 −1
2(𝑥2 + 𝑦2)) , 𝑦 > 0.5
Les conditions aux limites, la position de l’interface et les maillages sont les mêmes que dans
le cas précèdent.
La solution exacte obtenue en prenant en compte la force volumique est représentée sur la
figure suivante
118
Figure 5.4 : Représentation de la pression à 1D, dans le cas d’une discontinuité forte et
faible
En 2D, on obtient la représentation de la solution quadratique de la pression sur la figure
suivante (5.5), les deux discontinuités forte et faible sont alors présentes.
Figure 5.5 : Représentation de la discontinuité faible et forte de la pression en 2D
P(Pa)
X(m)
P(Pa)
119
II-Exemple d’une interface dans le cas du problème de Stokes
Dans cette section, nous prenons l’exemple numérique présenté dans Hansbo et al (2014) et
Wang et Chen, (2015) pour évaluer notre modèle .
Dans cet exemple nous allons considérer le cas du problème de Stokes dans lequel la pression
a une discontinuité forte (discontinuité sur la variable pression) et la vitesse a une
discontinuité faible (discontinuité du gradient de vitesse) au niveau de l’interface.
L’interface est une droite d’équation 𝑦 = 0 et la condition de saut imposée au niveau de
l’interface est ⟦𝝁𝑫(𝒖). 𝒏 − 𝒑𝒏⟧. 𝒏 = 𝟏𝟎, la viscosité est imposée comme suit :
𝜇 = {2 𝑦 > 0200 𝑦 < 0
Et la force volumique :
𝑓 = (2𝑥, 4𝑥)
Le domaine de calcul sera [0,4] × [−0.4, 0.6] , les conditions de Dirichlets sur les parois sont
choisies de telle sorte que la solution exacte soit :
𝑢(𝑥, 𝑦) = (𝑢𝑥(𝑥, 𝑦), 𝑢𝑦(𝑥, 𝑦)) = (𝑥2𝑦
𝜇,−𝑥𝑦2
𝜇)
𝑝(𝑥, 𝑦) = 2𝑥𝑦 + 𝑥2 + 10𝜒(𝑦)
Ou 𝜒(𝑦) = 1 si 𝑦 < 0 et nul ailleurs
120
Figure 5.6 : Taux de convergence pour la pression et la vitesse
On obtient la figure (5.6) dans laquelle les courbes de variation du logarithme de l’erreur sont
tracées en fonction du logarithme de la taille de la cellule h. À partir de cette figure, on voit
très bien que la méthode XFEM ne dégrade pas l’ordre de convergence de la méthode.
III -Écoulements diphasiques
III-1- Validation
Pour valider notre code de calcul et nos résultats obtenus, nous allons comparer nos résultats
numériques avec des résultats expérimentaux obtenus par Talley et al (2015), dans lesquels
ils ont étudié expérimentalement le comportement de deux fluides non miscibles
(gaz/liquide) séparés par une interface, le mécanisme d’interaction, la transition entre les
régimes d’écoulement, le tout dans le cas d’une configuration horizontale.
Les dimensions de la géométrie sont comme suit: le diamètre D=3.81 cm, la longueur de
développement de l’écoulement est de 248 D.
Le cas test pris sera le cas de l’écoulement stratifié, l’écoulement ondulé et la transition entre
les deux régimes d’écoulements.
121
Chaque forme d’interface correspond à une gamme de débits (gaz/liquide), comme le montre
la cartographie des écoulements diphasiques expérimentale de Mandhan et al. 1974 figure
(5.7)
Figure 5.7 : Cartographie des régimes d’écoulement selon Mandhan et al. 1974, basée sur
des visualisations expérimentales
On sait très bien que pour les mêmes propriétés physiques de deux fluides non miscibles, la
même géométrie, les mêmes conditions aux limites, si on prend les mêmes débits pour chaque
phase, on obtient les mêmes régimes d’écoulements.
Les densités des deux fluides dans 𝛀𝟏 et 𝛀𝟐 sont 𝜌1−𝑒𝑎𝑢 = 1000𝑘𝑔/𝑚3et 𝜌2−𝑎𝑖𝑟 =
1.204 𝑘𝑔/𝑚3 les viscosités dynamiques sont 𝜇1−𝑒𝑎𝑢 = 10−3 𝑃𝑎. 𝑠 et 𝜇2−𝑎𝑖𝑟 =
1.8205. 10−5 𝑃𝑎. 𝑠, respectivement.
On procédera de la même manière que Talley et al (2015). On garde le débit de l’eau constant
et le débit de l’air variable en se basant sur la cartographie des écoulements figure (5.7) pour
obtenir une distribution des phases relative au régime stratifié, ondulé et la transition entre
les deux écoulements.
122
Le maillage utilisé pour le domaine est un maillage régulier avec un nombre de cellules égal
à 9448800 mailles (la taille de chaque maille est de l’ordre du millimètre).
Tableau 5.1 : Validation expérimentale de nos résultats numériques
Le tableau (5.1), représente une validation de notre code de calcul développé avec FEniCS
cette validation est faite en comparaison avec les résultats expérimentaux de (Talley D. et al
2015).
On remarque à partir des résultats obtenus dans le tableau précédent (5.1) que notre code de
calcul reproduit exactement les mêmes régimes d’écoulement (mêmes formes d’interface de
séparations/distribution des phases) que dans le cas expérimental en prenant les mêmes
propriétés physiques de chaque fluide, la même géométrie et les mêmes conditions aux
limites.
Résultats expérimentaux (Talley D. et al 2015) Résultats obtenus
𝒋𝒆𝒂𝒖= 0.06𝑚/𝑠 𝒋𝒂𝒊𝒓/𝒂𝒕𝒎= 0.08 𝑚/𝑠
𝒋𝒆𝒂𝒖= 0.06𝑚/𝑠 𝒋𝒂𝒊𝒓/𝒂𝒕𝒎= 0.97 𝑚/𝑠
𝒋𝒆𝒂𝒖= 0.06𝑚/𝑠 𝒋𝒂𝒊𝒓/𝒂𝒕𝒎= 2.33 𝑚/𝑠
123
III-2-Étude de différents paramètres dans les écoulements à deux phases :
Dans cette section, nous allons étudier le comportement d’un écoulement de deux fluides non
miscibles séparés par une interface.
Le maillage utilisé est un maillage régulier XFEM, avec un nombre de cellules variables
dépendamment de la géométrie, en prenant en compte que la taille de chaque cellule est de
l’ordre du millimètre.
III-2-a-Écoulement à interfaces dans une conduite horizontale
Dans notre cas d’étude, nous allons prendre une conduite horizontale dans laquelle nous
allons étudier le comportement d’un écoulement de deux fluides non miscible (air/eau) avec
une interface de séparation. La méthode XFEM est utilisée pour discrétiser les équations de
Navier-Stokes.
Nous allons d’abord commencer par étudier la distribution des phases et le comportement de
l’interface de séparation entre les deux fluides. Pour cela, nous allons prendre une géométrie
horizontale 2D avec les dimensions suivantes: 3m de longueur et 0.2 m de largeur.
La vitesse de l’air à l’entrée est de 𝑗(𝑎𝑖𝑟/𝑎𝑡𝑚) = 0.08 𝑚/𝑠 et la vitesse de l’eau à l’entrée est
de 𝑗(𝑒𝑎𝑢) = 0.06 𝑚/𝑠, on laissera notre écoulement se développer au-delà de 10 D et on
étudiera la distribution des phases, des vitesses et des pressions dans chaque phase et au
niveau de l’interface.
-Distribution des phases
Après quelques itérations, on obtient la distribution des phases sur la figure (5.8), on
remarque que l’écoulement obtenu est stratifié, avec une interface presque totalement
horizontale. Le fluide avec la densité la plus lourde (eau) occupe la partie inférieure de la
géométrie, le fluide de plus faible densité (air), quant à lui occupe la partie supérieure.
124
La forme de l’interface dépend de l’interaction entre ces deux phases. Une interaction qui
dépend des propriétés des deux fluides et aussi des conditions initiales et aux limites.
Figure 5.8 : Distribution des phases
-Distribution des vitesses
La figure (5.9) représente la distribution de la vitesse au niveau de l’interface de séparation.
On voit très bien d’après la courbe que la vitesse au niveau de l’interface possède une
discontinuité faible qui représente une continuité sur la vitesse et une discontinuité du
gradient de la vitesse, donc chaque segment de courbe représente la valeur de la vitesse dans
une phase .Le fait de passer d’une phase à une autre créer une discontinuité dans le gradient
des vitesses. On a capturé la valeur de la vitesse au niveau de l’interface de séparation entre
les deux fluides, comme le montre la figure 5.9.
125
Figure 5.9 : Distribution des vitesses au niveau de l’interface entre les deux fluides
Après avoir réussi à capturer la variation des vitesses au niveau de l’interface, on représentera
dans la figure suivante les vecteurs vitesse pour les deux phases d’abord figure (5.10a, 5.10b),
ensuite la représentation des vecteurs vitesse juste pour la phase liquide qui occupe la partie
inférieure de notre géométrie figure (5.11).
Les valeurs négatives des grandeurs vectorielles représentent certains cas où il existe des
écoulements ou les composantes des vitesses sont dans le sens contraire de l’écoulement
X(m)
V(m/s)
126
(a)
(b)
Figures 5.10 (a,b) : Vecteurs vitesse dans chaque phase pour les deux fluides
Figure 5.11 : Représentation du vecteur vitesse dans la phase eau
Distribution des pressions
Au niveau de l’interface de séparation entre les deux fluides non miscibles, on capturera la
valeur de la pression dans les deux fluides figure (5.12) en prenant une section verticale dans
la géométrie étudiée. On remarque très bien sur cette figure que la pression représente une
discontinuité forte qui est traduite par un saut sur la variable pression.
127
Figure 5.12: Saut sur la variable pression au niveau de l’interface entre les deux fluides
III-3-Transition entre deux régimes d’écoulements (stratifié/ondulé)
On se basant sur la carte d’écoulement de Mandan et al (1974) (voir figure (5.7)), pour passer
d’un régime d’écoulement stratifié (interface lisse) à un régime d’écoulement ondulé
(interface avec vagues), on augmente progressivement le débit de l’air jusqu’à ce qu’on
atteigne le régime complètement ondulé. Cette façon de procéder nous permet aussi de tester
la fiabilité et la robustesse de notre code de calcul développé.
X(m)
P(Pa)
128
Distribution des vitesses
Figure 5.13 : Transition d’un écoulement stratifié vers un écoulement ondulé
129
On remarque très bien d’après la figure (5.13) que l’interface de séparation entre les deux
fluides change de forme de façon progressive, jusqu’à ce qu’elle atteigne un développement
complet du nouveau régime.
Dans le cas où l’écoulement est complètement ondulé (régime développé), on étudiera la
distribution de la vitesse au niveau de l’interface de séparation entre les deux fluides ainsi
que la distribution de la pression. La figure (5.14) représente la distribution des vitesses au
niveau de l’interface de séparation, on peut très bien voir la nature de la discontinuité faible
de la vitesse.
Figure 5.14 : Distribution des vitesses au niveau de l’interface entre deux fluides
(Écoulement ondulé)
III-4-Effet Marangoni
Dans l’exemple suivant, nous allons considérer un écoulement entre deux fluides non
miscibles sans vitesses initiales pour chacun d’eux, c’est-à-dire que les deux fluides (Air/Eau)
sont au repos à t= 0 s. Le coefficient de tension superficielle 𝜸 va être pris variable au niveau
de l’interface de séparation entre les deux fluides de telle sorte qu’il aura une valeur de 𝛾1 =
70. 10−3𝑁.𝑚−1 dans la première moitié de la configuration et une valeur de 𝛾2 =
V(m/s)
X(m)
130
72. 10−3𝑁.𝑚−1 dans la deuxième moitié de la configuration, comme indiquée sur la figure
(5.15).
Figure 5.15 : Déplacement de fluide dû à l’effet Marangoni au niveau de l’interface
On remarque qu’il y a déplacement du fluide dû à la différence entre les valeurs du coefficient
de tension superficielle des deux côtés. Ce phénomène et résultat numérique est en accord
avec le résultat obtenu dans le chapitre 3 du document. Comme on l’avait vu précédemment
dans l’équation (3.89), le saut au niveau de l’interface de séparation est égal à :
⟦𝜎. �� ⟧ = [−𝛾κ�� + (∇Γ 𝛾 )]
Dans notre cas, l’écoulement est stratifié, c’est-à-dire que la courbure est de l’interface est
nulle κ = 0 donc le résultat précédent devient :
⟦𝜎. �� ⟧ = (∇Γ 𝛾 )
On voit très bien d’après le résultat obtenu que le mouvement de l’interface est dû seulement
à l’effet Marangoni, le mouvement de cette interface est dans la direction du gradient
surfacique positif, c’est-à-dire du coefficient de tension superficielle le plus petit vers le
coefficient de tension superficielle le plus grand. On conclut aussi que cet effet est loin d’être
négligeable dans l’étude des écoulements entre deux fluides non miscibles.
𝜸𝟏 𝜸𝟐
131
III-5-Cas où le taux de remplissage de la phase la plus dense est très faible
Dans l’exemple suivant, nous allons prendre le cas où le volume de la phase la plus dense est
très bas dans la configuration. On va la même configuration que dans les exemples précédents
avec les deux fluides étant (Air/Eau).
On obtient la distribution des phases comme indiqué sur la figure suivante (5.16).
Figure 5.16 : Distribution des phases dans le cas de faible taux de remplissage
On voit très bien que la phase liquide occupe la partie basse de notre configuration avec une
certaine discontinuité de matière, ce qui constitue un taux de remplissage de la phase liquide
qui est très bas.
La distribution des vitesses obtenue est comme suit :
132
Figure 5.17 : Distribution des vitesses dans le cas de faible taux de remplissage
Les vecteurs vitesse sont représentés dans les figures suivantes, où on peut voir dans la
figure (5.18) les vecteurs modules de vitesses et dans les figures (5.19 a,b) la distribution
des composantes des vitesses suivant les X et les Y .
Figure 5.18 : Distribution du module de vecteur vitesse
(a)
X(m)
V(m/s)
133
(b)
Figure 5.19 : a-Distribution des vitesses suivant X/ b- Distribution des vitesses suivant les
Y
III-6- Injection d’une phase dans une autre
Dans le cas suivant, nous allons étudier le comportement de l’interface entre deux fluides
non miscibles lors de l’injection d’une phase dans une autre.
Initialement, la configuration est remplie d’air à une vitesse d’entrée de 𝑗(𝑎𝑖𝑟/𝑎𝑡𝑚) =
0.08 𝑚/𝑠. On injectera de l’eau à une vitesse de 𝑗(𝑒𝑎𝑢) = 0.05 𝑚/𝑠 et observera le
phénomène et l’évolution de l’interface entre les deux fluides.
On obtient la distribution des vitesses comme indiquée dans la figure (5.20).
Figure 5.20: Distribution des vitesses dans le cas d’injection
134
Les figures 5.21 (a,b) , montrent la distribution des vecteurs vitesse dans les directions X et
Y respectivement. On remarque le fait de l’existence de valeurs négatives de ses vecteurs,
les valeurs négatives indiquent le sens de l’écoulement, un sens qui est contraire au sens
positif défini initialement.
(a)
(b)
Figure 5.21: a-Distribution vectorielle des vitesses suivant les X /b- Distribution
vectorielles des vitesses suivant les Y
Dans le cas de la pression, on obtient la figure (5.22), qui représente la distribution des
pressions dans toute la configuration. On remarque l’existence de zone de dépression à
l’entrée et puis une augmentation progressive de la pression pour atteindre une valeur
maximale à la sortie.
135
Figure 5.22 : Distribution des pressions dans la configuration
136
Chapitre 6
Conclusions et perspectives
Dans cette thèse, nous avons développé un programme complet basé sur des outils physiques,
mathématiques et numériques robustes pour le traitement des écoulements diphasiques à
interfaces. Tout d’abord, l’approche physique a été développée en détail dans les premiers
chapitres avec un complément de preuves mathématiques détaillées, des lois physiques qui
régissent ces écoulements, en annexe. Ensuite une discrétisation de l’espace discontinue à
l’aide de la méthode XFEM pour trouver les inconnues au niveau de l’interface de séparation
mobile entre les deux fluides. Ces variables sont soumises à des conditions de saut au niveau
de l’interface. Ce saut est dû à la différence dans la nature physique des fluides, qui fait qu’il
y a des discontinuités sur les variables. Pour traiter les sauts de ces variables au niveau de
l’interface avec une grande précision, la méthode Nitsche a été développée. Le suivi de
l’interface au cours du temps et la capture des topologies variables des interfaces a été fait à
l’aide de la méthode ¨Level-set, pour avoir des interfaces parfaitement lisses, nous avions
utilisé l’opérateur Laplace Beltrami pour exprimer la courbure des interfaces avec une grande
précision. Ce terme de courbure se trouve dans le terme de force de tension superficielle,
modèle qui a été développé en détail lors de la construction du modèle physique dans les
premiers chapitres de ce document.
L’implémentation des modèles développés dans cette thèse a été faite avec la plateforme de
calcul FEniCS, qui est une plateforme de calcul FEM basée sur le langage C++ et Python.
Des programmes de calculs ont été développés dans plusieurs cas différents, que ce soit via
des tests de la méthode Nitsche avec différentes conditions aux parois ou des tests de
discontinuités. Une logique de progression a été respectée dans le développement des codes
de calculs, pour finalement compiler un code complet qui traite les écoulements diphasiques
avec la méthode XFEM pour la discrétisation, Nitsche pour les conditions de saut au niveau
de l’interface de séparation et aussi aux limites des parois. Laplace Beltrami pour le
137
traitement des courbures et ¨Level-set¨ pour suivre l’évolution des interfaces au cours du
temps. Tous ces éléments constituent une contribution dans le code de calcul FEniCS. On
tient à préciser que FEniCS est basé sur la méthode FEM, notre développement d’un code
XFEM représente une extension de ce code de calcul open source et une grande contribution.
Le code de calcul final obtenu, a démontré sa robustesse et son habileté à prendre en main
des situations très compliquées dans le cas des écoulements diphasiques à interfaces. Des
validations qualitatives avec des résultats expérimentaux et numériques ont été faites. Des
tests dans le cas de l’effet Marangoni ont été faits au niveau de l’interface de séparation. Des
tests de transitions entre les régimes d’écoulement ont été faits aussi et ont donnés de très
bons résultats et démontrer la fiabilité des codes développés dans cette thèse.
De manière générale, nous avons atteint l’objectif de développer un modèle physique,
mathématique et numérique des plus complets avec des outils robustes capable de prendre en
compte différentes situations rencontrées dans le cas des écoulements diphasiques.
Perspectives
Comme suite à ce travail, il y aura le développement d’un code de calcul à 3D avec les
différents outils de modélisation utilisés dans notre travail à 2D.
Aussi comme perspective l’introduction de modèles de turbulences, pour pouvoir prendre en
compte le cas des écoulements diphasiques avec une forte turbulence.
138
Annexes
139
Annexe A :
Équations mathématiques régissant les
interfaces entre deux fluides non
miscibles
Cette section a pour objectif le traitement analytique des différents termes et équations
utilisés dans cette thèse. Les résultats obtenus après des développements mathématiques sont
utilisés dans les différentes sections de la thèse.
Dans cette annexe, nous allons prouver en détail les équations mathématiques qui décrivent
l’aspect physique des interfaces entre deux fluides non miscibles. La preuve détaillée de
l’équation de Young-Laplace sera traitée avec deux approches physiques différentes.
L’expression des forces qui sont dues à la présence de tension superficielle sera traitée en
détail. L’expression mathématique des courbures des interfaces entre deux fluides non
miscibles est traitée et le développement mathématique détaillé.
A-I-Loi de Young-Laplace
Considérons un système composé de deux fluides de différentes natures, séparés par une
interface libre.
On démontrera dans cette partie l’existence d’une courbure liée à la différence de pression
de part et d’autre de l’interface, cela avec deux aspects différents :
140
A-I-1 Aspect énergétique
Figure A.1 : Variation de l’aire d’une surface lors d’un déplacement
Soit 𝐴 = 𝑥𝑦 l’aire initiale d’une surface de séparation entre deux fluides non miscibles.
Lors du déplacement de l’interface d’une distance "𝑑𝑧" , l’aire de la surface initiale change.
La variation de l’aire de la surface sera égale à l’aire finale 𝐴′ moins l’aire initiale 𝐴 :
𝑑𝐴 = 𝐴′ − 𝐴 (A.1)
Avec 𝐴′ = (𝑥 + 𝑑𝑥)(𝑦 + 𝑑𝑦)
Donc
𝑑𝐴 = (𝑥 + 𝑑𝑥)(𝑦 + 𝑑𝑦) − 𝑥𝑦
𝑑𝐴 = 𝑥𝑦 + 𝑥𝑑𝑦 + 𝑦𝑑𝑥 + 𝑑𝑥𝑑𝑦 − 𝑥𝑦 (A.2)
𝛼
𝛼
𝑅1 𝑅2
𝑥
𝑥 + 𝑑𝑥
𝑑𝑍
𝐴′
A
141
En considérant le terme 𝑑𝑥𝑑𝑦 comme étant négligeable devant les autres termes. On obtient :
𝑑𝐴 = 𝑥𝑑𝑦 + 𝑦𝑑𝑥 (A.3)
Si on définit l’énergie associée à l’interface comme étant 𝐸 = 𝛾𝐴, alors la variation de cette
énergie est :
𝑑𝐸 = 𝛾𝑑𝐴 = 𝛾(𝑥𝑑𝑦 + 𝑦𝑑𝑥)
(A.4)
Avec 𝛾 une tension superficielle constante.
Le système étant conservatif, alors la variation de l’énergie est égale au travail mécanique
nécessaire au déplacement de l’interface.
𝑑𝐸 = 𝑑𝑊 (A.5)
Le travail thermodynamique associé à l’interface est défini comme étant :
𝑑𝑊 = ∆𝑝 𝑑𝑉 (A.6)
Donc
𝛾(𝑥𝑑𝑦 + 𝑦𝑑𝑥) = ∆𝑝 𝑥𝑦 𝑑𝑧 (A.7)
La longueur de l’arc "𝑥" est définie 𝑥 = 𝑅1𝑑𝛼 , avec 𝛼 étant l’angle solide que balaye la
surface suivant x.
𝑥 + 𝑑𝑥 = (𝑅1 + 𝑑𝑧)𝑑𝛼 (A.8)
𝑥 + 𝑑𝑥
𝑅1 + 𝑑𝑧= 𝑑𝛼 =
𝑥
𝑅1
142
𝑅1𝑥 + 𝑅1𝑑𝑥 = 𝑥𝑅1 + 𝑥𝑑𝑧
𝑑𝑥
𝑥𝑑𝑧=1
𝑅1
𝑑𝑥 =
𝑥𝑑𝑧
𝑅1
(A.9)
La largeur de l’arc "𝑦" est définie comme : 𝑦 = 𝑅2𝑑𝛼
𝑦 + 𝑑𝑦
𝑅2 + 𝑑𝑧= 𝑑𝛼 =
𝑦
𝑅2
(A.10)
𝑑𝑦
𝑦𝑑𝑧=1
𝑅2
𝑑𝑦 =
𝑦𝑑𝑧
𝑅2
(A.11)
En remplaçant les résultats obtenus, on trouve :
𝛾 (𝑥𝑦𝑑𝑧
𝑅2+ 𝑦
𝑥𝑧
𝑅1) = ∆𝑝 𝑥𝑦 𝑑𝑧
𝛾 (1
𝑅2+1
𝑅1) = ∆𝑝
(A.12)
Qui représente la loi de Young Laplace.
143
A-I-2 Équilibre des forces
Figure A.2 : Illustration d’une interface en coordonnées polaires
On définit une surface 𝑆 = 𝑅1𝑑𝜃1 . 𝑅2𝑑𝜃2, dans laquelle 𝑅1𝑑𝜃1 et 𝑅2𝑑𝜃2 sont les arcs de
courbes qui définissent la surface S. Cette surface est soumise à une tension superficielle 𝛾.
Donc la force qui agit sur S est 𝛾𝑅1𝑑𝜃1. En faisant une projection de cette force sur le milieu
de la surface (axe perpendiculaire à 𝑑𝑆 ), on trouve :
𝛾𝑅1𝑑𝜃1 sin(
𝑑𝜃22)
(A.13)
Donc la projection totale de part et d’autre de la normale est : 2𝛾𝑅1𝑑𝜃1 sin(𝑑𝜃2
2)
Pour un angle 𝑑𝜃2 très petit : sin(𝑑𝜃2
2) ≈
𝑑𝜃2
2
L’expression (A.13) devient :
2𝛾𝑅1𝑑𝜃1 sin(
𝑑𝜃22) = 𝛾𝑅1𝑑𝜃1𝑑𝜃2
(A.14)
𝑅1𝑑𝜃1
𝑑𝜃1
𝑑𝜃2
𝑑𝑆
𝑒1
144
En ayant le même raisonnement, on obtient le même résultat suivant l’autre axe :
𝛾𝑅2𝑑𝜃2𝑑𝜃1 (A.15)
La force de pression qui agit sur la surface de séparation est perpendiculaire au plan, donc
parallèle au produit vectoriel des deux axes reliés à ce plan.
Donc
(𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡)𝑑𝑆 . [(𝑅1𝑑𝜃1)𝑒1 × (𝑅2𝑑𝜃2)𝑒2 ]
= (𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡)[(𝑅1𝑑𝜃1) (𝑅2𝑑𝜃2)]
(A.16)
Avec 𝑑𝑆 . (𝑒1 × 𝑒2 ) = 1
En sommant toutes les projections sur l’axe dont le vecteur est 𝑑𝑆 on trouve :
−𝛾𝑅1𝑑𝜃1𝑑𝜃2 − 𝛾𝑅2𝑑𝜃2𝑑𝜃1 + (𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡)[(𝑅1𝑑𝜃1) (𝑅2𝑑𝜃2)] = 0 (A.17)
Donc
−𝛾𝑅1 − 𝛾𝑅2 + (𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡)(𝑅1𝑅2) = 0
(𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡) = 𝛾(𝑅1+𝑅2)
(𝑅1𝑅2)
(𝑃𝑖𝑛𝑡 − 𝑃𝑒𝑥𝑡) = 𝛾(
1
𝑅1+1
𝑅2)
(A.18)
Qui représente la loi de Young-Laplace.
145
A-I-3-Remarques
En effet les rayons de courbure 𝑅1et 𝑅2 sont des quantités algébriques, comptées positives si
le centre de courbure est situé d’un côté identifié.
Dans le cas d’une surface plane, les pressions de chaque côté de la surface sont égales.
𝑃𝑖𝑛𝑡 = 𝑃𝑒𝑥𝑡 ce qui fait que 𝛾 (1
𝑅1+
1
𝑅2) = 0
Sachant que 𝛾 ≠ 0 donc (1
𝑅1+
1
𝑅2) = 0
En conséquence de la loi de Laplace, plus une goutte est petite, plus le fluide à l’intérieur est
à une pression élevée. Les petites bulles sont donc bien sphériques et peu déformables.
Attention, pour les bulles de savon, la tension de surface agit des deux côtés des membranes
(il y a en effet deux surfaces eau-gaz). Il apparaît donc un facteur 2 dans la relation de Laplace
: ∆𝑃 = 4𝛾𝑅.
Cette surpression dans les petites bulles a de nombreuses conséquences, par exemple pour
l’initiation de la cavitation, de l’ébullition ou de la formation de brouillards.
A-II- Force due à la présence tension superficielle.
On considère une surface de séparation dS, entre deux milieux de propriétés physiques
différentes. La surface de séparation est munie d’une tension superficielle 𝜸. On trouvera
l’expression de la force de tension superficielle qui agit au niveau de l’interface, en supposant
que 𝜸 soit constant.
146
Figure A.3 : Déformation d’une interface lors d’un déplacement infinitésimal δl.
Si la surface de séparation dS subit un déplacement infinitésimal, on trace la normale en
chaque point immobile de la surface. On notera par (𝛿𝑙) un petit déplacement normal qui
transformera dS en 𝑑𝑆′. En d’autres termes (𝛿𝑙) représente la distance perpendiculaire suivant
le déplacement.
Ce qui donne naissance à un volume qui sera égal à(𝛿𝑙)dS, ou dS est l’élément de surface
déplacée.
Soit 𝑃1 et 𝑃2 les pressions de part et d’autre de la surface de séparation des deux milieux,
soit 𝛿𝑙 le déplacement positif de la surface du milieu 1 vers le milieu 2, alors le travail total
dû au déplacement de l’interface dS est égal à :
−∫ (𝑃1 − 𝑃2)(𝛿𝑙)dS𝑆 {𝑇𝑟𝑎𝑣𝑎𝑖𝑙 𝑑û 𝑎𝑢 𝑑é𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡 𝑑𝑒 𝑙′𝑖𝑛𝑡𝑒𝑟𝑓𝑎𝑐𝑒
⨁
𝛾𝛿𝑆 {𝑇𝑟𝑎𝑣𝑎𝑖𝑙 𝑑û à 𝑙𝑎 𝑑é𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 𝑑𝑒 𝑙′𝑖𝑛𝑡𝑒𝑟𝑓𝑎𝑐𝑒
𝛿𝑙 𝑑𝑆
𝑑𝑆′
𝑃1
𝑃2 Milieux 2
Milieux 1
147
Le travail dû à la déformation de l’interface est proportionnel au changement d’aire de la
surface, avec 𝛾 étant la tension superficielle.
𝛾 : Coefficient de tension superficielle
𝛿𝑆 : Déformation de la surface
𝛿𝑊 = −∫(𝑃1 − 𝑃2)(𝛿𝑙)dS + 𝛾𝛿𝑆
(A.19)
Pour que le système soit en équilibre thermodynamique, il faut que le travail total soit nul
𝛿𝑊 = 0.
𝑑𝑙1 = 𝑅1𝑑𝜃1
𝑑𝑙′ = (𝑅1 + 𝛿𝑙)𝑑𝜃
𝑑𝑙′
𝑑𝑙1=(𝑅1 + 𝛿𝑙)
𝑅1= 1 +
𝛿𝑙
𝑅1
𝑑𝑙′ = (1 +𝛿𝑙
𝑅1)𝑑𝑙1
Donc 𝑑𝑙1 subit une variation de 𝛿𝑙
𝑅1
𝛿𝑙′
𝛿𝑙
𝛿𝑙1
148
Figure A.4 : Déplacement d’une surface paramétrée
Si la surface dS avant le déplacement est égale à 𝑑𝑆 = 𝑑𝑙1𝑑𝑙2
Après déplacement, elle devient : 𝑑𝑆′ = 𝑑𝑙1′𝑑𝑙2
′
𝑑𝑆′ = (1 +
𝛿𝑙
𝑅1) 𝑑𝑙1. (1 +
𝛿𝑙
𝑅2) 𝑑𝑙2
(A.20)
𝑑𝑆′ ≈ 𝑑𝑙1𝑑𝑙2(1 +𝛿𝑙
𝑅1+𝛿𝑙
𝑅2)
𝑑𝑆′ ≈ 𝑑𝑙1𝑑𝑙2 + 𝑑𝑙1𝑑𝑙2𝛿𝑙(1
𝑅1+1
𝑅2)
𝑑𝑆′ = 𝑑𝑆 + ∆𝑆 (A.21)
Avec 𝑑𝑆 = 𝑑𝑙1𝑑𝑙2
Et ∆𝑆 = 𝑑𝑙1𝑑𝑙2𝛿𝑙(1
𝑅1+
1
𝑅2)
Ce qui fait que le changement de surface dû au déplacement est de :
𝑑𝑙1 𝑑𝑙2
𝑅2
𝑅1
149
∆𝑆 = 𝑑𝑆𝛿𝑙(
1
𝑅1+1
𝑅2)
(A.22)
Donc le travail total est égal à :
𝛿𝑊 = −∫(𝑃1 − 𝑃2)(𝛿𝑙)dS + 𝛾∆𝑆
(A.23)
Soit 𝑅1 et 𝑅2 les rayons principaux de la courbure surfacique, 𝑑𝑙1 et 𝑑𝑙2 sont les arcs
relatifs à 𝑅1 et 𝑅2.
Quand une surface dS subis un déplacement infinitésimal, alors 𝑑𝑙1 et 𝑑𝑙2subissent une
variation de (𝛿𝑙
𝑅1)𝑑𝑙1 et (
𝛿𝑙
𝑅2)𝑑𝑙2 respectivement.
En remplaçant dans l’équation 2.26 on trouve :
𝛿𝑊 = −∫ 𝛿𝑙 ((𝑃1 − 𝑃2)
𝑆
− 𝛾 (1
𝑅1+1
𝑅2))𝑑𝑆 = 0
(A.24)
⇒ (𝑃1 − 𝑃2) − 𝛾 (
1
𝑅1+1
𝑅2) = 0
(A.25)
En multipliant par une surface orientée �� on trouve :
(𝑃1 − 𝑃2)�� = 𝛾 (
1
𝑅1+1
𝑅2) ��
(A.26)
Donc
𝐹 = 𝛾𝜅�� (A.27)
150
Remarques
Si 𝑅1 et 𝑅2 sont positifs alors 𝑃1 − 𝑃2 > 0 cela suggère que la pression est supérieure
dans la région convexe, donc la force dans cette dernière région est plus grande.
Si 𝑅1 = 𝑅2 = ∞ la surface de séparation est un plan, et la force qui agit sur l’interface
est la même de part et d’autre de l’interface.
Si 1
𝑅1+
1
𝑅2= 0 cela correspond à l’équilibre d’un film liquide.
A-III-Expression de la courbure d’une surface de séparation entre deux
milieux
Figure A.5: Déplacement normal infinitésimal d’une interface
Z
X
Y
𝛿𝑧 = 𝛿𝑙
Z=A(x,y)
151
Si on prend une surface S, d’équation 𝑧 = 𝐴(𝑥, 𝑦).On déplace cette surface suivant l’axe des
Z, d’une petite distance 𝛿𝑧 = 𝛿𝐴(𝑥, 𝑦) = 𝛿𝑙.
À partir de l’équation de variation de la surface de séparation de deux milieux obtenue
précédemment, on a :
𝛿𝑆 = ∫𝛿𝐴(
1
𝑅1+1
𝑅2) 𝑑𝑆
(A.28)
L’aire de la surface S est donnée par :
𝑆 = ∫√1 + (𝜕𝐴
𝜕𝑥)2 + (
𝜕𝐴
𝜕𝑦)2 𝑑𝑥𝑑𝑦
(A.29)
En prenant l’équation paramétrée du plan 𝑍 = 𝐴(𝑥, 𝑦), avec Z très proche de zéro, donc
𝐴(𝑥, 𝑦) centré autour de zéro ce qui nous permet d’utiliser le développement de Taylor autour
de zéro.
𝑆 ≈ ∫[1 +
1
2(𝜕𝐴
𝜕𝑥)2 +
1
2(𝜕𝐴
𝜕𝑦)2]𝑑𝑥𝑑𝑦
(A.30)
𝛿𝑆 = 𝛿∫[1 +1
2(𝜕𝐴
𝜕𝑥)2 +
1
2(𝜕𝐴
𝜕𝑦)2]𝑑𝑥𝑑𝑦
𝛿𝑆 = ∫𝛿[1 +1
2(𝜕𝐴
𝜕𝑥)2 +
1
2(𝜕𝐴
𝜕𝑦)2]𝑑𝑥𝑑𝑦
𝛿𝑆 = ∫𝜕
𝜕𝑥[1 +
1
2(𝜕𝐴
𝜕𝑥)2 +
1
2(𝜕𝐴
𝜕𝑦)2]𝜹𝒙 𝑑𝑥𝑑𝑦 + ∫
𝜕
𝜕𝑦[1 +
1
2(𝜕𝐴
𝜕𝑥)2 +
1
2(𝜕𝐴
𝜕𝑦)2]𝜹𝒚 𝑑𝑥𝑑𝑦
152
𝛿𝑆 = ∫[(
𝜕𝐴
𝜕𝑥) (𝜕2𝐴
𝜕𝑥2)𝛿𝑥 +
𝜕𝐴
𝜕𝑦
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑥] 𝑑𝑥𝑑𝑦 + ∫[(
𝜕𝐴
𝜕𝑥)𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦
+𝜕𝐴
𝜕𝑦(𝜕2𝐴
𝜕𝑦2)𝛿𝑦]𝑑𝑥𝑑𝑦
(A.31)
Mais nous avons
𝜕𝐴
𝜕𝑦
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑥 + (
𝜕𝐴
𝜕𝑥)𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦 =
𝜕2𝐴
𝜕𝑥𝜕𝑦(𝜕𝐴
𝜕𝑥𝛿𝑦 +
𝜕𝐴
𝜕𝑦𝛿𝑥)
(A.32)
Et
𝜕
𝜕𝑥(𝛿𝐴) =
𝜕
𝜕𝑥(𝜕𝐴
𝜕𝑥𝛿𝑥 +
𝜕𝐴
𝜕𝑦𝛿𝑦)
=𝜕2𝐴
𝜕𝑥2𝛿𝑥 +
𝜕𝐴
𝜕𝑥
𝜕
𝜕𝑥(𝛿𝑥) +
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦 +
𝜕𝐴
𝜕𝑦
𝜕
𝜕𝑥(𝛿𝑦)
=𝜕2𝐴
𝜕𝑥2𝛿𝑥 +
𝜕𝐴
𝜕𝑥𝛿 (𝜕𝑥
𝜕𝑥) +
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦 +
𝜕𝐴
𝜕𝑥𝛿(𝜕𝑦
𝜕𝑦)
(A.33)
Donc
𝜕
𝜕𝑥(𝛿𝐴) = (
𝜕2𝐴
𝜕𝑥2𝛿𝑥 +
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦)
(A.34)
𝜕𝐴
𝜕𝑥[𝜕2𝐴
𝜕𝑥2𝛿𝑥 +
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦] =
𝜕𝐴
𝜕𝑥
𝜕
𝜕𝑥(𝛿𝐴)
(A.35)
Nous effectuons le même raisonnement pour l’autre terme
𝜕
𝜕𝑦(𝛿𝐴) =
𝜕
𝜕𝑦(𝜕𝐴
𝜕𝑥(𝛿𝑥) +
𝜕𝐴
𝜕𝑦(𝛿𝑦))
153
=𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑥 +
𝜕𝐴
𝜕𝑥
𝜕
𝜕𝑦(𝛿𝑥) +
𝜕2𝐴
𝜕𝑦2(𝛿𝑦) +
𝜕𝐴
𝜕𝑦
𝜕
𝜕𝑦(𝛿𝑦)
=𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑥 +
𝜕2𝐴
𝜕𝑦2(𝛿𝑦)
(A.36)
Nous obtenons
𝜕𝐴
𝜕𝑦[𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑥 +
𝜕2𝐴
𝜕𝑥𝜕𝑦𝛿𝑦] =
𝜕𝐴
𝜕𝑦
𝜕
𝜕𝑦(𝛿𝐴)
(A.37)
En remplaçant les équations A.35 et A.37 dans l’équation de départ A.29, on obtient :
𝛿𝑆 = ∫(𝜕𝐴
𝜕𝑥
𝜕
𝜕𝑥(𝛿𝐴) +
𝜕𝐴
𝜕𝑦
𝜕
𝜕𝑦(𝛿𝐴))𝑑𝑥𝑑𝑦
(A.38)
En intégrant par parties les deux termes :
∫𝜕𝐴
𝜕𝑥
𝜕
𝜕𝑥(𝛿𝐴)𝑑𝑥𝑑𝑦 = −∫(
𝜕2𝐴
𝜕𝑥2)𝛿𝐴 𝜕𝑥𝜕𝑦 + ∫
𝜕𝐴
𝜕𝑥𝛿𝐴𝑛𝑥 𝑑Γ
(A.39)
∫𝜕𝐴
𝜕𝑦
𝜕
𝜕𝑦(𝛿𝐴)𝑑𝑥𝑑𝑦 = −∫(
𝜕2𝐴
𝜕𝑦2)𝛿𝐴 𝜕𝑥𝜕𝑦 + ∫
𝜕𝐴
𝜕𝑦𝛿𝐴𝑛𝑦 𝑑Γ
(A.40)
En faisant la somme :
𝛿𝑆 = −∫(𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2)𝛿𝐴 𝑑𝑥𝑑𝑦 + ∫(
𝜕𝐴
𝜕𝑥𝑛𝑥 +
𝜕𝐴
𝑦𝑛𝑦 ) 𝛿𝐴
= −∫(
𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2)𝛿𝐴 𝑑𝑥𝑑𝑦 + ∫𝑑𝑖𝑣𝐴 𝛿𝐴
(A.41)
154
La surface 𝑍 = 𝐴(𝑥, 𝑦) est centrée par rapport aux axes y et x donc la divergence de part et
d’autre de chaque axe est égale et opposée donc elle s’annule.
Figure A.6 : Divergence d’une surface centrée dans un repère
Donc 𝑑𝑖𝑣𝐴 = 0
Donc 𝛿𝑆 = −∫(𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2) 𝛿𝐴𝑑𝑥𝑑𝑦
𝛿𝑆 = −∫(
𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2)𝛿𝐴 𝑑𝑆
(A.42)
Z
X
Y
𝒅𝒊𝒗�� =0
155
En comparant avec l’équation de départ (2.31):
{
𝛿𝑆 = ∫𝛿𝐴 (
1
𝑅1+1
𝑅2) 𝑑𝑆
𝛿𝑆 = −∫(𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2)𝛿𝐴𝑑𝑆
}
⟹ (1
𝑅1+1
𝑅2) = −(
𝜕2𝐴
𝜕𝑥2+𝜕2𝐴
𝜕𝑦2)
(A.43)
Mais on sait que (1
𝑅1+
1
𝑅2) = 𝜅 représente la courbure et que 𝑍 = 𝐴(𝑥, 𝑦), Z étant très proche
de zéro, alors on peut écrire :
𝐹 = 𝐴(𝑥, 𝑦) − 𝑍 ≈ 𝐴(𝑥, 𝑦) (A.44)
Donc d’après l’expression précédente nous avons :
𝜅 = −𝑑𝑖𝑣 (∇ 𝐴) (A.45)
D’après la définition du vecteur unitaire �� normal en tout point de la surface définie par :
(Pozrikidis 2011)
�� =
∇𝐹
∥ ∇𝐹 ∥=
∇𝐴
∥ ∇𝐴 ∥
(A.46)
Mais on sait que ∥ ∇ 𝐴 ∥= 1
∇ 𝐴 =𝜕𝐴
𝜕𝑥𝑒𝑥 +
𝜕𝐴
𝜕𝑦𝑒𝑦 +
𝜕𝐴
𝜕𝑧𝑒𝑧
=𝜕𝐴
𝜕𝑧𝑒𝑧
=𝜕𝑍
𝜕𝑧𝑒𝑧 = 𝑒𝑧
(A.47)
Donc
156
𝜅 = −𝑑𝑖𝑣 �� (A.48)
A-IV : Preuve que : 𝑑𝑖𝑣(𝑷(Φ(𝑥))) = 𝑑𝑖𝑣Γ(Φ(𝑥))
𝑑𝑖𝑣Γ(𝑓(𝑥)) = 𝑑𝑖𝑣 (𝑷(𝑓(𝑥)))
= 𝑑𝑖𝑣[(Ι − 𝑛⨂𝑛)𝑓(𝑥)]
= 𝑑𝑖𝑣(𝑓(𝑥)) −∑𝑛𝑖𝑛𝑇(∇𝑓𝑖)
3
𝑖=1
𝑑𝑖𝑣Γ(𝑓(𝑥)) = 𝑑𝑖𝑣(𝑓(𝑥)) − �� 𝑇(∇ 𝑓)�� (𝐴. 49)
On sait que
𝑛𝑇 ⨂�� = 1
∇(𝑛𝑇 ⨂�� ) = 0
∇ n. n = 0
En remplaçant dans l’équation précédente, la fonction vectorielle 𝑓(𝑥) par n on aura :
𝑑𝑖𝑣Γ(�� (𝑥)) = 𝑑𝑖𝑣(�� (𝑥)) − �� 𝑇(𝑥) (∇ �� (𝑥)) . �� (𝑥) (𝐴. 50)
Mais on sait que
�� 𝑇(𝑥) (∇ �� (𝑥)) . �� (𝑥) = 0
Donc
𝑑𝑖𝑣Γ(�� (𝑥)) = 𝑑𝑖𝑣(�� (𝑥)) (𝐴. 51)
On sait que la propriété suivante est vérifiée :
157
𝑑𝑖𝑣(Φ(𝑥)�� (𝑥)) = Φ(𝑥)𝑑𝑖𝑣(�� (𝑥))
= Φ(𝑥)𝑑𝑖𝑣Γ(�� (𝑥))
= 𝑑𝑖𝑣Γ(Φ(𝑥)�� (𝑥))
𝑖𝑣Γ(Φ(𝑥)�� (𝑥)) = Φ(𝑥)𝑑𝑖𝑣Γ(�� (𝑥)) (𝐴. 52)
158
Annexe B
Méthode Nitsche
Dans cette annexe, nous allons développer la méthode Nitsche, dans le cas de l’équation de
Stokes dans le cas d’un écoulement monophasique, appliquée aux frontières dans le cas des
conditions de Dirichlet. Le but de ce développement est de permettre d’avoir une progression
dans le développement de la méthode Nitsche. Pour faciliter la compréhension et avoir une
progression dans la difficulté au fur et à mesure que les termes s’ajoutent à l’équation, la
complexité des termes Nitsche augmente. Dans la section du chapitre 4, nous avons
développé cette méthode dans le cas de l’équation de Poisson comme étant le cas le plus
simple, ensuite Poisson à deux domaines pour finir avec l’équation de Navier-Stokes dans
les cas de deux fluides non miscibles, où les termes Nitsche sont très compliqués. Pour bien
comprendre le passage entre l’équation de Poisson et Navier-Stokes, il faut passer par
l’équation de Stokes.
Équation de Stokes
Soit Ω un domaine 2D fermé dans ℝ2 avec une frontière 𝜕Ω. L’équation de Stokes pour un problème
stationnaire pour un écoulement incompressible visqueux à deux dimensions s’écrit :
{−𝜇∆𝑢 + ∇𝑝 = 𝑓 𝑖𝑛 Ω ∇. 𝑢 = 0 𝑖𝑛 Ω𝑢 = 0 𝑜𝑛 𝜕Ω
(𝐵. 1)
Avec 𝑢 est la vitesse, 𝜇 la viscosité dynamique, 𝑝 est la pression et 𝑓 la force extérieure qui agit dans
le fluide.
La solution exacte 2D de l’équation de Stokes est :
159
𝑓(𝑥, 𝑦) =
{
−𝜋 sin(𝜋𝑥) +𝜋2 sin(𝜋𝑦)
𝑅𝑒+ 1
𝜋2 sin(𝜋𝑥)
𝑅𝑒
(𝐵. 2)
𝑢𝑒𝑥𝑎𝑐𝑡 = {𝑦 + sin(𝜋𝑦)
𝑥 + sin(𝜋𝑥) (𝐵. 3)
𝑃𝑒𝑥𝑎𝑐𝑡 = 𝑥 + cos(𝜋𝑥) (𝐵. 4)
On va résoudre l’équation de Stokes numériquement, associée aux conditions de Dirichlet,
dans le contexte des éléments finis FEM, couplée à la méthode Nitsche pour exprimer les
conditions de Dirichlet sous la forme Nitsche. Après avoir résolu ça, on comparera la solution
FEM/Nitsche avec la solution exacte et on calculera l’erreur entre les deux. Prenons d’abord
la formulation faible du problème avec une viscosité égale à l’unité .Les conditions de
Dirichlet sont renforcées avec une formulation faible Nitsche avec des termes de pénalité
additionnels qui maintiennent la stabilité des opérateurs.
On choisira l’interpolation de Taylor-Hood (Benk et al 2011) en choisissant les fonctions
éléments finis biquadratiques pour la discrétisation de l’espace des vitesses, et les fonctions
bilinéaires éléments finis pour discrétiser l’espace des pressions, en ajoutant les termes de
pénalité et de stabilisation 𝛾1
ℎ𝐸𝑅𝑒< 𝑢, 𝑣 >∂Ω+
𝛾2
ℎ𝐸< 𝑢. 𝑛, 𝑣. 𝑛 >∂Ω avec 𝛾1 et 𝛾2 des
constantes de stabilisation.
Pour la simulation nous allons prendre un domaine rectangulaire avec une longueur de 20 et
une hauteur de 4, [0,20] × [0,4]. On fera varier le nombre de cellules 𝑁 ×𝑁 dans chaque
cas .Le nombre de Reynolds sera constant tout au long de la simulation et sera pris égal à
𝑅𝑒 = 300. La formulation symétrique faible de la partie volumique s’écrit :
{𝑎 =
1
𝑅𝑒( ∇(𝑢), ∇(𝑣))
Ω− ( p, ∇. (v))
Ω− ( q, ∇. (u))
Ω
𝐿 = (𝑓, 𝑣 )Ω
(𝐵. 5)
À cette partie, on rajoutera les termes qui renforceront les formulations faibles Nitsche des
conditions de Dirichlet pour obtenir la formulation symétrique Nitsche
160
{
𝑎+ = −
1
𝑅𝑒< ∇(𝑢). 𝑛, 𝑣 >∂Ω−< p. 𝑛, 𝑣 >∂Ω+< q. n, u >∂Ω
−1
𝑅𝑒< ∇(𝑣). 𝑛, 𝑢 >∂Ω+
𝛽
ℎ𝐸𝑅𝑒< 𝑢, 𝑣 >∂Ω
𝐿+ = −1
𝑅𝑒< ∇(𝑣). 𝑛, u𝑒𝑥𝑎𝑐𝑡 >∂Ω−< 𝑞. 𝑛, u𝑒𝑥𝑎𝑐𝑡 >∂Ω
+𝛽
ℎ𝐸𝑅𝑒< u𝑒𝑥𝑎𝑐𝑡 , 𝑣 >∂Ω
(B. 6)
Avec (�� , 𝑝) étant les fonctions d’essais et (𝑣 , 𝑞) les fonctions testes pour notre problème, 𝛽
étant une constante de paramétrisation et elle est prise 𝛽 = 10. ℎ𝐸 représente la dimension
du maillage local et u𝑒𝑥𝑎𝑐𝑡 la solution exacte de l’équation de Stokes.
La formulation asymétrique pour la partie volumique est :
{𝑎 =
1
𝑅𝑒( ∇(𝑢), ∇(𝑣))
Ω− ( p, ∇. (v))
Ω+ ( q, ∇. (u))
Ω
𝐿 = (𝑓, 𝑣 )Ω
(𝐵. 7)
Pour la partie qui décrit la surface extérieure du domaine
{
𝑎+ = −
1
𝑅𝑒< ∇(𝑢). 𝑛, 𝑣 >∂Ω+< p. 𝑛, 𝑣 >∂Ω−< q. n, u >∂Ω
−1
𝑅𝑒< 𝑢, ∇(𝑣). 𝑛 >∂Ω+
𝛾1ℎ𝐸𝑅𝑒
< 𝑢, 𝑣 >∂Ω
+𝛾2ℎ𝐸< 𝑢. 𝑛, 𝑣. 𝑛 >∂Ω
𝐿+ = −1
𝑅𝑒< u𝑒𝑥𝑎𝑐𝑡 , ∇(𝑣). 𝑛 >∂Ω−< 𝑞. 𝑛, u𝑒𝑥𝑎𝑐𝑡 >∂Ω
+𝛾1ℎ𝐸𝑅𝑒
< u𝑒𝑥𝑎𝑐𝑡, 𝑣 >∂Ω+𝛾2ℎ𝐸< u𝑒𝑥𝑎𝑐𝑡 . 𝑛, 𝑣. 𝑛 >∂Ω
(𝐵. 8)
On couple la formulation classique et la formulation Nitsche dans le même code de calcul
.On utilisera la technique de stabilisation connue, pour régler les contraintes liées à la
divergence .La condition de glissement est prise �� . �� = 0 sur les parois du domaine ∂Ω.
161
On obtient la figure (B1) qui représente la variation logarithmique de l’erreur et de la
dimension de la cellule h en fonction du nombre de cellules N. Comme on peut le voir log(e)
et log(h) diminuent avec l’augmentation du nombre de cellules N, qui est une première
confirmation du fait que la méthode Nitsche est une méthode qui est dépendante du maillage
.En deuxième remarque, l’erreur entre la solution exacte et la solution obtenue avec la
méthode Nitsche est très petite et commence à être négligeable à partir d’un certain nombre
de cellules.
Dans la figure (B2) nous avons représenté la variation de log(e) et log(h) pour différentes
valeurs du paramètre de stabilisation 𝛽
Figure B.1 : Variation de log(h) et log(e) en fonction de N
Figure B.2 : Variation de Log(h) et Log(e) pour différents paramètres de stabilisation 𝛽
-15
-10
-5
0
5
10
0 400 800 1200
Number of cells (N)
log(h) log(Error)
0
2
4
6
8
10
0,2429 -0,4503 -1,143 -1,8369
log(
e)
log(h)
log(e)β=8
log(e)β=10
log(e)β=12
log(e)β=50
162
Nombre de cellules (N) h Erreur Rate
16 1.275E+00 1.667E+03 -1.08
32 6.374E-01 3.190E+02 0.07
64 3.187E-01 3.503E+01 0.85
128 1.593E-01 4.335E+00 1.28
254 7.967E-02 1.140E+00 1.48
1016 9.956E-05 2.154E-02 1.05
Tableau B.1: Valeurs de h de l’erreur et du taux de convergence en fonction du nombre de
cellules N
163
Annexe C
Programmes FEniCS
Dans cette annexe nous allons classer tous les programmes développés dans le cadre de cette
thèse. Les résultats de ces différents programmes ont été utilisés dans ce manuscrit. Que ça
soit dans les exemples des chapitres constitutifs ou dans la partie résultats et discussion.
1. '''Équation de Poisson deux domaines''' 2. 3. from dolfin import * 4. 5. # Create classes for defining parts of the boundaries and the interior 6. # of the domain 7. class Left(SubDomain): 8. def inside(self, x, on_boundary): 9. return near(x[0], 0.0) 10. 11. class Right(SubDomain): 12. def inside(self, x, on_boundary): 13. return near(x[0], 1.0) 14. 15. class Bottom(SubDomain): 16. def inside(self, x, on_boundary): 17. return near(x[1], 0.0) 18. 19. class Top(SubDomain): 20. def inside(self, x, on_boundary): 21. return near(x[1], 1.0) 22. 23. class Obstacle(SubDomain): 24. def inside(self, x, on_boundary): 25. return (between(x[1], (0.5, 0.8)) and between(x[0], (0, 1.0))) 26. 27. 28. # Initialize sub-domain instances 29. left = Left() 30. top = Top() 31. right = Right() 32. bottom = Bottom() 33. obstacle = Obstacle() 34. 35. # Define mesh 36. mesh = UnitSquareMesh(256,256) 37. 38. # Initialize mesh function for interior domains 39. domains = CellFunction("size_t", mesh) 40. domains.set_all(0) 41. obstacle.mark(domains, 1)
164
42. 43. # Initialize mesh function for boundary domains 44. boundaries = FacetFunction("size_t", mesh) 45. boundaries.set_all(0) 46. left.mark(boundaries, 1) 47. top.mark(boundaries, 2) 48. right.mark(boundaries, 3) 49. bottom.mark(boundaries, 4) 50. 51. # Define input data 52. a0 = Constant(10000.0) 53. a1 = Constant(0.000001) 54. g_L = Expression("6.0") 55. g_R = Constant("6.0") 56. f = Constant(4.0) 57. 58. # Define function space and basis functions 59. V = FunctionSpace(mesh, "CG", 2) 60. u = TrialFunction(V) 61. v = TestFunction(V) 62. 63. # Define Dirichlet boundary conditions at top and bottom boundaries 64. bcs = [DirichletBC(V, 200.0, boundaries, 2), 65. DirichletBC(V, 2.0, boundaries, 4)] 66. 67. # Define new measures associated with the interior domains and 68. # exterior boundaries 69. dx = Measure("dx")[domains] 70. ds = Measure("ds")[boundaries] 71. 72. # Define variational form 73. F = (inner(a0*grad(u), grad(v))*dx(0) + inner(a1*grad(u), grad(v))*dx(1) 74. - g_L*v*ds(1) - g_R*v*ds(3) 75. - f*v*dx(0)- f*v*dx(3) ) 76. 77. # Separate left and right hand sides of equation 78. a, L = lhs(F), rhs(F) 79. 80. # Solve problem 81. u = Function(V) 82. solve(a == L, u, bcs) 83. 84. # Evaluate integral of normal gradient over top boundary 85. n = FacetNormal(mesh) 86. m1 = dot(grad(u), n)*ds(2) 87. v1 = assemble(m1) 88. print "\int grad(u) * n ds(2) = ", v1 89. 90. # Evaluate integral of u over the obstacle 91. m2 = u*dx(1) 92. v2 = assemble(m2) 93. print "\int u dx(1) = ", v2 94. 95. # Plot solution and gradient 96. plot(u, title="u") 97. #plot(grad(u), title="plot(grad(u)") 98. interactive()
165
1. """ 2. Interface jump pressure 3. """ 4. from dolfin import* 5. class DirichletBoundary(SubDomain): 6. def inside(self, x, on_boundary): 7. return abs(x[0] - 1.0) < DOLFIN_EPS and on_boundary 8. # mesh 9. mesh = UnitSquareMesh(64,64) 10. 11. # Defining the function spaces 12. 13. V_dg = FunctionSpace(mesh, "DG", 1) 14. V_cg = FunctionSpace(mesh, "CG", 1) 15. V_u = VectorFunctionSpace(mesh, "DG", 2) 16. # Create velocity Function 17. u = interpolate( Constant(("-10.0","+10.0")), V_u) 18. # Test and trial functions 19. v = TestFunction(V_dg) 20. phi = TrialFunction(V_dg) 21. 22. # Diffusivity 23. kappa = Constant(0.0001) 24. 25. # Source term 26. f = Constant(5.0) 27. 28. # Penalty term 29. alpha = Constant(-2.0) 30. # Mesh-related functions 31. n = FacetNormal(mesh) 32. h = CellSize(mesh) 33. h_avg = (h("+") + h("-"))/2 34. 35. # ( dot(v, n) + |dot(v, n)| )/2.0 36. un = (dot(u, n) + abs(dot(u, n)))/2.0 37. 38. # Bilinear form 39. a_int = dot(grad(v), kappa*grad(phi) - u*phi)*dx 40. 41. a_fac = kappa("+")*(alpha("+")/h("+"))*dot(jump(v, n), jump(phi, n))*dS \ 42. - kappa("+")*dot(avg(grad(v)), jump(phi, n))*dS \ 43. - kappa("+")*dot(jump(v, n), avg(grad(phi)))*dS 44. 45. a_vel = dot(jump(v), un("+")*phi("+") - un("-")*phi("-") )*dS \ 46. + dot(v, un*phi)*ds 47. a = a_int + a_fac + a_vel 48. # Linear form 49. L = v*f*dx 50. # Set up boundary condition (apply strong BCs) 51. g = Expression("sin(x[1])+4.0") 52. bc = DirichletBC(V_dg, g, DirichletBoundary(), "geometric") 53. # Solution function 54. phi_h = Function(V_dg) 55. # Assemble and apply boundary conditions 56. A = assemble(a) 57. b = assemble(L) 58. bc.apply(A, b) 59. # Solve system 60. solve(A, phi_h.vector(), b) 61. # Project solution to a continuous function space
166
62. up = project(phi_h, V=V_cg) 63. file = File("temperature.pvd") 64. file << up 65. # Evaluate integral of u over the obstacle 66. m1 = kappa("+")/h("+")*dot(jump(v, n), jump(phi, n))*dS 67. v1 = assemble(m1) 68. print "\int kappa("+")/h("+")*dot(jump(v, n), jump(phi, n))*dS= ", v1 69. # Plot solution 70. plot(up, interactive=True)
167
Programmes Nitsche
1. ''' 2. Methode Nitsche équation de Poisson 3. ''' 4. 5. from collections import namedtuple 6. from math import log as ln 7. from dolfin import * 8. 9. set_log_level(WARNING) 10. 11. Result = namedtuple('Result', ['h', 'L2', 'H10', 'H1']) 12. 13. f = Expression('2*pi*pi*sin(pi*x[0])*sin(pi*x[1])') 14. u_exact = Expression('x[0]*x[1] + sin(pi*x[0])*sin(pi*x[1])') 15. 16. 17. def strong_poisson(N): 18. 'Standard formulation with strongly imposed bcs.' 19. 20. mesh =UnitSquareMesh(N,N) 21. 22. V = FunctionSpace(mesh, 'CG', 1) 23. u = TrialFunction(V) 24. v = TestFunction(V) 25. 26. a = inner(grad(u), grad(v))*dx 27. L = inner(f, v)*dx 28. bc = DirichletBC(V, u_exact, DomainBoundary()) 29. 30. uh = Function(V) 31. solve(a == L, uh, bc) 32. 33. plot(uh, interactive=True) 34. # plot(uh, title='numeric') 35. # plot(u_exact, mesh=mesh, title='exact') 36. # interactive() 37. 38. # Compute norm of error 39. E = FunctionSpace(mesh, 'CG', 4) 40. uh = interpolate(uh, E) 41. u = interpolate(u_exact, E) 42. e = uh - u 43. 44. norm_L2 = assemble(inner(e, e)*dx, mesh=mesh) 45. norm_H10 = assemble(inner(grad(e), grad(e))*dx, mesh=mesh) 46. norm_H1 = norm_L2 + norm_H10 47. 48. norm_L2 = sqrt(norm_L2) 49. norm_H1 = sqrt(norm_H1) 50. norm_H10 = sqrt(norm_H10) 51. 52. return Result(h=mesh.hmin(), L2=norm_L2, H1=norm_H1, H10=norm_H10) 53. 54. 55. def nitsche1_poisson(N): 56. 'Classical (symmetric) Nitsche formulation.'
168
57. 58. mesh =UnitSquareMesh(N,N) 59. 60. V = FunctionSpace(mesh, 'CG', 1) 61. u = TrialFunction(V) 62. v = TestFunction(V) 63. 64. beta_value = 20 65. beta = Constant(beta_value) 66. h_E = mesh.ufl_cell().max_facet_edge_length 67. n = FacetNormal(mesh) 68. 69. a = inner(grad(u), grad(v))*dx - inner(dot(grad(u), n), v)*ds -\ 70. inner(u, dot(grad(v), n))*ds + beta*h_E**-1*inner(u, v)*ds 71. # Beta is related to constant from inverse inequality 72. # h_E*norm((grad(u).n), L2(\Gamma)) < C*norm(grad(u), \Omega) 73. 74. L = inner(f, v)*dx -\ 75. inner(u_exact, dot(grad(v), n))*ds + beta*h_E**-
1*inner(u_exact, v)*ds 76. 77. uh = Function(V) 78. solve(a == L, uh) 79. plot(uh, interactive=True) 80. # plot(uh, title='numeric') 81. # plot(u_exact, mesh=mesh, title='exact') 82. # interactive() 83. 84. # Compute norm of error 85. E = FunctionSpace(mesh, 'CG', 4) 86. uh = interpolate(uh, E) 87. u = interpolate(u_exact, E) 88. e = uh - u 89. 90. norm_L2 = assemble(inner(e, e)*dx, mesh=mesh) 91. norm_H10 = assemble(inner(grad(e), grad(e))*dx, mesh=mesh) 92. norm_edge = assemble(h_E**-1*inner(e, e)*ds) 93. 94. norm_H1 = norm_L2 + norm_H10 + norm_edge 95. norm_L2 = sqrt(norm_L2) 96. norm_H1 = sqrt(norm_H1) 97. norm_H10 = sqrt(norm_H10) 98. 99. return Result(h=mesh.hmin(), L2=norm_L2, H1=norm_H1, H10=norm_H10) 100. 101. 102. def nitsche2_poisson(N): 103. 'Unsymmetric Nitsche formulation.' 104. mesh=UnitSquareMesh(N,N) 105. 106. V = FunctionSpace(mesh, 'CG', 1) 107. u = TrialFunction(V) 108. v = TestFunction(V) 109. 110. beta_value = 20 111. beta = Constant(beta_value) 112. h_E = mesh.ufl_cell().max_facet_edge_length 113. n = FacetNormal(mesh) 114. 115. a = inner(grad(u), grad(v))*dx - inner(dot(grad(u), n), v)*ds +\ 116. inner(u, dot(grad(v), n))*ds + beta*h_E**-1*inner(u, v)*ds
169
117. # The symmetry is lost but beta is not tied anymore to constant from 118. # inverse estimate 119. 120. L = inner(f, v)*dx +\ 121. inner(u_exact, dot(grad(v), n))*ds + beta*h_E**-
1*inner(u_exact, v)*ds 122. 123. uh = Function(V) 124. solve(a == L, uh) 125. 126. 127. #plot(uh, title='numeric') 128. #plot(u_exact, mesh=mesh, title='exact') 129. 130. #interactive() 131. plot(uh, interactive=True) 132. 133. 134. # Compute norm of error 135. E = FunctionSpace(mesh, 'CG', 4) 136. uh = interpolate(uh, E) 137. u = interpolate(u_exact, E) 138. e = uh - u 139. 140. norm_L2 = assemble(inner(e, e)*dx, mesh=mesh) 141. norm_H10 = assemble(inner(grad(e), grad(e))*dx, mesh=mesh) 142. norm_edge = assemble(h_E**-1*inner(e, e)*ds) 143. norm_H1 = norm_L2 + norm_H10 + norm_edge 144. 145. norm_L2 = sqrt(norm_L2) 146. norm_H1 = sqrt(norm_H1) 147. norm_H10 = sqrt(norm_H10) 148. 149. return Result(h=mesh.hmin(), L2=norm_L2, H1=norm_H1, H10=norm_H10) 150. 151. # ---------------------------------------------------------------------------
-- 152. 153. methods = [strong_poisson, nitsche1_poisson, nitsche2_poisson] 154. method = methods[1] 155. norm_type = 'L2' 156. R = method(N=4) 157. h_ = R.h 158. e_ = getattr(R, norm_type) 159. 160. for N in [8, 16, 32, 64, 128]: 161. R = method(N=N) 162. h = R.h 163. e = getattr(R, norm_type) 164. rate = ln(e/(e_))/ln(h/(h_)) 165. 166. print '{h:.3E} {e:.3E} {rate:.2f}'.format(h=h, e=e, rate=rate) 167. 168.
170
1. ''' 2. Methode Nitsche couplé à l’équation de Stokes 3. 4. ''' 5. 6. from collections import namedtuple 7. from math import log as ln 8. from dolfin import * 9. 10. set_log_level(WARNING) 11. 12. Result = namedtuple('Result', ['h', 'u', 'p']) 13. 14. re = 300 15. f = Expression(('-pi*sin(pi*x[0]) + pi*pi*sin(pi*x[1])/re + 1', 16. 'pi*pi*sin(pi*x[0])/re'), re=re) 17. u_exact = Expression(('x[1] + sin(pi*x[1])', 'x[0] + sin(pi*x[0])')) 18. p_exact = Expression('x[0] + cos(pi*x[0])') 19. 20. 21. def standard_stokes(N, symmetric=True): 22. 'Standard symmetric/skew-symmetric formulation.' 23. 24. mesh = Mesh(Rectangle(0, 0, 20,4), N,N) 25. 26. V = VectorFunctionSpace(mesh, 'CG', 2) 27. Q = FunctionSpace(mesh, 'CG', 1) 28. M = MixedFunctionSpace([V, Q]) 29. 30. u, p = TrialFunctions(M) 31. v, q = TestFunctions(M) 32. 33. Re = Constant(re) 34. 35. if symmetric: 36. a = Re**-1*inner(grad(u), grad(v))*dx\ 37. - inner(p, div(v))*dx - inner(q, div(u))*dx 38. else: 39. a = Re**-1*inner(grad(u), grad(v))*dx\ 40. - inner(p, div(v))*dx + inner(q, div(u))*dx 41. 42. L = inner(f, v)*dx 43. 44. bc = DirichletBC(M.sub(0), u_exact, DomainBoundary()) 45. 46. A, b = assemble_system(a, L, bc) 47. uph = Function(M) 48. solve(A, uph.vector(), b) 49. 50. uh, ph = uph.split(True) 51. 52. # Pressure determined up to constant. Fix it to match the p_exact 53. Ph = ph.vector() 54. normalize(Ph) 55. Ph += 0.5 56.
171
57. # plot(uh, title='u numeric') 58. # plot(ph, title='p numeric') 59. # plot(u_exact, title='u exact', mesh=mesh) 60. # plot(p_exact, title='p exact', mesh=mesh) 61. # interactive() 62. # Compute norm of error 63. 64. Eu = VectorFunctionSpace(mesh, 'DG', 5) 65. Ep = FunctionSpace(mesh, 'CG', 4) 66. 67. uh = interpolate(uh, Eu) 68. ph = interpolate(ph, Ep) 69. u = interpolate(u_exact, Eu) 70. p = interpolate(p_exact, Ep) 71. eu = uh - u 72. ep = ph - p 73. 74. error_u_L2 = assemble(eu**2*dx, mesh=mesh) 75. error_u_H10 = assemble(grad(eu)**2*dx, mesh=mesh) 76. error_u = sqrt(error_u_L2 + error_u_H10) 77. 78. error_p_L2 = assemble(ep**2*dx, mesh=mesh) 79. error_p = sqrt(error_p_L2) 80. 81. return Result(h=mesh.hmin(), u=error_u, p=error_p) 82. 83. 84. def nitsche_stokes(N, symmetric=True): 85. 'Symmetric or ske-symmetric Nitsche formulation.' 86. 87. mesh = RectangleMesh(0.0, 0.0, 20.0, 4.0, N,N) 88. 89. V = VectorFunctionSpace(mesh, 'CG', 2) 90. Q = FunctionSpace(mesh, 'CG', 1) 91. M = MixedFunctionSpace([V, Q]) 92. 93. u, p = TrialFunctions(M) 94. v, q = TestFunctions(M) 95. 96. Re = Constant(re) 97. h_E = mesh.ufl_cell().max_facet_edge_length 98. n = FacetNormal(mesh) 99. 100. if symmetric: 101. a = Re**-1*inner(grad(u), grad(v))*dx\ 102. - inner(p, div(v))*dx - inner(q, div(u))*dx\ 103. 104. L = inner(f, v)*dx 105. 106. # Add terms forcing dirichlet bcs 107. beta_value = 50 108. beta = Constant(beta_value) 109. 110. a += - Re**-1*inner(dot(grad(u), n), v)*ds\ 111. + inner(p*n, v)*ds\ 112. - Re**-1*inner(dot(grad(v), n), u)*ds\ 113. + inner(q*n, u)*ds\ 114. + beta/h_E/Re*inner(u, v)*ds 115. 116. L += - Re**-1*inner(dot(grad(v), n), u_exact)*ds\ 117. + inner(q*n, u_exact)*ds\
172
118. + beta/h_E/Re*inner(u_exact, v)*ds 119. else: 120. # Add terms forcing dirichlet bcs 121. gamma_1_value = 4 122. gamma_2_value = 8 123. gamma_1 = Constant(gamma_1_value) 124. gamma_2 = Constant(gamma_2_value) 125. 126. a = Re**-1*inner(grad(u), grad(v))*dx\ 127. - inner(p, div(v))*dx + inner(q, div(u))*dx 128. 129. L = inner(f, v)*dx 130. 131. # Add terms enforcing boundary conditions 132. a += - Re**-1*inner(dot(grad(u), n), v)*ds\ 133. + inner(p*n, v)*ds\ 134. - Re**-1*inner(u, dot(grad(v), n))*ds\ 135. - inner(q*n, u)*ds\ 136. + gamma_1/h_E/Re*inner(u, v)*ds\ 137. + gamma_2/h_E*inner(dot(u, n), dot(v, n))*ds # No Re**-1 ! 138. 139. L += - Re**-1*inner(u_exact, dot(grad(v), n))*ds\ 140. - inner(q*n, u_exact)*ds\ 141. + gamma_1/h_E/Re*inner(u_exact, v)*ds\ 142. + gamma_2/h_E*inner(dot(u_exact, n), dot(v, n))*ds # No Re**-1 143. 144. A, b = assemble_system(a, L) 145. uph = Function(M) 146. solve(A, uph.vector(), b) 147. 148. uh, ph = uph.split(True) 149. # plot(uh, interactive=True) 150. plot(uh, interactive=True) 151. plot(ph, interactive=True) 152. # Pressure determined up to constant. Fix it to match the p_exact 153. Ph = ph.vector() 154. normalize(Ph) 155. Ph += 0.5 156. 157. # plot(uh, title='u numeric') 158. # plot(ph, title='p numeric') 159. # plot(u_exact, title='u exact', mesh=mesh) 160. # plot(p_exact, title='p exact', mesh=mesh) 161. # interactive() 162. # Compute norm of error 163. 164. Eu = VectorFunctionSpace(mesh, 'DG', 5) 165. Ep = FunctionSpace(mesh, 'CG', 4) 166. 167. uh = interpolate(uh, Eu) 168. ph = interpolate(ph, Ep) 169. u = interpolate(u_exact, Eu) 170. p = interpolate(p_exact, Ep) 171. eu = uh - u 172. ep = ph - p 173. 174. error_u_L2 = assemble(eu**2*dx, mesh=mesh) 175. error_u_H10 = assemble(grad(eu)**2*dx, mesh=mesh) 176. error_u = sqrt(error_u_L2 + error_u_H10) 177. 178. error_p_L2 = assemble(ep**2*dx, mesh=mesh)
173
179. error_p = sqrt(error_p_L2) 180. 181. return Result(h=mesh.hmin(), u=error_u, p=error_p) 182. 183. 184. # ---------------------------------------------------------------------------
- 185. 186. methods = [standard_stokes, nitsche_stokes] 187. method = methods[1] 188. norm_type = 'u' 189. symmetric = True 190. 191. R = method(N=4, symmetric=symmetric) 192. h_ = R.h 193. e_ = getattr(R, norm_type) 194. for N in [16,32,64,128,254]: 195. R = method(N=N, symmetric=symmetric) 196. h = R.h 197. e = getattr(R, norm_type) 198. rate = ln(e/e_)/ln(h/h_) 199. print '{h:.3E} {e:.3E} {rate:.2f}'.format(h=h, e=e, rate=rate) 200. 201. 202. 203. 204. 205. interactive ()
174
1. ''' 2. Nitche s method\Navier_stokes with free slip 3. boundary conditions. 4. ''' 5. 6. from dolfin import * 7. 8. # Create classes for defining parts of the boundaries and the interior 9. # of the domain 10. class Left(SubDomain): 11. def inside(self, x, on_boundary): 12. return near(x[0], 0.0) 13. 14. class Right(SubDomain): 15. def inside(self, x, on_boundary): 16. return near(x[0], 1.0) 17. 18. class Bottom(SubDomain): 19. def inside(self, x, on_boundary): 20. return near(x[1], 0.0) 21. 22. class Top(SubDomain): 23. def inside(self, x, on_boundary): 24. return near(x[1], 1.0) 25. 26. class Obstacle(SubDomain): 27. def inside(self, x, on_boundary): 28. return (between(x[1], (0.4, 0.6)) and between(x[0], (0, 1.0))) 29. 30. # Initialize sub-domain instances 31. left = Left() 32. top = Top() 33. right = Right() 34. bottom = Bottom() 35. obstacle = Obstacle() 36. 37. # Define mesh 38. mesh = UnitSquareMesh(64, 64) 39. 40. # Initialize mesh function for interior domains 41. domains = CellFunction("size_t", mesh) 42. domains.set_all(0) 43. obstacle.mark(domains, 1) 44. 45. # Initialize mesh function for boundary domains 46. boundaries = FacetFunction("size_t", mesh) 47. boundaries.set_all(0) 48. left.mark(boundaries, 1) 49. top.mark(boundaries, 2) 50. right.mark(boundaries, 3) 51. bottom.mark(boundaries, 4) 52. 53. # Define input data 54. a0 = Constant(10.0) 55. a1 = Constant(0.01) 56. 57. g_L = Expression("- 10*exp(- pow(x[1] - 0.5, 2))") 58. g_R = Constant("1.0") 59. f = Constant(1.0)
175
60. 61. from dolfin import * 62. 63. f = Constant((0., 0.)) 64. u_inlet = Expression(('0', '0')) 65. u_wall = Constant((0., 0.)) 66. p_io = Constant(1000.) 67. mu = Constant(10) 68. 69. 70. 71. from dolfin import * 72. 73. def penalty(): 74. 'Enforcing u.n = 0 by penalty method.' 75. 76. V = VectorFunctionSpace(mesh, 'CG', 2) 77. Q = FunctionSpace(mesh, 'CG', 1) 78. M = MixedFunctionSpace([V, Q]) 79. 80. up = TrialFunction(M) 81. u, p = split(up) 82. 83. vq = TestFunction(M) 84. v, q = split(vq) 85. 86. up0 = Function(M) 87. u0, p0 = split(up0) 88. 89. inlet_bdry = 15 90. wall_bdry = 16 91. cylinder_bdry = 17 92. outlet0_bdry = 18 93. outlet1_bdry = 19 94. 95. mu = Constant(10) 96. ds = Measure('ds')[boundaries] 97. n = FacetNormal(mesh) 98. h = mesh.ufl_cell().max_facet_edge_length 99. 100. D = lambda u: sym(grad(u)) 101. S = lambda u, p: -p*Identity(2) + 2*mu*D(u) 102. t = lambda u, p: dot(S(u, p), n) 103. s = Constant(2) 104. 105. F = inner(dot(grad(u), u0), v)*dx + inner(2*mu*D(u), D(v))*dx\ 106. - inner(p, div(v))*dx - inner(q, div(u))*dx\ 107. - inner(dot(mu*grad(u).T, n), v)*ds(outlet0_bdry)\ 108. - inner(2*mu*dot(D(u), n), v)*ds(outlet1_bdry)\ 109. - inner(dot(t(u, p), n), dot(v, n))*ds(cylinder_bdry)\ 110. + (1/h**s)*inner(dot(u, n), dot(v, n))*ds(cylinder_bdry)\ 111. - inner(f, v)*dx + inner(p_io*n, v)*ds(outlet1_bdry) 112. 113. a, L = system(F) 114. 115. bc_inlet = DirichletBC(M.sub(0), u_inlet, boundaries, inlet_bdry) 116. bc_wall = DirichletBC(M.sub(0), u_wall, boundaries, wall_bdry) 117. bcs = [bc_inlet, bc_wall] 118. 119. up = Function(M) 120. iter = 0
176
121. iter_max = 50 122. converged = False 123. tol = 1E-8 124. e = 0 125. while not converged and iter < iter_max: 126. iter += 1 127. print 'Iteration', iter 128. 129. up0.assign(up) 130. 131. A = assemble(a) 132. b = assemble(L) 133. [bc.apply(A, b) for bc in bcs] 134. 135. solve(A, up.vector(), b) 136. 137. if iter == 1: 138. converged = False 139. u, _ = up.split(True) 140. error0 = sqrt(assemble(inner(u, u)*dx)) 141. else: 142. u, _ = up.split(True) 143. error = sqrt(assemble(inner(u, u)*dx)) 144. e = abs(error - error0)/(error + error0) 145. error0 = error 146. converged = e < tol 147. 148. print '\t Error', e 149. 150. u, p = up.split(True) 151. 152. plot(u, title='Penalty, velocity') 153. plot(p, title='Penalty, pressure') 154. interactive() 155. 156. 157. def nitsche(): 158. '''Velocity bcs on wall and inlet as well as u.n=0 on cylinder are enforced
159. strongly.''' 160. 161. 162. V = VectorFunctionSpace(mesh, 'CG',2) 163. Q = FunctionSpace(mesh, 'CG', 1) 164. M = MixedFunctionSpace([V, Q]) 165. 166. u, p = TrialFunctions(M) 167. v, q = TestFunctions(M) 168. 169. up0 = Function(M) 170. u0, p0 = split(up0) 171. 172. # These are all marked boundaries 173. inlet_bdry = 15 174. wall_bdry = 16 175. cylinder_bdry = 17 176. outlet0_bdry = 18 177. outlet1_bdry = 19 178. 179. ds = Measure('ds')[boundaries] 180. n = FacetNormal(mesh)
177
181. h = mesh.ufl_cell().max_facet_edge_length 182. 183. D = lambda u: sym(grad(u)) 184. S = lambda u, p: -p*Identity(2) + 2*mu*D(u) 185. t = lambda u, p: dot(S(u, p), n) 186. 187. # Volume parts 188. a = inner(dot(grad(u), u0), v)*dx\ 189. - inner(p, div(v))*dx - inner(q, div(u))*dx\ 190. + inner(2*mu*D(u), D(v))*dx 191. 192. L = inner(f, v)*dx 193. 194. # Add pressure boundary term 195. a += - inner(dot(2*mu*D(u), n), v)*ds(outlet1_bdry) 196. L += - inner(p_io*n, v)*ds(outlet1_bdry) 197. 198. # Add zero traction on oulet0 199. a += - inner(dot(mu*grad(u).T, n), v)*ds(outlet0_bdry) 200. 201. beta1 = Constant(40) 202. # Add free slip, u.n = 0 so nothing for L 203. a += - inner(dot(v, n), dot(t(u, p), n))*ds(cylinder_bdry)\ 204. - inner(dot(u, n), dot(t(v, q), n))*ds(cylinder_bdry)\ 205. + beta1*mu/h*inner(dot(u, n), dot(v, n))*ds(cylinder_bdry) 206. 207. # Add velocity 208. ds_u = ds(inlet_bdry) + ds(wall_bdry) 209. a += -inner(dot(S(u, p), n), v)*ds_u\ 210. - inner(dot(S(v, q), n), u)*ds_u\ 211. + beta1*mu/h*inner(u, v)*ds_u 212. 213. L += - inner(dot(S(v, q), n), u_inlet)*ds(inlet_bdry)\ 214. + beta1*mu/h*inner(u_inlet, v)*ds(inlet_bdry)\ 215. - inner(dot(S(v, q), n), u_wall)*ds(wall_bdry)\ 216. + beta1*mu/h*inner(u_wall, v)*ds(wall_bdry) 217. 218. # Add the advection terms 219. beta2 = Constant(10.) 220. # Return zero value for outflow 221. inflow = lambda u, n: conditional(lt(dot(u, n), 0), 222. dot(u, n), 223. Constant(0.)) 224. 225. a += beta2/h*inner(dot(u, n), dot(v, n))*ds_u\ 226. - inflow(u0, n)*inner(u, v)*ds_u 227. 228. L += beta2/h*inner(dot(u_inlet, n), dot(v, n))*ds(inlet_bdry)\ 229. - inflow(u0, n)*inner(u_inlet, v)*ds(inlet_bdry)\ 230. + beta2/h*inner(dot(u_wall, n), dot(v, n))*ds(wall_bdry)\ 231. - inflow(u0, n)*inner(u_wall, v)*ds(wall_bdry) 232. 233. up = Function(M) 234. iter = 0 235. iter_max = 50 236. converged = False 237. tol = 1E-8 238. e = -1 239. while not converged and iter < iter_max: 240. iter += 1 241. print 'Iteration', iter
178
242. 243. up0.assign(up) 244. 245. À = assemble(a) 246. b = assemble(L) 247. 248. solve(A, up.vector(), b) 249. 250. if iter == 1: 251. converged = False 252. u, _ = up.split(True) 253. error0 = sqrt(assemble(inner(u, u)*dx)) 254. else: 255. u, _ = up.split(True) 256. error = sqrt(assemble(inner(u, u)*dx)) 257. e = abs(error - error0)/(error + error0) 258. error0 = error 259. converged = e < tol 260. 261. print '\t Error', e 262. 263. u, p = up.split(True) 264. 265. plot(u, title='Nitsche, velocity') 266. plot(p, title='Nitsche, pressure') 267. interactive() 268. 269. # ----------------------------------------------------------------------------
- 270. 271. #penalty() 272. nitsche()
179
Équation de Navier Stokes pour deux fluides non miscibles
1. from dolfin import * 2. import ufl 3. import time 4. import os 5. 6. 7. # get file name 8. fileName = os.path.splitext(__file__)[0] 9. parameters["form_compiler"]["cpp_optimize"] = True 10. parameters["form_compiler"]["quadrature_degree"] = 8 11. parameters["form_compiler"]["quadrature_rule"] = 'auto' 12. 13. 14. 15. center = Interface(x(1), x(2)) 16. radius = 0.2 17. 18. 19. #parameters['linear_algebra_backend'] = 'uBLAS' 20. 21. 22. # Time stepping parameters 23. dt = 0.01 24. t_end = 10.0 25. theta=Constant(0.5) # theta schem 26. k=Constant(1.0/dt) 27. g=Constant((0.0,-1.0)) 28. 29. # Mesh 30. mesh = RectangleMesh(0.0,0.0,1.0,2.0,20,40,'crossed') 31. 32. #distance function 33. dist = Expression("sqrt((x[0]-A)*(x[0]-A) + (x[1]-B)*(x[1]-B))-
r", A=center[0], B=center[1],r=radius) 34. 35. class InitialCondition(Expression): 36. def eval(self, values, x): 37. values[0] = 0.0 38. values[1] = 0.0 39. values[2] = 0.0 40. values[3] = sqrt((x[0]-center[0])*(x[0]-center[0]) + (x[1]-
center[1])*(x[1]-center[1]))-radius 41. def value_shape(self): 42. return (4,) 43. 44. ic=InitialCondition() 45. 46. # Define function spaces 47. V = VectorFunctionSpace(mesh, "CG", 2) 48. P = FunctionSpace(mesh, "CG", 1) 49. L = FunctionSpace(mesh, "CG", 1) 50. W = MixedFunctionSpace([V, P, L]) 51. 52. # Define unknown and test function(s) 53. w = Function(W) 54. w0 = Function(W) 55. 56. (v_, p_, l_) = TestFunctions(W) 57.
180
58. (v,p,l)=split(w) 59. (v0,p0,l0)=split(w0) 60. 61. bcs = list() 62. bcs.append( DirichletBC(W.sub(0), Constant((0.0, 0.0)), "near(x[0],0.0) || near(
x[0],1.0) || near(x[1],0.0)") ) 63. 64. rho1=1e3 65. rho2=1e2 66. mu1=1e1 67. mu2=1e0 68. eps=1e-4 69. 70. def Sign(q): 71. return conditional(lt(abs(q),eps),q/eps,sign(q)) 72. 73. def delta(q): 74. return conditional(lt(abs(q),eps),(1.0/eps)*0.5*(1.0+cos(3.14159*q/eps)),Con
stant(0.0)) 75. 76. def rho(l): 77. return(rho1 * 0.5* (1.0+ Sign(l)) + rho2 * 0.5*(1.0 - Sign(l))) 78. 79. def nu(l): 80. return(mu1 * 0.5* (1.0+ Sign(l)) + mu2 * 0.5*(1.0 - Sign(l))) 81. 82. def EQ(v,p,l,v_,p_,l_): 83. F_ls = inner(div(l*v),l_)*dx 84. T= -p*I + nu(l)*(grad(v)+grad(v).T) 85. F_ns = inner(T,grad(v_))*dx + rho(l)*inner(grad(v)*v, v_)*dx - rho(l)*inner(
g,v_)*dx 86. F=F_ls+F_ns 87. return(F) 88. 89. n = FacetNormal(mesh) 90. I = Identity(V.cell().geometric_dimension()) # Identity tensor 91. h = CellSize(mesh) 92. h_avg = (h('+') + h('-'))/2.0 93. alpha=Constant(0.1) 94. r = alpha('+')*h_avg*h_avg*inner(jump(grad(l),n), jump(grad(l_),n))*dS 95. 96. F=k*0.5*(theta*rho(l)+(1.0-theta)*rho(l0))*inner(v-v0,v_)*dx + k*inner(l-
l0,l_)*dx + theta*EQ(v,p,l,v_,p_,l_) + (1.0-theta)*EQ(v0,p,l0,v_,p_,l_) + div(v)*p_*dx + r
97. 98. J = derivative(F, w) 99. ffc_options = {"quadrature_degree": 4, "optimize": True, "eliminate_zeros": Fals
e} 100. problem=NonlinearVariationalProblem(F,w,bcs,J,ffc_options) 101. solver=NonlinearVariationalSolver(problem) 102. 103. prm = solver.parameters 104. #info(prm, True) 105. prm['nonlinear_solver'] = 'newton' 106. prm['newton_solver']['linear_solver'] = 'umfpack' 107. prm['newton_solver']['lu_solver']['report'] = False 108. prm['newton_solver']['lu_solver']['same_nonzero_pattern']=True 109. prm['newton_solver']['absolute_tolerance'] = 1E-10 110. prm['newton_solver']['relative_tolerance'] = 1E-10 111. prm['newton_solver']['maximum_iterations'] = 20 112. prm['newton_solver']['report'] = True
181
113. #prm['newton_solver']['error_on_nonconvergence'] = False 114. 115. 116. w.assign(interpolate(ic,W)) 117. w0.assign(interpolate(ic,W)) 118. 119. (v,p,l) = w.split() 120. (v0,p0,l0) = w0.split() 121. 122. 123. def reinit(l,mesh): 124. #implement here: 125. # given mesh and function l on the mesh 126. # reinitialize function l such that |grad(l)|=1 127. # and the zero levelset does not change 128. 129. 130. 131. return l 132. 133. 134. #assign(l, interpolate (dist,L)) 135. #assign(l0, interpolate (dist,L)) 136. 137. # plot(l0,interactive=True) 138. #plot(rho(l),interactive=True) 139. # Create files for storing solution 140. vfile = File("%s.results/velocity.pvd" % (fileName)) 141. pfile = File("%s.results/pressure.pvd" % (fileName)) 142. lfile = File("%s.results/levelset.pvd" % (fileName)) 143. 144. v.rename("v", "velocity") ; vfile << v 145. p.rename("p", "pressure") ; pfile << p 146. l.rename("l", "levelset") ; lfile << l 147. 148. # Time-stepping 149. t = dt 150. while t < t_end: 151. 152. print "t =", t 153. 154. begin("Solving transport...") 155. solver.solve() 156. end() 157. 158. (v,p,l)=w.split(True) 159. v.rename("v", "velocity") ; vfile << v 160. p.rename("p", "pressure") ; pfile << p 161. l.rename("l", "levelset") ; lfile << l 162. 163. V=assemble(conditional(lt(l,0.0),1.0,0.0)*dx) 164. print "velocity= %e"%V 165. 166. # plot(v,interactive=True) 167. # Move to next time step 168. l1=reinit(l,mesh) 169. #assign(w.sub(2),interpolate(l1,L)) 170. 171. w0.assign(w) 172. t += dt # t:=t+1
182
183
Bibliographie
Abbas, S., Alizada, A., & Fries, T. P. (2010). The XFEM for high‐gradient solutions in
convection‐dominated problems. International journal for numerical methods in
engineering, 82(8), 1044-1072
Alnæs, M. S. (2012). UFL: a finite element form language. Automated Solution of
Differential Equations by the Finite Element Method, 303-338.
Alnæs, M. S., Logg, A., & Mardal, K. A. (2012). UFC: a finite element code generation
interface. Automated Solution of Differential Equations by the Finite Element Method, 283-
302.
Alnæs, M. S., & Mardal, K. A. (2012). SyFi and SFC: Symbolic finite elements and form
compilation. In Automated Solution of Differential Equations by the Finite Element Method
(pp. 273-282). Springer Berlin Heidelberg.
Anderson, D. M., McFadden, G. B., & Wheeler, A. A. (1998). Diffuse-interface methods in
fluid mechanics. Annual review of fluid mechanics, 30(1), 139-165.
Ausas, R. F., Dari, E. A., & Buscaglia, G. C. (2011). A geometric mass‐preserving
redistancing scheme for the level set function. International journal for numerical methods
in fluids, 65(8), 989-1010.
Babuška, I. (1973). The finite element method with Lagrangian multipliers. Numerische
Mathematik, 20(3), 179-192.
Bell, J. B., Colella, P., & Glaz, H. M. (1989). A second-order projection method for the
incompressible Navier-Stokes equations. Journal of Computational Physics, 85(2), 257-283.
Benk, J., Mehl, M., & Ulbrich, M. (2011, May). Sundance PDE solvers on Cartesian fixed
grids in complex and variable geometries. In Proceedings of “ECCOMAS Thematic
Conference on CFD and Optimization”, Antalya.
Bobenko, A. I., & Springborn, B. A. (2007). A discrete Laplace–Beltrami operator for
simplicial surfaces. Discrete & Computational Geometry, 38(4), 740-756.
Brackbill, J. U., Kothe, D. B., & Zemach, C. (1992). A continuum method for modelling
surface tension. Journal of computational physics, 100(2), 335-354.
Burman, E., & Fernández, M. A. (2007). Stabilized explicit coupling for fluid–structure
interaction using Nitsche's method. Comptes Rendus Mathematique, 345(8), 467-472.
Cheng, K. W., & Fries, T. P. (2012). XFEM with hanging nodes for two-phase
incompressible flow. Computer Methods in Applied Mechanics and Engineering, 245, 290-
312.
184
Chessa, Jack, Patrick Smolinski, and Ted Belytschko 2002 The extended finite element
method (XFEM) for solidification problems. International Journal for Numerical Methods in
Engineering 53(8):1959-1977
Chessa, Jack, and Ted Belytschko 2003a An enriched finite element method and level sets
for axisymmetric two‐phase flow with surface tension. International Journal for Numerical
Methods in Engineering 58(13):2041-2064
Chessa, Jack, and Ted Belytschko 2003b An extended finite element method for two-phase
fluids Journal of Applied Mechanics 70(1):10-17.
Choi, Y. J., Hulsen, M. A., & Meijer, H. E. (2012). Simulation of the flow of a Viscoelastic
fluid around a stationary cylinder using an extended finite element method Computers &
Fluids, 57, 183-194.
Cosimo, A., Fachinotti, V., & Cardona, A. (2013). An enrichment scheme for solidification
problems. Computational Mechanics, 1-19.
Court, S., Fournié, M., & Lozinski, A. (2014). A fictitious domain approach for the Stokes
problembased on the extended finite element method. International Journal for Numerical
Methods in Fluids, 74(2), 73-99.
Dolbow, J. E., & Franca, L. P. (2008). Residual-free bubbles for embedded Dirichlet
problems. Computer Methods in Applied Mechanics and Engineering, 197(45), 3751-3759.
Duarte, C. A., & Oden, J. T. (1996). An hp adaptive method using clouds. Computer methods
in applied mechanics and engineering, 139(1-4), 237-262.
Duddu, R., Lavier, L. L., Hughes, T. J., & Calo, V. M. (2012). A finite strain Eulerian
formulation for compressible and nearly incompressible hyperelasticity using high‐order B‐
spline finite elements. International Journal for Numerical Methods in Engineering, 89(6),
762-785.
Duflot, M., Wyart, E., Lani, F., Martiny, P., & Sagnier, S. (2008). Application of XFEM to
multi-site crack propagation. Engng Fract Mech, submitted for publication.
Esser, P., Grande, J., & Reusken, A. (2010). An extended finite element method applied to
levitated droplet problems. International journal for numerical methods in engineering,
84(7),757-773
Everett III, H. (1963). Generalized Lagrange multiplier method for solving problems of
optimum allocation of resources. Operations research, 11(3), 399-417.
Fagerström, M., & Larsson, R. (2008). Approaches to dynamic fracture modelling at finite
deformations. Journal of the Mechanics and Physics of Solids, 56(2), 613-639.
Fries, T. P. (2009). The intrinsic XFEM for two‐fluid flows. International Journal for
Numerical Methods in Fluids, 60(4), 437-471.
185
Fries, T. P., & Zilian, A. (2009). On time integration in the XFEM. International Journal for
Numerical Methods in Engineering, 79(1), 69-93.
Gavrilyuk, S., & Gouin, H. (1999). A new form of governing equations of fluids arising from
Hamilton's principle. International Journal of Engineering Science, 37(12), 1495-1520.
Ghoneim, A., Hunedy, J., & Ojo, O. A. (2013). An Interface-Enriched eXtended Finite
Element-Level Set Simulation of Solutal Melting of Additive Powder Particles during
Transient Liquid Phase Bonding. Metallurgical and Materials Transactions A, 44(2), 1139-
1151.
Gouin, H., & Gavrilyuk, S. (1999). Hamilton's principle and Rankine–Hugoniot conditions
for general motions of mixtures. Meccanica, 34(1), 39-47
Groß, S., & Reusken, A. (2007). An extended pressure finite element space for two-phase
incompressible flows with surface tension. Journal of Computational Physics, 224(1), 40-
58.
Hansbo, P., Hermansson, J., & Svedberg, T. (2004). Nitsche's method combined with space–
time finite elements for ALE fluid–structure interaction problems. Computer Methods in
Applied Mechanics and Engineering, 193(39), 4195-4206.
Hansbo, P., Larson, M. G., & Zahedi, S. (2014). A cut finite element method for a Stokes
interface problem. Applied Numerical Mathematics, 85, 90-114.
Harten, A., Engquist, B., Osher, S., & Chakravarthy, S. R. (1987). Uniformly high order
accurate essentially non-oscillatory schemes, III. Journal of computational physics, 71(2),
231-303.
Hosseini, S. S., Bayesteh, H., & Mohammadi, S. (2013). Thermo-mechanical XFEM crack
propagation analysis of functionally graded materials. Materials Science and Engineering:
A, 561, 285-302
Hughes, T. J., Franca, L. P., & Balestra, M. (1986). A new finite element formulation for
computational fluid dynamics: V. Circumventing the Babuška-Brezzi condition: a stable
Petrov-Galerkin formulation of the Stokes problem accommodating equal-order
interpolations. Computer Methods in Applied Mechanics and Engineering, 59(1), 85-99.
Hysing, S. (2006). A new implicit surface tension implementation for interfacial flows.
International Journal for Numerical Methods in Fluids, 51(6), 659-672.
Ji, H, D Chopp, and JE Dolbow 2002 A hybrid extended finite element/level set method for
modelling phase transformations. International Journal for Numerical Methods in
Engineering 54(8):1209-1233.
Ji, H., & Dolbow, J. E. (2004). On strategies for enforcing interfacial constraints and
evaluating jump conditions with the extended finite element method. International Journal
for Numerical Methods in Engineering, 61(14), 2508-2535.
186
Khoei, A. R. (2014). Extended finite element method: theory and applications. John Wiley
& Sons.
Kirby, R. C., & Logg, A. (2007). Efficient compilation of a class of variational forms. ACM
Transactions on Mathematical Software (TOMS), 33(3), 17.
Kirby, R. C., & Logg, A. (2008). Benchmarking domain-specific compiler optimizations for
variational forms. ACM Transactions on Mathematical Software (TOMS), 35(2), 10.
Lee, P., Yang, R., & Maute, K. (2011). An extended finite element method for the analysis
of submicron heat transfer phenomena. In Multiscale Methods in Computational Mechanics
(pp. 195-212). Springer Netherlands.
Liao, J. H., & Zhuang, Z. (2012). A consistent projection-based SUPG/PSPG XFEM for
incompressible two-phase flows. Acta Mechanica Sinica, 28(5), 1309-1322.
Logg, A. (2009). Efficient representation of computational meshes. International Journal of
Computational Science and Engineering, 4(4), 283-295.
Logg, A., & Wells, G. N. (2010). DOLFIN: Automated finite element computing. ACM
Transactions on Mathematical Software (TOMS), 37(2), 20.
Logg, A., Wells, G. N., & Hake, J. (2012). DOLFIN: A C++/Python finite element library.
Automated Solution of Differential Equations by the Finite Element Method, 173-225.
Logg, A., Mardal, K. A., & Wells, G. (Eds.). (2012). Automated solution of differential
equations by the finite element method: The FEniCS book (Vol. 84). Springer Science &
Business Media.
Mandhan J.M., G.A. Gregory, K. Aziz (1974) A flow pattern map for gas-liquid flow in
horizontal pipesInt. J. Multiphase Flow, 1, pp. 537-553
Merle, R., & Dolbow, J. (2002). Solving thermal and phase change problems with the
extended finite element method. Computational mechanics, 28(5), 339-350.
Michlik, P., & Berndt, C. (2006). Image-based extended finite element modelling of thermal
barrier coatings. Surface and Coatings Technology, 201(6), 2369-2380.
Mittal, S. (2000). On the performance of high aspect ratio elements for incompressible flows.
Computer Methods in Applied Mechanics and Engineering, 188(1), 269-287.
Nitsche, J. (1971). Über ein Variationsprinzip zur Lösung von Dirichlet-Problemen bei
Verwendung von Teilräumen, die keinen Randbedingungen unterworfen sind.
Abhandlungen aus dem mathematischen Seminar der Universität Hamburg, Springer.
Osher, S., & Sethian, J. A. (1988). Fronts propagating with curvature-dependent speed:
algorithms based on Hamilton-Jacobi formulations. Journal of computational physics, 79(1),
12-49.
187
Peng, D., Merriman, B., Osher, S., Zhao, H., & Kang, M. (1999). A PDE-based fast local
level set method. Journal of computational physics, 155(2), 410-438.
Pozrikidis, C. (2011). Introduction to theoretical and computational fluid dynamics. Oxford
university press.
Sauerland, Henning, and Thomas-Peter Fries 2013 The stable XFEM for two-phase flows.
Computers & Fluids 87:41-49
Shakib, F., Hughes, T. J., & Johan, Z. (1991). A new finite element formulation for
computational fluid dynamics: X. The compressible Euler and Navier-Stokes equations.
Computer Methods in Applied Mechanics and Engineering, 89(1-3), 141-219.
Skrzypczak, T., & Węgrzyn-Skrzypczak, E. (2012). Mathematical and numerical model of
solidification process of pure metals. International Journal of Heat and Mass Transfer,
55(15), 4276-4284.
Smolanski 2011, numerical modelling of two fluide interfacial flow, Dissertation, University
of Jyvaskyla
Sussman, M., Smereka, P., & Osher, S. (1994). A level set approach for computing solutions
to incompressible two-phase flow. Journal of Computational physics, 114(1), 146-159.
Sussman, M., Almgren, A. S., Bell, J. B., Colella, P., Howell, L. H., & Welcome, M. L.
(1999). An adaptive level set approach for incompressible two-phase flows. Journal of
Computational Physics, 148(1), 81-124.
Sussman, M., Smith, K. M., Hussaini, M. Y., Ohta, M., & Zhi-Wei, R. (2007). A sharp
interface method for incompressible two-phase flows. Journal of computational physics,
221(2), 469-505.
Talley, J. D., Worosz, T., & Kim, S. (2015). Characterization of horizontal air–water two-
phase flow in a round pipe part II: Measurement of local two-phase parameters in bubbly
flow. International Journal of Multiphase Flow, 76, 223-236.
Tezduyar, T. E. (1991). Stabilized finite element formulations for incompressible flow
computations. Advances in applied mechanics, 28, 1-44.
Tezduyar, T. E., Mittal, S., Ray, S. E., & Shih, R. (1992). Incompressible flow computations
with stabilized bilinear and linear equal-order-interpolation velocity-pressure elements.
Computer Methods in Applied Mechanics and Engineering, 95(2), 221-242.
Uchibori, A., & Ohshima, H. (2013). Numerical methods for compressible multiphase flow
with sodium-water chemical reaction. Journal of Power and Energy Systems, 7(2), 106-121.
Wang, Q., & Chen, J. (2015). A new unfitted stabilized Nitsche’s finite element method for
Stokes interface problems. Computers & Mathematics with Applications, 70(5), 820-834.
188
Yu, T. T., & Gong, Z. W. (2013). Numerical simulation of temperature field in
heterogeneous material with the XFEM. Archives of civil and mechanical engineering,
13(2), 199-208.
Yvonnet, J., He, Q. C., Zhu, Q. Z., & Shao, J. F. (2011). A general and efficient computational
procedure for modelling the Kapitza thermal resistance based on XFEM. Computational
Materials Science, 50(4), 1220-1224
Zabaras, Nicholas, Baskar Ganapathysubramanian, and Lijian Tan 2006 Modelling
dendritic solidification with melt convection using the extended finite element method.
Journal of Computational Physics 218(1):200-227.
Zamani, A., Gracie, R., & Eslami, M. R. (2010). Higher order tip enrichment of extended
finite element method in thermoelasticity. Computational Mechanics, 46(6), 851-866.
Zhou, J. M., & Qi, L. H. (2010). Treatment of discontinuous interface in liquid-solid forming
with extended finite element method. Transactions of Nonferrous Metals Society of China,
20, s911-s915.