Etude d'un schéma de Volumes Finis aux Dérivées · Rapport de Stage Etude d’une méthode de...

67
Master Ingénierie Mathématique et Outils d’Informatique Rapport de Stage Etude d’une méthode de Volumes Finis aux Dérivées Directeur de Stage : Vincent Mouysset Correspondant à l’Université : M. Séraphin Mefire Présenté par : Pierre-William Martelli Lieu du Stage : Onera de Toulouse Département : Modélisation et Traitement de l’Information Dates : Du 1er avril au 31 août 2011

Transcript of Etude d'un schéma de Volumes Finis aux Dérivées · Rapport de Stage Etude d’une méthode de...

Master

Ingénierie Mathématique et Outils d’Informatique

Rapport de Stage

Etude d’une méthode de Volumes Finis aux Dérivées

Directeur de Stage : Vincent MouyssetCorrespondant à l’Université :M. Séraphin MefirePrésenté par : Pierre-William Martelli

Lieu du Stage : Onera de ToulouseDépartement : Modélisation et Traitementde l’InformationDates : Du 1er avril au 31 août 2011

Table des matieresRemerciements 5

1 Introduction 71.1 Présentation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Enjeux du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Présentation du schéma 112.1 Idée de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Interprétation sous forme d’un schéma de Galerkin Discontinu . . . . . . . . . . . . . 14

3 Validation sur un exemple mono-dimensionnel 173.1 Présentation du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Écriture du schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3 Stabilité de Fourier-Von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.5 Étude de validation en domaine libre . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5.1 Étude numérique sur l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5.2 Comparaison avec un schéma de Galerkin Discontinu . . . . . . . . . . . . . . 27

3.6 Le schéma RK-SSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.7 Traitement des conditions aux limites . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.7.1 Proposition d’une première méthode pour introduire les domaines bornés . . 333.7.2 Une autre méthode pour traiter les domaines bornés . . . . . . . . . . . . . . 35

4 Application du schéma VFD à l’approximation des équations de Maxwell en 3D 394.1 Présentation des équations de Maxwell . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.1.2 Milieux diélectriques isotropes . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.1 Écriture du schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.2 Construction du code 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.1 Présentation de l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.2 Comparaison tri-dimensionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3.3 Comparaison avec une sortie ponctuelle . . . . . . . . . . . . . . . . . . . . . 46

5 Conclusion 53

A Rappels sur les systèmes hyperboliques 55A.1 Problèmes hyperboliques non bornés . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

A.1.1 Polynômes hyperboliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55A.1.2 Résolution du problème de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . 56A.1.3 Systèmes hyperboliques du premier ordre à coefficients constants . . . . . . . 56A.1.4 Détermination d’une solution exacte pour les calculs de la section 3 . . . . . 57

A.2 Systèmes hyperboliques en domaines bornés . . . . . . . . . . . . . . . . . . . . . . . 59A.2.1 Conditions maximales positives . . . . . . . . . . . . . . . . . . . . . . . . . . 59A.2.2 Application au système de Maxwell pour une condition de métal parfait . . . 60

B Rappels sur le schéma de Galerkin Discontinu 61B.1 Présentation et formulation variationnelle . . . . . . . . . . . . . . . . . . . . . . . . 61B.2 Schéma de Galerkin Discontinu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61B.3 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

C Calcul de flux 63

3

4/67 Table des matières

C.1 Calcul des flux décentrés pour l’exemple mono-dimensionnel . . . . . . . . . . . . . . 63C.2 Calcul des flux décentrés pour les équations de Maxwell . . . . . . . . . . . . . . . . 63

Références bibliographiques 67

Remerciements 5/67

RemerciementsJe veux exprimer mes remerciements et ma gratitude à toutes les personnes qui m’ont apporté

l’aide et l’assistance nécessaire à l’élaboration de ce travail.Je tiens à remercier en premier lieu M. François Rogier, directeur de l’équipe de Modélisation

Mathématique et Simulation Numérique de l’ONERA de Toulouse, avec laquelle j’ai travaillé pource stage.

Mes remerciements s’adressent ensuite à mon directeur de stage, M. Vincent Mouysset, pourles précieux conseils qu’il a bien voulu me fournir afin de réaliser ce travail et pour sa disponibilitétout au long de ce stage. Ce mémoire n’aurait jamais vu le jour sans l’inspiration, l’aide et le tempsqu’il a bien voulu me consacrer.

J’exprime également ma reconnaissance envers tous mes enseignants de l’Université de Lorrainepour leurs efforts fournis durant toute la période d’étude. Je remercie plus particulièrement M.Séraphin Mefire, sans qui ce stage n’aurait pas eu lieu, pour sa grande disponibilité tout au longde cette année.

Je n’oublie pas mes parents pour leur contribution, leur soutien et leur patience. J’adresse aussimes plus sincères remerciements à tous mes proches et amis, qui m’ont toujours soutenu et encouragéau cours de la réalisation de ce rapport.

Enfin je tiens à remercier tous ceux qui auront la patience de lire ce mémoire et tous ceux qui meferont l’honneur d’assister à sa soutenance.

6/67

1. Introduction 7/67

1 Introduction

1.1 Présentation de l’entrepriseCréé en 1946, l’ONERA est un établissement public scientifique et technique à caractère industriel

et commercial, axé sur la recherche en aérospatiale et en défense. Elle compte 2000 salariés, dont1500 chercheurs, ingénieurs et techniciens, repartis sur huit sites en France.

Le site de Toulouse représente un effectif de 420 personnes, dont 280 ingénieurs et techniciens derecherche et 90 doctorants. Il accueille également chaque année une centaine de stagiaires en coursd’étude. Le centre de Toulouse compte 7 départements, chacun étant composé de plusieurs équipes.

J’ai effectué ce stage au sein du Département de Traitement de l’Information et Modélisationau centre de Toulouse, qui a pour mission de conduire des études et des recherches débouchant surl’élaboration :

• de modèles et méthodes aptes à affronter la complexité de systèmes dont les constituantspeuvent être des systèmes informatiques, des systèmes techniques, des agents artificiels ou despersonnes ;

• de techniques et d’outils informatiques qui supportent de façon robuste ces modèles et cesméthodes.

Les domaines de compétences pour ce département sont :• l’ingénierie des systèmes ;

• le traitement de données pour les systèmes perceptifs ;

• les mathématiques appliquées et le calcul scientifique.C’est ce dernier domaine de compétence qui a motivé ce stage, qui s’est déroulé auprès de l’équipe

Modélisation Mathématique et Simulation Numérique (M2SN).

1.2 Enjeux du stageLa recherche de méthodes à la fois précises et rapides pour résoudre les équations de Maxwell dans

le domaine temporel tient, depuis plus d’une trentaine d’années, une place prépondérante, aussi biendans le domaine industriel qu’académique. Par exemple, lorsqu’on doit vérifier qu’un équipementvérifie certaines normes électromagnétiques, il est plus intéressant de faire une simulation numériqueplutôt qu’un test réel, plus coûteux ou non envisageable en phase de conception de l’équipement.

Avant de voir quels sont les enjeux de ce rapport, nous allons présenter un aperçu des travauxfaits dans ce domaine.

Méthodes de différences finies

Une des premières méthodes pour simuler des problèmes électromagnétiques dans le domainetemporel fut celle des différences finies, introduite en 1966 par K. Yee dans [Yee66]. Ce schéma estconstruit sur un maillage cartésien et utilise une approximation spatiale et temporelle de type saute-mouton (« leapfrog »). Il est d’ordre 2 et est encore très utilisé aujourd’hui, puisqu’il est explicite ettrès simple à mettre en œuvre. Toutefois ce schéma souffre des défauts des schémas de différencesfinies. En premier lieu, ces schémas ne respectent pas nécessairement les géométries des domainestraités, ce qui peut poser des erreur sur la solution(par exemple un câble le long d’une paroi courbe).Ensuite la prise en compte de détails entraîne une multiplication du nombre de cellules à traiter.Enfin, l’erreur de dispersion pénalise beaucoup ce schéma dès que l’on traite des problèmes où l’onparcourt un grand nombre de longueurs d’onde (par exemple des problèmes mettant en jeu descavités).

Précisons pour finir que quelques améliorations ont été apportées à ce schéma, avec les travauxplus récents de J. Fang [Fan89], qui propose un schéma à la fois d’ordre 4 en temps et en espace.

8/67 1.2 Enjeux du stage

Méthodes des éléments finis

La seconde méthode développée fut celle des éléments finis. La mise en place des éléments finispour les équations de Maxwell est cependant délicate puisqu’il faut approcher l’espace H(rot).

Nédélec a proposé une solution à ce problème en 1972 dans [Né80], où il définit une nouvelle familled’éléments dont les degrés de liberté sont portés par des points intérieurs aux arêtes. Les fonctionsde base pour ces nouveaux éléments ont été introduites par Whithney en 1957 dans [Whi57].

L’avantage principal de cette méthode par rapport aux différences finies est qu’elle peut êtreappliquée à des maillages qui épousent des géométries complexes. Son inconvénient majeur est qu’elleest très coûteuse en temps par rapport à une méthode de type différences finies, puisqu’elle nécessitel’inversion d’une matrice de masse.

Méthode des Volumes Finis

La méthode des Volumes Finis a été développée pour simuler des problèmes issus de la mécaniquedes fluides, par exemple des propagations de chocs. Elle a été adapté à l’électromagnétisme, mêmesi l’intérêt principal du respect du principe du maximum, qui évite de faire diverger les solutions oupermet de bien capter des chocs, a assez peu d’intérêt en électromagnétisme linéaire. Par contre laméthode est d’ordre 1/2, ce qui est assez peu par rapport aux autres schémas présentés ici. Cependantles calculs sont très rapides (nous avons programmé un schéma GD d’ordre un 18 fois plus long quele schéma des Volumes Finis, voir le tableau 1).

Méthodes de Galerkin Discontinu

La méthode la plus usitée pour les problèmes électromagnétiques est celle de Galerkin Discontinu(GD). Ces schémas sont apparus la première fois en 1973, avec les travaux de Reed et Hill [RH73]sur l’équation scalaire de transport des neutrons. La première analyse mathématique a été faite en1974 par Lesaint et Raviart [LR74]. L’idée est d’imposer des conditions aux limites faiblement surchaque cellule du maillage. On pourra se reporter à l’annexe B pour une présentation plus complètede cette méthode.

Un des qualités des schémas GD est que l’on peut travailler sur des maillages destructurés. Cetteméthode est également une méthode dite « d’ordre élevé », c’est-à-dire qu’on peut choisir son ordrede précision. Elle souffre toutefois d’un inconvénient majeur : sa condition de Courant-Friedrich-Lewy (CFL), qui établit le pas de temps maximal, en fonction du pas d’espace, pour qu’un schémaexplicite soit stable, chute rapidement lorsqu’on augmente son ordre, ce qui entraîne des temps decalculs qui croissent très rapidement.

Toutefois des travaux ont été menés pour réduire considérablement ces calculs, présentés notam-ment par S. Pernet dans sa thèse [Per04], écrite en 2004 au Département Electromagnétique et Radarde l’ONERA.

Objectifs du stage

A la base de ce stage, l’objectif est d’établir une méthode proche du GD mais améliorant sesperformances. Il s’agit d’un nouveau schéma numérique dont la condition CFL ne dépend pas del’ordre choisi et qu’on appellera « schéma des Volumes Finis aux Dérivées (VFD) ».

Ce schéma est présenté dans la thèse de Sophie Laurens [Lau10] effectuée au sein de l’équipeM2SN. Nous commencerons ce rapport par un résumé des résultats théoriques qui ont été démontréspar Sophie Laurens. Nous en profiterons également pour souligner les points qu’il reste à éclaircirautour de ce schéma.

Dans un second temps, nous implémenterons ce schéma sur un exemple mono-dimensionnel enespace, afin de le valider numériquement et de mieux le comprendre. Ce cadre assez simple nousservira également pour proposer quelques amélioration de la méthode. Nous traiterons par exempleun problème en domaine borné, ce qui n’a pas été abordé dans la thèse de S. Laurens. Enfin, c’est

1. Introduction 9/67

dans cette partie que nous justifierons l’intérêt de cette méthode, en la comparant à une méthode detype Galerkin Discontinu pour évaluer ses apports de précision et de performance.

Le paragraphe 2 de ce rapport correspond à la deuxième partie du stage : l’application de ceschéma aux équations de Maxwell 3D et l’écriture d’un code de calcul en Fortran.

10/67 1.2 Enjeux du stage

2. Présentation du schéma 11/67

2 Présentation du schémaNous allons présenter dans cette partie les résultats déjà démontrés sur le schéma Volumes Finis

aux Dérivées (VFD), que nous tirerons exclusivement de la thèse de Sophie Laurens [Lau10].

2.1 Idée de la méthodeOn considère une Equation aux Dérivées Partielles définie sur Rm ×R+, où m ∈ N?,

A0∂tu +Ai∂iu = f,

u(·, 0) = u0,(1)

avec A0, ..., An ∈Md×d(R) des matrices symétriques à coefficients constants, A0 étant inversible etd un entier naturel non nul. 1 On suppose enfin que le système (1) est hyperbolique. On pourra sereporter à l’annexe A pour plus de détails sur ces systèmes, notamment sur les conditions à imposeraux paramètres pour que ce problème de Cauchy admette une unique solution.

Soit α ∈ Np un multi-indice. La première étape pour décrire notre nouveau schéma VFD à l’ordrep consiste à remarquer que, lorsqu’on dérive α fois (1), on obtient encore un système de la mêmeforme, au second membre près, où la nouvelle inconnue sera plutôt Dαu :

∂tDαu + ∂iD

αu = Dαf. (Eα)

On se donne un domaine borné Ω ⊂ Rm. Soit alors une discrétisation D = ωkk∈J1,nxK admissible

au sens de Volumes Finis et telle quenx∪k=1

ωk = Ω. L’idée consiste à approcher la solution u du

problème initial (1) par :

uω(x, t) ≈p∑

|α|=0

1

α!U (α)ω (t)(x− xω)

α ∀(x, t) ∈ Ω×R+, (2)

où uω désigne la restriction de u à une cellule ω ∈ D et xω son centre de gravité. Chaque U(α)ω est

constant sur ω et ils obéissent à un système de la forme (1). L’idée est donc de calculer ces coefficientsconstants par la méthode des Volumes Finis sur les (Eα).

Pour présenter le schéma, nous présentons ici la version mono-dimensionnelle en espace :

Construction du schéma à l’ordre 0

Nous avons choisi de ne traiter dans ce rapport que des flux décentrés pour nos formulationsvariationnelles (on pourra consulter l’annexe B pour plus de détails). Enfin on choisit A0 = Id pourse simplifier les notations.

Le schéma à l’ordre 0 correspond aux Volumes Finis classiques. On fait d’abord l’approximationsuivante :

uω(x, t) ≈ U (0)ω (t).

1. On a utilisé la convention de sommation d’Einstein :

Ai∂iu(x, t) =m∑i=1

Ai∂

∂xiu(x, t) ∀(x, t) ∈ Rm × R+.

12/67 2.1 Idée de la méthode

On détermine ensuite U (0)(t) via la formulation variationnelle suivante, où le flux est choisidécentré (voir [Bon98]) :

∫ω

∂tU(0)ω dx+

∫ω

A∂xU(0)ω dx+

∫∂ω

(An)−JU (0)ω Kdx =

∫ω

fdx,

avec n la normale extérieure à ω 2.On s’est ainsi ramené à une équation semi-discrétisée en espace. Si l’on se donne ∆t le pas d’une

discrétisation uniforme d’un intervalle [0, T ], l’approximation de notre schéma VFD à l’ordre 0 parla méthode d’Euler explicite 3 fournit le schéma :

U (0)(n+1)ω = U (0)(n)

ω − ∆t

|ω|

(∫∂ω

(An)−JU (0)(n)ω Kdx− ∫

ω

f(x, tn)dx),

où tn désigne le ne pas de temps de notre discrétisation temporelle et U(j)ω n) est une approximation

de ∂jxuω(x, tn).

Construction du schéma à l’ordre 1

L’approximation (2) devient, à l’ordre 1, sur une cellule ω et pour tout (x, t) ∈ Ω×R+,

uω(x, t) ≈ U (0)ω (t) + U (1)

ω (t)(x− xω)

et l’on obtient U (1)(t) en résolvant

∫ω

∂tU(1)ω dx+

∫ω

A∂xU(1)ω dx+

∫∂ω

(An)−JU (1)ω Kdx =

∫ω

∂xfdx,

ie∂tU

(1)ω =

1

|ω|

(∫ω

∂xfdx−∫∂ω

(An)−JU (1)ω Kdx) .

Nous pouvons dans un second temps déterminer U(0)ω (t) via

∫ω

∂tU(0)ω dx+

∫ω

A∂xU(0)ω dx+

∫∂ω

(An)−(JU (0)

ω K + JU (1)ω K(x− xω)

)dx =∫

ω

fdx−∫ω

∂tU(1)ω (x− xω)dx−

∫ω

AU (1)ω dx,

ce qui s’écrit également

∂tU(0)ω =

1

|ω|

(∫ω

fdx−∫ω

∂tU(1)ω (x− xω)dx− |ω|AU (1)

ω −∫∂ω

(An)−(JU (0)

ω K + JU (1)ω K(x− xω)

))dx.

2. Nous garderons cette notation pour le reste du rapport.3. Nous prendrons systématiquement le schéma d’Euler explicite pour nos approximations temporelles, sauf mention

contraire.

2. Présentation du schéma 13/67

Les deux équations précédentes forment un système semi-discrétisé en espace. L’approximationde notre schéma VFD à l’ordre 1 par la méthode d’Euler explicite est alors :

U(1)(n+1)ω = U (1)(n)

ω +∆t

|ω|

(∫ω

∂xf(x, tn)dx−∫∂ω

(An)−JU (1)(n)ω Kdx) ,

U(0)(n+1)ω = U (0)(n)

ω +∆t

|ω|

(∫ω

f(x, tn)dx−∫ω

∂tU(1)(n)ω (x− xω)dx− |ω|AU (1)(n)

ω −∫∂ω

(An)−(JU (0)(n)

ω K + JU (1)(n)ω K(x− xω)

))dx.

Construction du schéma à l’ordre 2

L’ordre 2 s’obtient de façon très similaire. On commence encore par écrire l’approximation (2)sur une cellule ω :

uω ≈ U (0)ω + U (1)

ω (x− xω) + U (2)ω

(x− xω)2

2

et l’on obtient les inconnues U (2), U (1) et U (0) en résolvant successivement les équations semi-discrétisées suivantes, obtenues après une approximation par Volumes Finis et pour f = 0 (poursimplifier les notations) :

|ω|∂tU (2)ω = −

∫∂ω

(An)−JU (2)ω Kdx,

|ω|∂tU (1)ω = −

∫∂ω

(An)−(JU (1)

ω K + JU (2)ω K(x− xω)

)dx− |ω|AU (2)

ω ,

|ω|∂tU (0)ω = −

∫∂ω

(An)−(JU (0)

ω K + JU (1)ω K(x− xω) + JU (2)

ω K (x− xω)2

2

)dx− |ω|AU (1)

ω −∫ω

∂tU(2)ω

(x− xω)2

2dx.

Comme avant, on peut en déduire notre schéma discrétisé :

U(2)(n+1)ω = U

(2)(n)ω − ∆t

|ω|

∫∂ω

(An)−JU (2)(n)ω Kdx,

U(1)(n+1)ω = U

(1)(n)ω − ∆t

|ω|

(∫∂ω

(An)−(JU (1)(n)

ω K + JU (2)(n)ω K(x− xω)

)dx+ |ω|AU (2)(n)

ω

),

U(0)(n+1)ω = U

(0)(n)ω − ∆t

|ω|

(∫∂ω

(An)−(JU (0)(n)

ω K + JU (1)(n)ω K(x− xω) + JU (2)(n)

ω K (x− xω)2

2

)dx

+|ω|AU (1)(n)ω

∫ω

∂tU(2)(n)ω

(x− xω)2

2dx

).

Remarque 2.1. Le schéma à l’ordre 1 se résout dans l’ordre suivant : on détermine U (1) dans un

premier temps, puis l’on utilise U (1) pour calculer U (0). De la même façon, on a déterminé, dans cet

14/67 2.2 Convergence

ordre, U (2), U (1) et U (0), en utilisant pour chaque nouveau calcul les inconnues déjà trouvées.

Ce schéma conduit donc naturellement à la résolution d’un système triangulaire, qui sera très

simple à implémenter. Plus précisément, nous nous sommes ramené, pour chaque inconnue, à la

résolution d’un même schéma de Volumes Finis, avec seulement le second membre qui change (ce

second membre étant explicite puisqu’il est construit avec les inconnues déjà déterminées).

2.2 ConvergenceNous rappelons ici les résultats démontrés par Sophie Laurens [Lau10] liés à la convergence du

schéma, sans en donner de démonstration. Nous rappelons que nos approximations temporelles sontréalisées avec un schéma d’Euler explicite.

Proposition 2.1 (Consistance, [Lau10] - théorème 3.25). On suppose le maillage cartésien.

Le schéma des Volumes Finis aux Dérivées à l’ordre p est consistant à l’ordre p+ 2 si p est pair, et

à l’ordre p+ 1 sinon.

Remarque 2.2. La preuve s’appuie sur un développement en série de Taylor, ce qui justifie que l’on

se soit restreint à un maillage régulier.

Proposition 2.2 (Stabilité, [Lau10] - théorème 3.26). Le schéma des Volumes Finis aux

Dérivées à l’ordre p a la même stabilité qu’une méthode de type Volumes Finis. Plus précisemment,

on a une approximation du type

‖U (α)(N)ω ‖ ≤ (1 +O(∆t))‖U (α)(0)

ω ‖,

où U(α)(N)ω désigne l’approximation par la méthode d’Euler Explicite de U

(α)ω au N e pas de temps.

Remarque 2.3. Nous montrerons, avec le théorème 3.1, la stabilité de ce schéma au sens de Von-

Neumann, sur un système en 1D.

Théorème 2.1 (Convergence, [Lau10] - théorème 3.27). Le schéma des Volumes Finis aux

Dérivées est convergent.

Demonstration. La convergence est une conséquence directe de la stabilité et de la consistance du schéma,

si l’on invoque le théorème de Lax-Richtmyer [Ric57].

2.3 Interprétation sous forme d’un schéma de Galerkin DiscontinuNotre objectif ici va être de démontrer que notre formulation variationnelle VFD est équivalente

à celle d’un schéma de Galerkin Discontinu. L’intérêt de cette remarque réside dans le fait qu’onconnaît très bien le schéma GD, on pourra donc en déduire sans efforts quelques résultats et idées. En

2. Présentation du schéma 15/67

particulier, on aura l’équivalence entre notre problème continu et notre formulation variationnelle.De plus, cela nous fournira des idées pour traiter ultérieurement le problème des conditions auxlimites lorsqu’on se place dans un domaine borné. Cette équivalence est aussi un premier pas pourune hybridation entre le schémas GD et VFD.

Formulations des problèmes continus. On considère l’opérateur différentiel T = ∂t+A∂x, ainsique le problème continu

Tu = 0. (E)

On a immédiatement que ce problème est équivalent à trouver, pour tout α ∈ J0, pK, u(α) = D(α)utel que

Tu(α) = 0. (Eα)

Formulations variationnelles. On se place un espace fonctionnel de Hilbert (V, 〈·, ·〉) de sorteque le problème admette une solution. La formulation variationnelle du problème continu (E) est larecherche de u ∈ V tel que, pour tout ϕ ∈ V

〈Tu, ϕ〉 = 0. (FV )

De même, pour tout α ∈ J0, pK, la formulation variationnelle de (Eα) revient à trouver u(α) ∈Dα(V ) tel que, pour tout ϕ ∈ Dα(V ),

〈Tu(α), ϕ〉 = 0. (FV α)

Discrétisations. On se donne maintenant une discrétisation D de notre domaine Ω et Vh ⊂ V unespace de dimension finie.

Le problème discrétisé de (FV ) sous forme GD revient à trouver uh ∈ Vh tel que,

〈Tuh|ω, ϕh〉+∫∂ω

(An)−Juh|ωKϕ−h dx = 0 ∀ϕh ∈ Vh, ω ∈ D. (FVh)

De la même façon, pour tout α ∈ J0, pK, la discrétisation de (FV α) consiste à déterminer u(α)h ∈

Dα(Vh) tel que,

〈T(u(α)h )|ω, ϕα,h〉+

∫∂ω

(An)−J(u(α)h )|ωKϕ−

α,hdx = 0 ∀ϕα,h ∈ Dα(Vh), ω ∈ D. (FV αh )

On suppose de plus que Dα(Vh) ⊂ Vh, ce qui est vrai si Vh désigne un espace polynomial Pk ouQk.

Les systèmes (Eα) sont couplés par la relation u(α) = Dαu, donc, pour montrer que ce système(FV α

h ) est notre VFD, on introduit le vecteur couplant les systèmes (FV αh ) :

Uω =

uh|ω...

∂puh|ω

,

puis on regroupe les équations de FV αh en introduisant le schéma GD suivant, qui consiste à résoudre,

16/67 2.3 Interprétation sous forme d’un schéma de Galerkin Discontinu

pour toute fonction test Φ ∈ V p+1h ,

〈TUω,Φω〉+∫∂ω

(An)−JUωKΦ−ω dx = 0 ∀ω ∈ D.

On choisit maintenant Vh comme étant l’espace des polynômes Qk. La recherche du vecteur Uω

revient, pour ce choix de Vh, à trouver les coefficients constants u(α)|ω.Nous nous sommes ramenés à nx×(p+1) inconnues, qui sont les constantes u(α)

ω , pour nx×(p+1)2

équations. On peut donc extraire de ce système un système libre de nx × (p + 1) équations, enchoisissant la famille de fonctions libres de V p+1

h donnée par :

Φi = (0, · · · , χω︸︷︷︸ie position

, · · · , 0)T .

C’est ainsi qu’on retrouve notre schéma VFD.

Conclusion. On a commencé par remarquer que les problèmes (E) et (Eα) (pour tout α ∈ J0, pK)étaient équivalents. Par ailleurs, on sait que (E) et (FVh) sont équivalents. De même, les problèmes,posés pour tout α ∈ J0, pK, (Eα) et (FV α

h ) sont équivalents, d’où l’équivalence entre les formulationsvariationnelles discrètes (FVh) et (FV α

h ). Cette dernière étant notre schéma VFD, nous avons réussià montrer qu’on pouvait réinterpréter le schéma VFD comme un schéma de Galerkin Discontinu.

Remarque 2.4. Résoudre les systèmes E(0),...,E(α) nous donnent des solutions u(0)h , ..., u

(α)h qui ne

vérifient a priori pas Dαu(0)h = u

(α)h . L’astuce de notre formulation est qu’on ne fait pas plusieurs

GD couplés mais un seul système GD qui n’a en fait qu’une seule inconnue uh(x), puisque tous les

autres éléments du vecteur Uω sont ses dérivées.

3. Validation sur un exemple mono-dimensionnel 17/67

3 Validation sur un exemple mono-dimensionnelNous allons désormais mettre en œuvre le schéma VFD sur un exemple 1D. Nous écrirons d’abord

le schéma dans le cadre de la dimension un. Ensuite, nous calculerons la condition CFL pour notreexemple, avec une preuve de stabilité au sens de Fourier-Von Neumann. Enfin nous validerons ceschéma dans le cas des domaines libre et borné. Cette validation comportera une étude numériquede convergence, ainsi qu’une comparaison avec un schéma de Galerkin Discontinu, dans le but dedémontrer que ce schéma est compétitif.

3.1 Présentation du systèmeOn commence par présenter le système de Maxwell 1D, qui nous occupera tout au long de cette

section, tant que nous resterons en dimension un d’espace et en domaine libre :∂tu− ∂xv = 0 sur R×R+,∂tv − ∂xu = 0 sur R×R+,

u(0, ·) = u0 sur R,v(0, ·) = v0 sur R.

(3)

Cette équation différentielle se met sous la forme ∂tU +A∂xU = 0 d’un système de Friedrich enposant

U =

(uv

)et A =

(0 −1−1 0

).

On rappelle dans l’annexe A que cette équation admet une unique solution qui est donnée par :

u : (x, t) 7−→ 1

2(u0(x+ t) + u0(x− t)) +

1

2(v0(x+ t)− v0(x− t)) et

v : (x, t) 7−→ 1

2(v0(x+ t) + v0(x− t)) +

1

2(u0(x+ t)− u0(x− t)).

3.2 Écriture du schémaNous avons vu dans la section précédente les formulations variationnelles aux ordres 0 et 1. En

pratique, on aimerait implémenter cette méthode à un ordre quelconque. Nous allons donc établir laformulation variationnelle à un ordre quelconque pour ce schéma.

On se donne pour la suite une discrétisation D = (ωk)k∈J1,nxK, supposée uniforme pour simplifierles notations, de Ω ⊂ R borné. On notera ∆x le pas de cette discrétisation et ∆t le pas temporel.Enfin p ∈ N désignera systématiquement l’ordre de la méthode VFD.

On convient de noter xk = xωkle centre de gravité d’une cellule ωk et, pour f une fonction

quelconque sur Ω, fk sa restriction à ωk.On commence par écrire l’approximation (2) :

Uk(x, t) ≈p∑

i=0

U(i)k (t)

(x− xk)i

i!,

d’où, pour j ∈ J0, pK,∂jxUk(x, t) ≈

p−j∑i=0

U(i+j)k (t)

(x− xk)i

i!.

18/67 3.2 Écriture du schéma

L’écriture variationnelle de (Eα) devient ainsi :

∫ωk

∂t

p−j∑i=0

U(i+j)k (t)

(x− xk)i

i!dx+

∫ωk

A∂x

p−j∑i=0

U(i+j)k (t)

(x− xk)i

i!dx+∫

∂ωk

p−j∑i=0

(An)−JU (i+j)k K (x− xk)

i

i!dx = 0.

Or on a, pour tout i,

∫∂ω

(An)−JU (i+j)k K (x− xk)

i

i!dx = (An)−g

(−∆x

2

)i1

i!(U

(i+j)k−1 − U

(i+j)k )

+(An)−d

(∆x

2

)i1

i!(U

(i+j)k+1 − U

(i+j)k )

où (An)−g et (An)−d désigne (An)− à gauche et à droite respectivement.Par ailleurs, en remarquant que pour i pair on a

∫ωk

(x− xk)i

i!dx =

∆xi+1

2i(i+ 1)!

et que cette intégrale est nulle lorsque i est impair, on obtient les schémas semi-discrétisés :

∆x.∂tU(j)k (t) = −

∫∂ωk

(An)−JU (j)k (t)Kdx− p−j∑

i=1i pair

∂tU(i+j)k (t)

∆xi+1

2i(i+ 1)!−

p−j∑i=1

i impair

AU(i+j)k (t)

∆xi

2i−1i!−

p−j∑i=0

((An)−g

(−∆x

2

)i1

i!(U

(i+j)k−1 − U

(i+j)k )

+(An)−d

(∆x

2

)i1

i!(U

(i+j)k+1 − U

(i+j)k )

).

Finalement, après application du schéma d’Euler explicite, on obtient le schéma discrétisé :

U(j)(n+1)k = U

(j)(n)k − ∆t

∆x

[∫∂ωk

(An)−JU (j)(n)k Kdx+

p−j∑i=1i pair

U(i+j)(n+1)k − U

(i+j)(n)k

∆t

∆xi+1

2i(i+ 1)!+

p−j∑i=1

i impair

AU(i+j)(n)k

∆xi

2i−1i!+

p−j∑i=0

((An)−g

(−∆x

2

)i1

i!(U

(i+j)(n)k−1 − U

(i+j)(n)k )

+(An)−d

(∆x

2

)i1

i!(U

(i+j)(n)k+1 − U

(i+j)(n)k )

)].

(4)

Remarque 3.1. Pour passer de la formulation semi-discrétisée au schéma discrétisé, on a fait

3. Validation sur un exemple mono-dimensionnel 19/67

l’approximation suivante, pour j ∈ J0, pK,p−j∑i=1i pair

∂tU(i+j)k (t)

∆xi+1

2i(i+ 1)!≈

p−j∑i=1i pair

U(i+j)(n+1)k − U

(i+j)(n)k

∆t

∆xi+1

2i(i+ 1)!.

On aurait pu également écrire le schéma semi-discrétisé de la façon suivante :

∆x.∂tU(j)k (t) +

∫∂ωk

(An)−JU (j)k (t)Kdx = SM j

k(t),

où SM jk est défini pour tout j ∈ J0, pK par récurrence :

SM jk(t) = −

p−j∑i=1i pair

∂tU(i+j)k (t)

∆xi+1

2i(i+ 1)!−

p−j∑i=1

i impair

AU(i+j)k (t)

∆xi

2i−1i!−

∫∂ωk

p−j∑i=0

(An)−JU (i+j)k (t)K (x− xk)

i

i!dx.

On voit alors qu’on peut calculer notre second membre de façon récursive, en remarquant que

p−j∑i=1i pair

∂tU(i+j)k (t)

∆xi+1

2i(i+ 1)!=

p−j∑i=1i pair

(SM

(i+j)k (t)−

∫∂ωk

(An)−JU (i+j)k (t)Kdx) ∆xi+1

2i(i+ 1)!,

ce qui nous permet de programmer notre schéma d’une autre façon. En pratique, cette méthode

n’est cependant implémentable qu’en dimension 1, du fait du nombre de variables qu’il faut avoir en

mémoire pour la mettre en œuvre.

Remarque 3.2. Ce schéma VFD peut se voir comme un schéma GD (voir l’annexe B pour une

présentation des schémas GD). Cela nous fournit de facto une nouvelle preuve de l’équivalence entre

la formulation variationnelle associée au schéma VFD et le problème continu traité ici.

3.3 Stabilité de Fourier-Von Neumann

L’objet de cette partie va être de montrer que notre schéma est stable au sens de Fourier-VonNeumann et de retrouver les résultats de CFL calculés dans la section 2.2.

Lemme 3.1 (Stabilité à l’ordre 0). Le schéma VFD à l’ordre 0 (4) est stable au sens de

Fourier-Von Neumann sous la condition CFL ∆t ≤ ∆x.

Demonstration. Notre schéma (4) à l’ordre 0 s’écrit ici, en notant (An)−g et (An)−d les valeurs à gauche et

20/67 3.3 Stabilité de Fourier-Von Neumann

à droite de (An)−,

∆xU

(0)(n+1)k − U

(0)(n)k

∆t+ (An)−g (U (0)(n)

k−1 − U(0)(n)k ) + (An)−d (U

(0)(n)k+1 − U

(0)(n)k ) = 0.

Pour l’étude de la stabilité au sens de Von Neumann, on pose U(0)(n)k = Uneikπξ. Le schéma (4) se réécrit

alors sous la forme :

Un+1 =

[Id− ∆t

∆x(An)−g (e−iπξ − 1)− ∆t

∆x(An)−d (eiπξ − 1)

]Un

= AUn,

où, en posant λ = ∆t/∆x, on a obtenu

A0 =

1− λ+ λ cos(πξ) −iλ sin(πξ)

−iλ sin(πξ) 1− λ+ λ cos(πξ)

. (5)

La suite (Un)n≥0 est donc convergence si ρ(A) ≤ 1. Par un calcul direct on obtient

tr(A) = 2(1− λ+ λ cos(πξ)),

det(A) = (1− λ+ λ cos(πξ))2 + λ2 sin(πξ)2 = (1− λ)2 + λ2 + 2λ(1− λ) cos(πξ).

Le polynôme caractéristique de A est donc

χA = X2 − 2(1− λ+ λ cos(πξ))X + (1− λ)2 + λ2 + 2λ(1− λ) cos(πξ).

Finalement le spectre de A est donné par

Sp(A) = (1− λ) + λ cos(πξ)± iλ sin(πξ).

Il nous reste à vérifier que ces valeurs propres peuvent être inférieures à 1 en module. Soit donc µ ∈ Sp(A),

il vient|µ|2 ≤ 1 ⇐⇒ 2(1− cos(πξ))λ2 + 2(cos(πξ)− 1)λ+ 1 ≤ 1

⇐⇒ 0 ≤ λ ≤ 1.

Le schéma (4) est donc stable au sen de Von Neumann si la condition CFL λ ≤ 1 est vérifiée.

A partir de ce résultat, nous pouvons étudier la stabilité des différents schémas VFD étudiés.

Proposition 3.1 (Stabilité à l’ordre 1). Le schéma à l’ordre 1 (4) est stable au sens de Von

Neumann sous la condition CFL ∆t ≤ ∆x.

Demonstration. On procède comme dans la démonstration du lemme 3.1. Soit donc

U(1)(n)k

U(0)(n)k

= Uneikπξ.

3. Validation sur un exemple mono-dimensionnel 21/67

On peut alors réécrire notre schéma sous forme matricielle :

Un+1 = A1Un,

avec

A1 =

A0 0

B1 A0

,

où la matrice A0 est donnée par (5) et la matrice B1 est définie par

B1 =∆t

∆x

[−(An)−g

(∆x

2e−iπξ −

(−∆x

2

))− (An)−d

((−∆x

2

)eiπξ − ∆x

2

)].

En remarquant que ρ(A1) = ρ(A0) et en appliquant le lemme 3.1, on obtient le résultat.

Théorème 3.1 (Stabilité de Von Neumann). Le schéma VFD (4) est stable au sens de Von

Neumann à n’importe quel ordre. De plus, la condition CFL est donnée par

∆t ≤ ∆x

Demonstration. On introduit la notation

U

(p)(n)k

...

U(0)(n)k

= Uneikπξ.

On commence par montrer récurrence que pour tout p ∈ N?, le schéma à l’ordre p peut se réécrire.

Un+1 = CpUn,

avec

Cp =

A0

B1 A0

B2 B1 A0

......

. . . . . .

Bp Bp−1 · · · B1 A0

.

Le cas de l’ordre 1 a été traité à la proposition 3.1. Supposons la proposition précédente vraie pour p

fixé. On rappelle que, pour le schéma à l’ordre p+ 1, il faut faire l’approximation :

uk ≈p∑

j=0

U(j)k

(x− xk)j

j!. (6)

22/67 3.4 Algorithme

En dérivant cette approximation,

∂xuk ≈p−1∑j=0

U(j+1)k

(x− xk)j

j!,

on constate que

U

(p−1)k

...

U(0)k

vérifie le schéma des Volumes Finis aux Dérivées à l’ordre p−1. Notre hypothèse

de récurrence nous assure alors qu’on a

Un+1 =

A0

B1 A0

B2 B1 A0

......

. . . . . .

Bp Bp−1 · · · B1 A0

∗ ∗ · · · ∗ ∗ ∗

Un.

On obtient ensuite la dernière ligne de la matrice écrivant le schéma des Volumes Finis pour l’approxi-

mation (6) :

Un+1 = Cp+1Un.

Le principe de récurrence assure alors que pour tout p ∈ N?, le schéma VFD (4) à l’ordre p s’écrit

Un+1 = CpUn.

Il ne reste plus qu’à voir que ρ(Cp) = ρ(A0) et utiliser le lemme 3.1 pour conclure.

Remarque 3.3. Ce dernier résultat montre un des avantages majeurs de cette méthode. En effet les

méthodes de type Galerkin Discontinu ont une condition CFL qui chute fortement lorsqu’on monte

en ordre ([Per04] et [Lau10]) . Le temps de calcul s’en trouve ainsi très fortement pénalisé, ce qui

n’est a priori pas le cas pour le schéma des Volumes Finis aux Dérivés, ce que nous montrerons par

la suite.

3.4 AlgorithmeNous renvoyons maintenant à l’algorithme 17, qui résout (3) par la méthode des Volumes Finis

à l’ordre p. On utilise la méthode d’Euler explicite comme schéma temporel et on fait appel àune fonction calculSecMembre, qui renvoie le second membre dans la formulation variationnelleprésentée avant, dans la section 3.2.

Remarque 3.4. Dans la fonction calculSecMembre est caché le calcul des flux, dont le détail

3. Validation sur un exemple mono-dimensionnel 23/67

Algorithme 1 Volumes Finis aux Dérivées 1D par Euler ExpliciteEntrées: p ≥ 0 ordre de la méthode , u0, v0, a ≤ b bornes de l’intervalle Ω , nx, nt > 0 nombre de pas

d’espace, de temps , tf > 0 temps finalSorties: U, V ∈ R(p+1)×nx

∆x← (b− a)/nx pas d’espace∆t← tf/nt pas temporelInitialisation des sortiespour j = 0 à p faire

pour i = 0 à nx faireU [i, j]← ∂j

xu0(a+∆x(b− a))V [i, j]← ∂j

xv0(a+∆x(b− a))fin pour

fin pourDébut du calculpour j = p à 0 faire

pour i = 0 à nx fairesecU, secV ← calculSecMembre(U, V, i, j)U [i, j] = U [i, j] + ∆x/∆t× secUV [i, j] = V [i, j] + ∆x/∆t× secV

fin pourfin pour

pourra être trouvé dans l’annexe C.

3.5 Étude de validation en domaine libreOn garde l’exemple (3) posé sur R+ ×R, mais avec des conditions initiales précisées :

∂tu− ∂xv = 0,∂tv − ∂xu = 0,

u(0, x) = (7− x)3(9− x)3χx∈[7,9] ∀x ∈ R,v(0, x) = (7− x)3(9− x)3χx∈[7,9] ∀x ∈ R.

(7)

En pratique, discrétiser R n’est pas possible. Pour faire nos tests numériques, nous choisirons unecondition initiale et un temps final de simulation T de façon à ce que le support de la solution reste àl’intérieur d’un intervalle borné Ω pour un intervalle de temps fixé [0, T ]. On peut vérifier que T = 3et Ω = [0, 10] vérifient ces conditions.

On note ωkk∈J1,nxK et tnn∈J1,ntK des discrétisations uniformes de Ω et [0, T ], de pas respectifs∆x et ∆t. On rappelle que notre schéma à l’ordre p consiste à calculer des réels U (j)(n)

k pour (j, k, n) ∈J0, pK× J0, nxK× J0, ntK. Notre solution sera alors donnée par :

Uk(x, t) ≈p∑

j=0

U(j)(n)k

(x− xk)j

j!.

Bien entendu, on ne peut pas se contenter de représenter cette solution au centre de chaquecellule ωk, comme on l’aurait fait pour la méthode des Volumes Finis. Pour avoir une représentationgraphique « correcte » qui rend compte de l’ordre de la méthode utilisée, on représente notre fonctionapprochée en « suffisamment » de points dans chaque intervalle.

Notons enfin que nous choisissons le schéma d’Euler explicite pour toutes nos approximationstemporelles. Nous avons choisi ce schéma car il est explicite et très simple à coder. Nous verrons

24/67 3.5 Étude de validation en domaine libre

d’autres schémas temporels dans la section 3.6.

3.5.1 Étude numérique sur l’exemple

On commence par donner quelques représentations de la solution approchée par cette méthode.La figure 1 est une représentation, en fonction de l’espace et du temps, de la solution exacte u duproblème (3) tandis que la figure 2, resp. 3, illustre la convergence vers la solution exacte de nossolutions approchées à l’ordre 0, resp. 1, lorsqu’on fait diminuer les pas d’espace et de temps. Enfin,la figure 4 affiche les solutions approchées aux ordres 2 et 3.

Figure 1 – Représentation en espace-temps de la première solution 1D exacte

(a) ∆x = 0.2, ∆t = 0.02 et p = 0 (b) ∆x = 0.05, ∆t = 0.005 et p = 0

Figure 2 – Représentation en espace-temps de la première solution 1D à l’ordre 0, pour (∆x,∆t) ∈(0.2, 0.02), (0.05, 0.005)

Les comparaisons étant quelque peu difficiles à faire entre la solution exacte et une solutionapprochée sur des représentations 3D, nous allons plutôt faire nos comparatifs sur des courbes. Ona alors le choix de représenter t 7−→ u(x, t) à x fixé (coupe en espace), ou x 7−→ u(x, T ) (coupe autemps final).

Nous faisons pour commencer des représentations de la solution approchée au temps final, enfonction de la variable spatiale, pour un pas de temps fixé à 10−3. Ce pas de temps est suffisamment

3. Validation sur un exemple mono-dimensionnel 25/67

(a) ∆x = 0.2, ∆t = 0.02 et p = 1 (b) ∆x = 0.05, ∆t = 0.005 et p = 1

Figure 3 – Représentation en espace-temps de la première solution 1D à l’ordre 1, pour (∆x,∆t) ∈(0.2, 0.02), (0.05, 0.005)

(a) ∆x = 0.2, ∆t = 0.02 et p = 2 (b) ∆x = 0.2, ∆t = 0.02 et p = 3

Figure 4 – Représentation en espace-temps de la première solution 1D aux ordres 2 et 3

petit pour que l’erreur principale soit due à la résolution spatiale.Les figures 5 et 6 montrent les solutions approchées aux ordres 0 et 1 pour un pas d’espace que

l’on a fait diminué. La figure 7 compare les schémas pour des ordres allant de 0 à 3 lorsqu’on faitvarier le pas spatial.

On voit ici que notre schéma semble converger vers la bonne solution, que ce soit aux ordres 0, 1,2 ou 3. De plus, la convergence paraît meilleure lorsqu’on monte en ordre. Cependant, il nous faudrafaire une étude d’erreur pour confirmer cette impression et pour estimer l’ordre de convergence qu’onobtient. On remarque également que la méthode à l’ordre 0 vérifie le principe du maximum commeon pouvait s’y attendre puisque la méthode à l’ordre 0 est la méthode des Volumes Finis classiques.Ce phénomène disparaît dès l’ordre 1, avec l’apparition de valeurs maximums trop grandes (au dessusde 0).

On représente ensuite diverses solutions de notre schéma pour une abscisse spatiale fixée à 6,pour un pas de temps qui vaut 10−3 et un pas d’espace qui varie. L’image 8 représente les solutionsapprochées aux ordres ordres 0 et 1, tandis que la figure 9 compare les différentes méthodes aux

26/67 3.5 Étude de validation en domaine libre

0 2 4 6 8 10−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(0)

(a) Solution approchée pour ∆x = 0.2

0 2 4 6 8 10−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(0)

(b) Solution approchée pour ∆x = 0.1

0 2 4 6 8 10−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(0)

(c) Solution approchée pour ∆x = 0.05

0 2 4 6 8 10−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(0)

(d) Solution approchée pour ∆x = 0.025

Figure 5 – Représentation au temps final de la première solution 1D à l’ordre 0, ∆t = 0.001

ordres 0, 1, 2 et 3.Pour quantifier l’ordre de convergence de la méthode, nous allons représenter l’erreur de ces

différents schémas. Pour cela, nous commençons par nous donner une formule de calcul de l’erreur.Notons (uex, vex) la solution exacte de notre problème, et (uh, vh) l’approximation fournie par

notre schéma. Nous considérerons donc l’erreur suivante dans la suite :

‖(uh − uex, vh − vex)‖2L2(Ω)×L∞(Ω) = supt∈[0,T ]

∫Ω

(‖uh(x, t)− uex(x, t)‖2 + ‖vh(x, t)− vex(x, t)‖2)dx,

que l’on approche par une méthode de quadrature de Gauss-Legendre ([Dem06]) d’ordre m suffisam-ment élevé au temps final, d’où :

E∆x := ‖(uh − uex, vh − vex)‖2L2(Ω)×L∞(Ω) ≈nx∑k=1

m∑α=1

µα,k(‖uh(xα,k, T )− uex(xα,k, T )‖2+

‖vh(xα,k, T )− vex(xα,k, T )‖2),(8)

où (µα,k, xα,k)α∈J1,mK désignent les poids et points de Gauss sur la cellule ωk.

3. Validation sur un exemple mono-dimensionnel 27/67

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(1)

(a) Solution approchée pour ∆x = 0.2

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(1)

(b) Solution approchée pour ∆x = 0.1

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(1)

(c) Solution approchée pour ∆x = 0.05

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final

x

u(.,t

f)

u exacteu approchee par VF(1)

(d) Solution approchée pour ∆x = 0.025

Figure 6 – Représentation au temps final de la première solution 1D à l’ordre 1, ∆t = 0.001

Enfin, pour deux pas d’espace distincts ∆x1 et ∆x2, si on note encore E∆x1 et E∆x2 les erreurscommises, on aura a une estimation de l’ordre β de la méthode utilisée avec l’approximation

β ≈ln(E∆x1

E∆x2

)ln(∆x1

∆x2

) . (9)

La figure 10 illustre l’erreur commise pour nos schémas pris à différents ordres. On retrouve bienun ordre approchant 0.5 pour notre schéma VFD à l’ordre 0, qu’on sait être l’ordre de la méthodedes Volumes Finis pour ce problème. On constate également que lorsqu’on augmente l’ordre de laméthode VFD, l’ordre numérique obtenu par (9) augmente également, ce qui est ce qu’on attendait.

3.5.2 Comparaison avec un schéma de Galerkin Discontinu

Maintenant que nous avons observé que notre schéma était convergent, il ne nous reste plus qu’àessayer de quantifier les gains de cette méthode. Nous allons donc le comparer à un schéma GD (on

28/67 3.5 Étude de validation en domaine libre

0 2 4 6 8 10−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u au temps final, ordre 0

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(a) Comparaison à l’ordre 0

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final, ordre 1

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(b) Comparaison à l’ordre 1

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps final, ordre 2

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(c) Comparaison à l’ordre 2

0 2 4 6 8 10−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

0.2Graphe de u au temps final, ordre 3

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(d) Comparaison à l’ordre 3

Figure 7 – Comparaisons au temps final pour ∆t = 0.001, ∆x ∈ 0.2, 0.1, 0.05, aux ordres p ∈ J0, 3Kpourra se reporter à l’annexe B pour une description détaillée de ce schéma ; nous avons ici choisi deprendre les fonctions de Legendre comme fonctions de base). Le tableau 1 fournit une comparaisonentre ces deux schémas, les paramètres observés étant le temps de calcul et la précision. Nous avonscomparé tous nos résultats au VFD à l’ordre 0 en notant t0 et ε les temps de calcul et erreur pourle schéma des Volumes Finis.

Le tableau 1 confirme l’intérêt que peut avoir notre méthode, puisque celle-ci est plus rapidequ’une méthode de type Galerkin Discontinu, pour une précision équivalente. Cela est dû d’unepart à la facilité d’implémentation de ce schéma, qui ne nécessite que des calculs très simples, maiségalement au fait que la condition CFL reste la même pour le schéma VFD, quel que soit l’ordrechoisi.

Remarque 3.5. Nous avons fait tous nos tests 1D à l’aide du logiciel Matlab, qui est réputé pour

sa structure de calcul vectoriel qui ne correspond pas à la structure Fortran pour le 3D. Toutefois,

nous avons pris garde à coder les schémas GD et VFD selon la même structure et donc les ordres

de grandeurs sont significatifs.

On constate pour finir que pour le pas de temps ∆x = 5.10−2, l’erreur augmente avec l’ordre

3. Validation sur un exemple mono-dimensionnel 29/67

0 0.5 1 1.5 2 2.5 3−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u en abscisse 6

x

u(6,

.)

u exacteu approchee par VF(0)

(a) ∆x = 0.2, p = 0

0 0.5 1 1.5 2 2.5 3−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u en abscisse 6

x

u(6,

.)

u exacteu approchee par VF(0)

(b) ∆x = 0.1, p = 0

0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u en abscisse 6

x

u(6,

.)

u exacteu approchee par VF(1)

(c) ∆x = 0.2, p = 1

0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u en abscisse 6

x

u(6,

.)

u exacteu approchee par VF(1)

(d) ∆x = 0.1, p = 1

Figure 8 – Représentation en abscisse 6 de la première solution 1D aux ordres 0 et 1, ∆t = 0.001et ∆x ∈ 0.2, 0.1

de la méthode : l’erreur pour l’ordre 3 est plus importante que pour la méthode à l’ordre 2. Celapeut s’expliquer par le fait qu’on soit trop précis en espace et plus assez précis en temps (on rappelleque le schéma d’Euler explicite n’est que d’ordre 1). Ce « problème » peut être facilement régler enchangeant le schéma en temps.

3.6 Le schéma RK-SSP

Jusqu’ici, nous avons surtout travaillé avec un schéma d’Euler Explicite, ce qui le plus souventsuffisant. Toutefois, ce schéma nous offre la possibilité de changer assez facilement de schéma entemps, ce qui peut parfois être utile.

Pour garder conserver la facilité d’implémentation de notre schéma, nous choisissons de program-mer des méthodes explicites de type Runge-Kutta (qui sont introduites dans le livre de J-P Demailly[Dem06]). Nous nous intéresserons plus particulièrement aux schémas RK-SSP (pour Runge-KuttaStrong Stability Preserving), qui sont présentés dans l’article de Gottlieb [GST01] et qui ont laparticularité d’être optimaux (ils ont la meilleure CFL pour un ordre donné).

30/67 3.6 Le schéma RK-SSP

0 0.5 1 1.5 2 2.5 3−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Graphe de u en abscisse 6, ordre 0

t

u(6,

.)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(a) Comparaison à l’ordre 0

0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u en abscisse 6, ordre 1

t

u(6,

.)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(b) Comparaison à l’ordre 1

0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u en abscisse 6, ordre 2

t

u(6,

.)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(c) Comparaison à l’ordre 2

0 0.5 1 1.5 2 2.5 3−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

0.2Graphe de u en abscisse 6, ordre 3

t

u(6,

.)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(d) Comparaison à l’ordre 3

Figure 9 – Comparaisons en abscisse 6 pour ∆t = 0.001, ∆x ∈ 0.2, 0.1, 0.05, aux ordres p ∈ J0, 3K

Décrivons rapidement cette méthode : soit une équation différentielle linéaire

∂tu = Lu,u(0) = u0,

le schéma à l’ordre m ∈ N s’écrit

u(i) = u(i−1) +∆tLu(i−1) i ∈ J1,m− 1K,u(m) =

m−2∑k=0

αm,ku(k) + αm,m−1

(u(m−1) +∆tLu(m−1)

),

3. Validation sur un exemple mono-dimensionnel 31/67

10−2

10−1

100

10−2

10−1

100

dx

erre

ur

Graphe de l erreur

VF(0), ordre = 0.39241VF(1), ordre = 0.7196VF(2), ordre = 1.0645VF(3), ordre = 1.4235

Figure 10 – Représentation logarithmique de l’erreur spatiale pour la première solution 1D, ∆t =0.001

GD(1) GD(2) VF(1) VF(2) VF(3)

∆x = 7, 5.10−2

∆t/∆x 0, 1 0, 04 0, 1 0, 1 0, 1

temps 18.t0 59.t0 2, 3.t0 5, 3.t0 13, 7.t0

erreur 6, 7.10−2.ε0 2, 5.10−2.ε0 1, 9.10−1.ε0 3, 7.10−2.ε0 1, 9.10−2.ε0

∆x = 5.10−2

∆t 0, 1 0, 04 0, 1 0, 1 0, 1

temps 41, 9.t0 120.t0 2, 8.t0 7.t0 15, 7.t0

erreur 4, 9.10−2.ε0 2, 3.10−2.ε0 1, 3.10−1.ε0 1, 8.10−2.ε0 2.10−2.ε0

Tableau 1 – Comparaison avec un schéma de Galerkin Discontinu - t0, ε0 : temps et erreur pour leschéma VF

où α1,0 = 1 et

αm,k =1

kαm−1,k−1 k ∈ J1,m− 2K,

αm,m−1 =1

m!,

αm,0 = 1−m−1∑k=1

αm,k.

32/67 3.6 Le schéma RK-SSP

GD(1) GD(2) VF(1) VF(2) VF(3)Schéma RKSSP d’ordre 1

∆t 0, 1∆x 0, 04∆x 0, 1∆x 0, 1∆x 0, 1∆x

temps 4, 19 1, 20.101 2, 75.10−1 7, 02.10−1 1, 57

erreur 4, 93.10−3 2, 26.10−3 1, 22.10−2 1, 75.10−3 2, 02.10−3

Schéma RKSSP d’ordre 2

∆t 0, 1∆x 0, 04∆x 0, 1∆x 0, 1∆x 0, 1∆x

temps 4, 19 1, 20.101 1, 67 4, 18 9, 53

erreur 4, 93.10−3 2, 26.10−3 2, 11.10−2 4, 12.10−3 9, 07.10−4

Tableau 2 – Comparaison avec un GD pour un schéma d’ordres 1 et 2 en temps

Remarque 3.6. Cette méthode a l’avantage de donner une façon récursive, et donc facilement

implémentable, pour trouver les coefficients du schéma de Runge-Kutta a un ordre quelconque.

Pour m = 1, on retrouve le schéma d’Euler explicite. Les ordres supérieurs sont obtenus en itérantle schéma d’Euler explicite.

Il nous faut maintenant valider numériquement ce schéma. La figure 11 montre la convergence denotre schéma VF(1) pour une approximation temporelle RK-SSP aux ordres 2 et 3. On pourrait dela même façon montrer la convergence pour les ordres suivants.

0 1 2 3 4 5 6 7 8 9 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps 3 par VF(1)

x

u(.,3

)

u exactedx=0.2dx=0.1dx=0.05

(a) Ordre 2 en temps

0 1 2 3 4 5 6 7 8 9 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4Graphe de u au temps 3 par VF(1)

x

u(.,3

)

u exactedx=0.2dx=0.1dx=0.05

(b) Ordre 3 en temps

Figure 11 – Illustration de la convergence pour les méthodes RK-SSP d’ordres 2 et 3, pour p = 1,∆x = 0.05, ∆t = 0.001

Reprenons ensuite le tableau 1 afin de constater qu’avec un schéma en temps plus précis nousavons bien une erreur qui diminue avec le pas d’espace (cf. 2).

Pour finir on reprend dans la figure 12 les calculs d’erreur qui ont été fait avant, mais avec despas d’espace plus fins. On constate le même problème que précédemment : dans la figure 12a, leschéma d’Euler explicite n’est plus assez précis et l’erreur en temps domine l’erreur en espace pour∆x trop petit. La figure 12b confirme qu’on peut régler ce « problème » en améliorant l’ordre duschéma temporel.

3. Validation sur un exemple mono-dimensionnel 33/67

10−2

10−1

100

10−3

10−2

10−1

100

dx

erre

ur

Graphe de l erreur

VF(0), ordre = 0.5707VF(1), ordre = 1.1714VF(2), ordre = 1.0556VF(3), ordre = 1.0307

(a) Schéma d’ordre 1 en temps

10−2

10−1

100

10−3

10−2

10−1

100

dx

erre

ur

Graphe de l erreur

VF(0), ordre = 0.5469VF(1), ordre = 1.0123VF(2), ordre = 1.3447VF(3), ordre = 1.5262

(b) Schéma d’ordre 2 en temps

Figure 12 – Représentation logarithmique de l’erreur spatiale, ∆t = 0.001

3.7 Traitement des conditions aux limites

3.7.1 Proposition d’une première méthode pour introduire les domaines bornés

Nous allons ici étudier un exemple en domaine borné. Nous commencerons par donner une façonde définir le schéma dans ce cas, puisque cela n’a pas été fait dans la thèse de Sophie Laurens [Lau10].Nous validerons ensuite ce schéma numériquement.

Pour le cas où on connaît explicitement la solution de notre problème (3), on peut définir le« saut » sur le bord à gauche et à droite de U (j) comme suit :

JU (j)1 Kg = ∂j

xusource(t, 0)− U(j)1 et JU (j)

nxKd= ∂j

xusource(t, 10)− U (j)nx

,

où J·Kg et J·Kd désignent les sauts à gauche et à droite respectivement. Les flux sont alors définiscomme dans le cas non borné.

Remarque 3.7. Notre façon de définir les sauts revient à introduire une cellule fictive, à laquelle

on attribuerait la valeur de notre solution au bord. La figure 13 illustre cette interprétation.

On commet alors une imprécision : en effet, la valeur de notre cellule imaginaire est la valeur

de u sur son bord droit, au lieu d’être sa valeur en son centre de gravité, comme on fait pour toute

les cellules intérieures. Cette approximation risque d’avoir des répercussion au niveau des ordres de

convergence de nos méthodes, comme nous le verrons plus tard.

On propose maintenant un cas test pour valider ce schéma : le cas d’un mode. On travaille toujourssur Ω = [0, 10], mais on se donne plutôt une solution de type corde vibrante, qui est donnée par :

u(x, t) = sin

(2πx

10

)cos(2πt

10

),

v(x, t) = cos(2πx

10

)sin(2πt

10

).

(10)

34/67 3.7 Traitement des conditions aux limites

..ω1

.ω2

.

u(x1, t)

.

u(x2, t)

.

u0(0, t)

.

u0(0, t)

.

JU1Kg

.

JU1Kd

Figure 13 – Interprétation du flux sur le bord avec une cellule fictive

La figure 14 représente des coupes des solutions approchées pour différents ordre au temps t = 3.

0 2 4 6 8 10−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4Graphe de u au temps final, ordre 0

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(a) Comparaison à l’ordre 0

0 2 4 6 8 10−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4Graphe de u au temps final, ordre 1

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(b) Comparaison à l’ordre 1

0 2 4 6 8 10−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4Graphe de u au temps final, ordre 2

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(c) Comparaison à l’ordre 2

0 2 4 6 8 10−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4Graphe de u au temps final, ordre 3

x

u(.,t

f)

u exacteu approchee pour dx = 0.2u approchee pour dx = 0.1u approchee pour dx = 0.05

(d) Comparaison à l’ordre 3

Figure 14 – Solution approchée pour ∆t = 0.001, ∆x ∈ 0.2, 0.1, 0.05 et p ∈ J0, pKOn constate que nos approximations tendent bien vers la solution exacte lorsqu’on diminue ∆x.La figure 15 illustre l’erreur commise de notre schéma, prise au sens de (8). Ce graphe confirme que

3. Validation sur un exemple mono-dimensionnel 35/67

notre schéma converge et valide donc notre idée de calcul des flux dans le cas d’un domaine borné.Cependant nous avons perdu par rapport au domaine libre : en effet, nos ordres de convergencestagnent alors qu’on augmente l’ordre de la méthode. Ceci peut être du à l’approximation du termede bord qui serait de degré trop bas.

10−2

10−1

100

10−2

10−1

100

dx

erre

urGraphe de l erreur

VF(0), ordre = 0.96436VF(1), ordre = 1.006VF(2), ordre = 1.0083VF(3), ordre = 0.95019

Figure 15 – Représentation logarithmique de l’erreur spatiale, ∆t = 0.001

3.7.2 Une autre méthode pour traiter les domaines bornés

Nous venons de présenter une méthode pour traiter des conditions aux limites qui est très restric-tive, puisqu’elle impose de connaître la solution sur le bord. Nous allons ici voir une nouvelle façonde traiter les conditions aux limites sans cette restriction.

Nous reprenons l’exemple de la corde vibrante :

u(t, x) = sin

(2πx

10

)cos(2πt

10

),

v(t, x) = cos(2πx

10

)sin(2πt

10

).

en supposant ne pas connaître la solution de ce problème.Pour un schéma de type Volumes Finis classique, on sait qu’il suffit d’imposer U

(0)(n)1 = 0 sur

notre première cellule par exemple.Pour le schéma VFD à l’ordre 1, le problème va être de trouver une condition aux limites conve-

nable pour l’équation qui nous donnera une approximation de la dérivée. Une idée est de reconstituercette dérivée à partir des temps précédents.

Pour cette méthode, on impose, sur la première cellule par exemple,

U(1)(n+1)1 =

U(0)(n)2 − U

(0)(n)1

∆x.

36/67 3.7 Traitement des conditions aux limites

A l’ordre 2, un choix s’offre à nous. On peut soit approcher directement la dérivée seconde avecles termes U (0)

i , ou plutôt voir la dérivée seconde comme la dérivée de la dérivée première, ie imposer,sur la première cellule par exemple,

U(2)(n+1)1 =

U(1)(n)2 − U

(1)(n)1

∆x.

C’est cette dernière méthode que nous avons favorisée, car elle est immédiate à mettre en œuvre.Validons maintenant numériquement ce nouveau schéma. La figure 16 montre que notre schéma

converge, ce qui valide notre nouvelle idée de conditions aux limites. Par contre, on retrouve lesproblèmes que l’on avait avec notre idée précédente : l’ordre de convergence n’augmente plus lorsqu’onaugmente l’ordre de la méthode, contrairement à ce qui se passe en domaine libre.

Ce défaut peut s’expliquer par la perte de la forme triangulaire de notre système. En effet, si l’onécrit notre schéma sous la forme

Un+1 = MUn,

la figure 17 montre que notre matrice M n’est plus triangulaire avec cette façon de gérer nos conditionsaux limites (on pourra se reporter au théorème 3.1 pour voir l’importance de cette propriété dans lecalcul de la condition CFL de stabilité).

On peut tout de même être satisfait d’avoir cette nouvelle façon de faire, puisque celle-ci nenécessite pas la connaissance de la solution exacte sur le bord.

0 2 4 6 8 10−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

x

u(.,t

f)

Graphe de u au temps final

u exacteVF(1)VF(2)VF(3)

(a) Comparaisons avec ∆x = 0.2 et ∆t = 0.02

10−2

10−1

100

10−2

10−1

100

dx

erre

ur

Graphe de l erreur

VF(0), ordre = 0.99398VF(1), ordre = 0.93609VF(2), ordre = 0.95087VF(3), ordre = 1.0005

(b) Erreurs avec ∆t = 0.001

Figure 16 – Illustration de la convergence pour notre seconde idée de conditions aux limites

3. Validation sur un exemple mono-dimensionnel 37/67

0 5 10 15 20

0

5

10

15

20

nz = 105

Structure par blocs du systeme, 10 cellules, ordre 1

(a) Domaine libre

0 5 10 15 20

0

5

10

15

20

nz = 109

Structure par blocs du systeme, 10 cellules, ordre 1

(b) Domaine borné

Figure 17 – Structures par blocs du système pour le schéma VFD

38/67 3.7 Traitement des conditions aux limites

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 39/67

4 Application du schéma VFD à l’approximation des équa-

tions de Maxwell en 3DNous avons validé numériquement notre schéma VFD en 1D et montré en plus que ce schéma

était comparable à un schéma GD, voire meilleur sur certains aspects. Nous avons de plus déterminéune façon de traiter des conditions aux limites.

Ces résultats nous encouragent à poursuivre notre travail, et à appliquer notre code pour desproblèmes de propagation d’ondes électromagnétiques.

Dans un premier temps, nous allons faire quelques rappels sur les équations de Maxwell, quirégissent les phénomènes électromagnétiques et qui nous occuperont dans toute cette partie. Nousdonnerons ensuite l’algorithme que nous avons utilisé pour résoudre ces équations, puis les résultatsnumériques que nous avons obtenus.

4.1 Présentation des équations de MaxwellOn s’appuie pour cette brève présentation sur le livre de physique écrit par Stratton [Str41].

4.1.1 Présentation générale

Dans un milieu quelconque Ω de R3, les phénomènes électromagnétiques sont décrits par lesquatre champs vectoriels :

E(x, t) : champ électrique en volt par mètres,D(x, t) : induction électrique en coulomb par mètre carré,H(x, t) : champ magnétique en ampère par mètre,B(x, t) : induction magnétique en tesla,

où x ∈ Ω désigne la variable spatiale tandis que t ∈ R+ est la variable temporelle.Ces quatre grandeurs sont reliées par le système d’équations aux dérivées partielles de Maxwell :

∂D∂t

+∇∧H + J = 0 (loi d’Ampère),

∂B∂t

+∇∧E = 0 (loi de Faraday),

∇ ·D = ρ (loi de Gauss électrique),∇ ·B = 0 (loi de Gauss magnétique),

(11)

(12)

(13)(14)

où J et ρ représentent respectivement les densités de courant électrique (en A ·m−2) et de charge(en C ·m−3) dans le milieu Ω.

4.1.2 Milieux diélectriques isotropes

On supposera dans toute la suite que notre milieu Ω est constitué de matériaux diélectriques nedépendant pas de la fréquence. Ceci entraine l’existence des tenseurs de permittivité électrique ε(en Farad par mètre) et de perméabilité magnétique µ (en Henry par mètre) qui vérifient pour tout(t,x) ∈ R+ × Ω.

D(t,x) = ε(x)E(t,x),B(t,x) = µ(x)H(t,x).

40/67 4.2 Implémentation

Dans un milieu isotrope, les tenseurs ε et µ sont réduits à des scalaires, qu’on notera plus sim-plement ε et µ. Nous supposerons dans la suite que Ω est diélectrique et isotrope. Les équations quenous considérerons sont donc :

ε∂tE−∇ ∧H = −J,µ∂tH +∇∧E = 0,

(15)

munies des deux lois ∇ ·E =

ρ

ε,

∇ ·H = 0.

Dans le vide, on notera ε0 et µ0 les tenseurs de permittivité électrique et de perméabilité magné-tique. Ils vérifient

ε0µ0 = c0,

ε0 ≈ 1

36π10−9F ·m−1,

c0 ≈ 3.10−8m · s−1,

où c0 est la vitesse de la lumière.

Remarque 4.1. Si Ω est un milieu conducteur isotrope sans mémoire, J est lié à E par la loi d’Ohm,

pour tout (t,x) ∈ R+ × Ω,

J(t,x) = σ(x)E(t,x).

Le système de Maxwell (15) devient alors

ε∂tE + σE−∇ ∧H = 0,

µ∂tH +∇∧E = 0.(16)

4.2 Implémentation

4.2.1 Écriture du schéma

On suppose pour toute la suite que la densité de courant est nulle, ie J = 0.On commence par remarquer que les équations de Maxwell (15) s’écrivent sous la forme

A0∂t

(EH

)+A1∂x

(EH

)+A2∂y

(EH

)+A3∂z

(EH

)= 0,

avec où

A0 =

(εI3 00 µI3

); A1 =

0 0 0

0 0 0 10 −1 0

0 0 00 0 −1 00 1 0

,

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 41/67

A2 =

0 0 −1

0 0 0 01 0 0

0 0 10 0 0 0−1 0 0

et A3 =

0 1 0

0 −1 0 00 0 0

0 −1 01 0 0 00 0 0

.

On a donc affaire à un système hyperbolique, et on trouvera dans l’annexe A la justificationde l’existence et de l’unicité de la solution des équations de Maxwell, elle-même tirée du cours deVincent Mouysset [Mou12].

On suppose que l’on travaille avec ε et µ valant 1, ce qui ne provoque pas de perte de généralités(on verra dans la suite comment se ramener au cas général par changement de variables).

Convenons de quelques notations pour la suite : on se fixe une discrétisation admissible au sensdes Volumes Finis de notre domaine borné Ω ⊂ R3, qu’on note (ωk)k∈J1,nxK. Comme en 1D, nousferons nos approximations temporelle sur l’intervalle [0, T ] à l’aide d’un schéma d’Euler explicite, etnous noterons ∆t le pas de temps associé.

Remarque 4.2. Essentiellement en raisons des mailleurs que nous avons à notre disposition, toutes

nos cellules seront des tétraèdres. Cependant, le schéma VFD fonctionne tout aussi bien avec des

hexaèdres, des prismes, etc... et même avec des maillages mixtes.

Lorsqu’on dispose d’un maillage composé de tétraèdres, il existe deux formulations classiques desVolumes Finis, qui sont représentées par la figure 18 (les points représentent nos degrés de liberté)dans le cas plan plus lisible :

1) La formulation dite « centrée aux nœuds » où les inconnues sont situées aux nœuds du maillageet où les cellules sont construites à partir des barycentres des tétraèdres constituant le maillage.

2) La formulation dite « centrée aux éléments » où les cellules sont les tétraèdres du maillage etles inconnues sont situées en leurs centres de gravité.

Ces deux formulations ont chacune leurs avantages. La formulation centrée aux nœuds bénéficie d’unecontrainte CFL moindre ([Bon98]), tandis que la formulation centrée aux éléments fournit une plusgrande facilité pour traiter les conditions aux limites. En effet dans le cas de la formulation centréeaux nœuds il faudra faire un traitement particulier sur le bord et tronquer des éléments.

Étant données que nos difficultés se situent justement aux niveaux des frontières, nous avonschoisi la formulation la plus naturelle pour traiter ces problèmes, à savoir la formulation centrée auxéléments.

Avant de présenter l’algorithme correspondant à notre schéma à un ordre p ∈ N, nous donnonssa formulation variationnelle dans le cas tri-dimensionnel.

On rappelle qu’on effectue, sur une cellule ωk, l’approximation

Uk ≈∑|α|≤p

U (α) (x− xk)α

α!.

On reporte alors la dérivée

DjUk ≈∑

α1+α2+α3≤pα1≥j1α2≥j2α3≥j3

U(α)k

(x− xk)α1−j1(y − yk)

α2−j2(z − zk)α3−j3

(α1 − j1)!(α2 − j2)!(α3 − j3)!,

42/67 4.2 Implémentation

.

(a) Formulation centrée aux éléments

.

(b) Formulation centrée aux nœuds

Figure 18 – Deux façons classiques de définir des volumes d’intégration à partir d’un maillagetriangulaire

dans le schéma aux Volumes Finis correspondant, comme on l’avait fait dans la section 3.2 dans lecas mono-dimensionnel, ce qui fournit

|ωk|U

(j)(n+1)k − U

(j)(n)k

∆t+

∫∂ωk

(An)−JU (j)(n)k Kdx = SM

(j)(n)k ,

avec

SM(j)(n)k = −

∑α1+α2+α3≤p

α1>j1α2>j2α3>j3

∫ωk

Ai∂iU(α)(n)k

(x− xk)α1−j1(y − yk)

α2−j2(z − zk)α3−j3

(α1 − j1)!(α2 − j2)!(α3 − j3)!dx

−∑

α1+α2+α3≤pα1>j1α2>j2α3>j3

∫ωk

U(α)(n+1)k − U

(α)(n)k

∆t

(x− xk)α1−j1(y − yk)

α2−j2(z − zk)α3−j3

(α1 − j1)!(α2 − j2)!(α3 − j3)!dx

−∑

α1+α2+α3≤pα1>j1α2>j2α3>j3

∫∂ωk

(Aini)−JU (α)(n)

k K (x− xk)α1−j1(y − yk)

α2−j2(z − zk)α3−j3

(α1 − j1)!(α2 − j2)!(α3 − j3)!dx.

Pour se fixer les idées et mieux comprendre les notations précédentes, nous donnons le schémacorrespondant pour l’ordre 1. On fait l’approximation, sur une cellule ωk :

Uk ≈ U(0,0,0)k + U

(1,0,0)k (x− xk) + U

(0,1,0)k (y − yk) + U

(0,0,1)k (z − zk),

où chaque composante est approché par les schémas aux Volumes Finis suivants, les trois premiers

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 43/67

devant être résolus avant le dernier :

U(1,0,0)(n+1)k = U

(1,0,0)(n)k − ∆t

|ωk|

∫∂ωk

(Aini)−JU (1,0,0)(n)

k Kdx,

U(0,1,0)(n+1)k = U

(0,1,0)(n)k − ∆t

|ωk|

∫∂ωk

(Aini)−JU (0,1,0)(n)

k Kdx,

U(0,0,1)(n+1)k = U

(0,0,1)(n)k − ∆t

|ωk|

∫∂ωk

(Aini)−JU (0,0,1)(n)

k Kdx,

U(0,0,0)(n+1)k = U

(0,0,0)(n)k − ∆t

|ωk|

(∫∂ωk

(Aini)−JU (0,0,0)(n)

k Kdx +

∫ωk

∂t

(U (1,0,0)(n)(x− xk)+

U (0,1,0)(n)(y − yk) + U (0,0,1)(n)(z − zk))dx + |ωk|

((A1U

(1,0,0)(n) +A2U(0,1,0)(n) +A3U

(0,0,1)(n))

+

∫∂ωk

(Aini)−(JU (1,0,0)(n)

k K(x− xk) + JU (0,1,0)(n)k K(y − yk) + JU (0,0,1)(n)

k K(z − zk))dx.

Le calcul de la valeur de (Aini)− est détaillé dans l’annexe C.

Remarque 4.3. Nous avons supposé ε = µ = 1 car nous travaillons en variables adimensionnées.

On peut se ramener, avec un changement de variables détaillé dans l’annexe C au cas général.

4.2.2 Construction du code 3D

Description des modules. Nous avons choisi de programmer ce schéma en Fortran 90, pour sarapidité de calcul et sa facilité à mettre en œuvre. Un code tri-dimensionnel étant toujours lourd àimplémenter, dans un soucis de lisibilité, nous avons dû le scinder en plusieurs modules :

1) Un module structure où l’on définit tous les types qui nous seront utiles (par exemple, on adéfinit un type mesh qui désigne le maillage et contient les sous-types nodes, faces, elts)

2) Un module entree, qui lit un fichier, dans lequel l’utilisateur entre les différents paramètres(éventuellement optionnels) du programme :

• le nom du fichier de maillage ;• l’ordre de la méthode ;• le temps final ;• les sources ;• les types de sorties attendues (champs, ponctuelles).

3) Un module maillage, qui lit le fichier de maillage dans un format attendu, et effectue les calculsle concernant (calcul de volumes, de centres de gravité, de normales sortantes etc...)

4) Un module quadrature qui calcule, par quadrature de Gauss, les différentes intégrales surfa-ciques et volumiques qui nous intéressent. Ces formules sont extraites de [Ern05].

5) Un module source qui assemble les éventuelles sources.

6) Un module calcul, dans lequel tous les calculs sont réalisés. Nous le décrivons plus en détailsau paragraphe suivant.

7) Un module sortie, qui écrit d’éventuels fichiers de sorties.

44/67 4.2 Implémentation

Enfin, ce programme s’accompagne de deux autres petits programmes, de pré et post-traitement.Le premier met le fichier obtenu via le logiciel libre Gmsh au format de notre programme principal.Un autre programme post-traite les fichiers de sorties, de façon à ce qu’ils soient plus lisibles parles logiciels libres XmGrace (pour les tracés de courbes 1D) et Paraview (pour la représentationtri-dimensionnelle des solutions obtenues).

Description des calculs. La première étape consiste à calculer le pas de temps adapté au maillage,que l’on a choisi égal à 90% du pas de temps CFL. Nous rappelons que le pas de temps CFL pourles Volumes Finis appliqués au système de Maxwell est donné par :

∆tcfl = mink∈J1,nxK

(|ωk|σk

),

où σk désigne la surface de l’élément ωk. Cette formule est démontrée dans la thèse de P. Bonnet[Bon98].

Nous pouvons désormais passer au calcul principal. On commence par initialiser nos vecteurs U (j)k

à l’aide des éventuelles sources. Ensuite, tous les calculs se font dans une boucle en temps. On calculechaque nouveau U

(jx,jy,jz)k à l’aide du précédent. Pour ce faire, on a implémenté une boucle sur les

indices (jx, jy, jz), pour |j| allant de p à 0. Nous sommes maintenant en mesure d’assembler, pourchaque cellule ωk, le second membre du schéma établi à la section 4.2.1.

Dans un premier temps, pour valider le code avec une solution analytique nous considérons le casd’un flux au bord avec dérivées connues.

Donnons-nous donc une cellule ωk avec σ ⊂ ∂Ω une de ses faces qui est sur le bord. Enfin posonsxk le centre de gravité de ωk et xσ celui de σ. Le saut à travers σ est alors défini par

JUkKσ = U(xσ)−U(xk).

Ces notations sont reportées sur la figure 19, qui illustre la gestion des flux (pour des triangles,qui sont plus faciles à représenter que des tétraèdres).

..

σ

.

ωk

.

ωl

.

ωm

.xσ.

xk

.xl

.

xm

. JUkKσ.

∂Ω

Figure 19 – Gestion des flux sur le bord

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 45/67

Utilisation de la structure « triangulaire » du schéma. On note Un =(U (p)(n) · · ·U (0)(n)

)T .Notre schéma à l’ordre 0 s’écrit (on pourra se reporter à la preuve du théorème 3.1) :

Un+1 = A0Un, (17)

tandis que le schéma à l’ordre 1 s’écrit

Un+1 =

(A0 0B1 A0

)Un = A2Un. (18)

Nous avons donc programmé une première fonction VF0(U (0)(n)) qui calcule A0U (0)(n) dans(17) et traite ainsi l’ordre 0 de notre schéma. Pour l’ordre 1, nous avons implémenté une fonctionVF1(U (1)(n)) qui calcule B1U (1)(n). On résout ainsi (18) en appliquant VF0 à U (0)(n), U (1)(n) et enappliquant VF1 à U (1)(n).

Il nous a donc suffit d’ajouter une fonction pour passer de l’ordre 0 à l’ordre 1. Ceci est encorevalable pour les ordres suivants. Par exemple, le schéma à l’ordre 2 s’écrit

U (n+1) =

A0 0 0B1 A0 0B2 B1 A0

U (n). (19)

Pour programmer cette méthode, il nous suffit d’ajouter une fonction VF2(U (2)(n)) qui calculeB2U (n). La résolution de (19) est alors obtenue via la résolution de VF0(U (2)(n)), VF1(U (2)(n)),VF0(U (1)(n)), VF2(U (2)(n)), VF1(U (1)(n)) et VF0(U (0)(n)).

4.3 Résultats numériquesNous appliquons ici tout ce qui vient d’être vu à un exemple concret, dont on connaît la solution

(pour traiter les flux sur le bord).

4.3.1 Présentation de l’exemple

On choisi Ω comme étant une sphère centrée en zéro d’un mètre de rayon privée d’une sphèrede 30 centimètres de rayon et de même centre. Ω est ici représenté après une coupe par le pland’équation x = 0. Des exemples de maillage de Ω sont donnés dans la figure 20.

Pour notre schéma, nous utiliserons les résultats du paragraphe 3.7.1 : nous imposerons les valeursdes champs E(α) et H(α) sur ∂Ω, ie sur les sphères centrées en 0 de rayons 1m et 30cm.

On étudie ici une onde plane dans un domaine Ω, à savoir le problème dont la solution est donnéepar :

Ex(x, y, z) = cos(ωt− kyy),Ey(x, y, z) = 0,Ez(x, y, z) = 0,Hx(x, y, z) = 0,Hy(x, y, z) = 0,Hz(x, y, z) = −Y0 cos(ωt− kyy),

où Y0 désigne l’admittance du milieu en Siemens, définie par Y0 =

√ε

µ, et k =

λest le nombre

d’onde (λ = c.T est appelée longueur d’onde). Enfin ω = 2πf =2π

Test la fréquence angulaire, en

46/67 4.3 Résultats numériques

X

Y

Z

(a) Maillage de Ω

X

Y

Z

(b) Maillage de Ω avec une coupe pour voir la sphère inté-rieure

Figure 20 – Deux maillages de Ω

radian par seconde, tandis que T désigne la période et f la fréquence en s−1.Le programme permet à l’utilisateur d’entrer au choix les paramètres physiques ω, f , λ ou T .

Pour nos tests, nous avons choisi une longueur d’onde de 2m, et nous avons fait nos observations surune période.

4.3.2 Comparaison tri-dimensionnelle

Nous avons ici implémenté les schémas VFD aux ordres 0, 1 et 2. Les figures 21, 22, 23 et 24 sontdes représentations de Ex et semblent montrer la convergence de nos schémas.

Toutes ces observations semblent confirmer la convergence de notre schéma.

4.3.3 Comparaison avec une sortie ponctuelle

Une des options du logiciel programmé offre de sortir les valeurs des composantes des champs Eet H en un point fixé au cours du temps. Nous obtenons de la sorte les courbes des 25 et 26, qui nousmontrent d’une part que nos schémas aux ordres 0, 1 et 2 convergent. D’autre part, on constate quel’approximation devient meilleure avec l’augmentation de l’ordre p choisi.

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 47/67

(a) t = 0 s (b) t = 1, 3.10−9 s

(c) t = 2, 7.10−9 s (d) t = 4.10−9 s

(e) t = 5, 4.10−9 s (f) t = 6, 6.10−9 s

Figure 21 – Représentation du champs Ex exact

48/67 4.3 Résultats numériques

(a) t = 0 s (b) t = 1, 3.10−9 s

(c) t = 2, 7.10−9 s (d) t = 4.10−9 s

(e) t = 5, 4.10−9 s (f) t = 6, 6.10−9 s

Figure 22 – Représentation de l’approximation VF(0) du champs Ex

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 49/67

(a) t = 0 s (b) t = 1, 3.10−9 s

(c) t = 2, 7.10−9 s (d) t = 4.10−9 s

(e) t = 5, 4.10−9 s (f) t = 6, 6.10−9 s

Figure 23 – Représentation de l’approximation VF(1) du champs Ex

50/67 4.3 Résultats numériques

(a) t = 0 s (b) t = 1, 3.10−9 s

(c) t = 2, 7.10−9 s (d) t = 4.10−9 s

(e) t = 5, 4.10−9 s (f) t = 6, 6.10−9 s

Figure 24 – Représentation de l’approximation VF(2) du champs Ex

4. Application du schéma VFD à l’approximation des équations de Maxwell en 3D 51/67

0 1 2 3 4 5 6 7

x 10−9

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

Ex(

0.5,

0,0)

Sortie ponctuelle du code 3D en (0.5,0,0)

vol max = 2,38e−2vol max = 1,53e−2vol max = 2,70e−3exacte

(a) Ordre 0

0 1 2 3 4 5 6 7

x 10−9

−1

−0.5

0

0.5

1

1.5

t

Ex(

0.5,

0,0)

Sortie ponctuelle du code 3D en (0.5,0,0)

vol max = 2,38e−2vol max = 1,53e−2vol max = 2,70e−3exacte

(b) Ordre 1

0 1 2 3 4 5 6 7

x 10−9

−1

−0.5

0

0.5

1

1.5

t

Ex(

0.5,

0,0)

Sortie ponctuelle du code 3D en (0.5,0,0)

vol max = 2,38e−2vol max = 1,53e−2vol max = 2,70e−3exacte

(c) Ordre 2

Figure 25 – Graphes de Ex lorsqu’on fait varier la précision spatiale

52/67 4.3 Résultats numériques

0 1 2 3 4 5 6 7

x 10−9

−1

−0.5

0

0.5

1

1.5

t

Ex(

0.5,

0,0)

Sortie ponctuelle du code 3D en (0.5,0,0)

VF(0)VF(1)VF(2)exacte

Figure 26 – Convergence pour différents ordres avec un pas d’espace fixé (vol max = 1, 53.10−2)

5. Conclusion 53/67

5 ConclusionNous avons finalement réussi à appliquer le schéma VFD aux équations de Maxwell, ce qui était

l’objectif de ce stage. Nous avons pour cela procédé à une étape de validation sur un exemple 1D, cequi nous a permis de mieux comprendre le schéma et de compléter les résultats théoriques de SophieLaurens [Lau10], notamment avec un calcul de CFL. Cela a également été l’occasion de souleverquelques problèmes et de les résoudre, comme la façon de traiter les conditions aux limites. Enfinnous avons justifier sur cet exemple l’intérêt de notre travail, puisque nous avons confronté notreschéma avec un schéma GD existant et montré que le schéma VFD était suffisamment rapide etprécis pour pouvoir intéresser une entreprise, au moins en domaine libre.

C’est seulement après ce travail préliminaire que nous avons réalisé le code qui nous a permis demodéliser des problèmes concrets, à savoir des phénomènes électromagnétiques en 3D.

Pour finir, signalons qu’il reste encore beaucoup à faire sur ce schéma si l’on se donne plus detemps. Déjà, l’étude de comparaison avec un code GD qui a été faite en 1D devrait être menée en 3D,avec de valider l’intérêt du schéma sur un exemple plus pratique. Ensuite, il faudrait revoir la façonde gérer les conditions aux limites. En effet, nous avons décrit deux idées qui fonctionnent, mais ellesfont perdre tout son intérêt à notre schéma, puisqu’on ne gagne plus en précision si on monte sonordre, ce qui efface toute compétitivité par rapport à un schéma GD. Enfin, signalons qu’on peutréinterpréter ce schéma comme un schéma de type Galerkin Discontinu (voir la section 2.3). Aveccette remarque, nous pouvons espérer pouvoir hybrider ce schéma avec un schéma de type GalerkinDiscontinu, ce qui pourrait être intéressant (et nous fournir par la même occasion une nouvelle façonde gérer les conditions aux limites par exemple).

54/67

A. Rappels sur les systèmes hyperboliques 55/67

Annexes

A Rappels sur les systèmes hyperboliquesNous allons faire ici quelques rappels sur les systèmes hyperboliques, sans les démontrer. Nous

traiterons le cas des systèmes en domaine libre et des systèmes bornés. Les calculs de cette annexes’appuieront sur le cours de V. Mouysset [Mou12], lui-même inspiré des livres d’Hörmander [Hö90a]et [Hö90b] ainsi que de l’article [Rau85].

A.1 Problèmes hyperboliques non bornésNous commençons ce paragraphe par l’introduction de la notion de polynôme hyperbolique. Nous

ferons ensuite le lien avec la définition usuelle que l’on a d’un système hyperbolique. Enfin nousappliquerons tous les résultats d’existence et d’unicité aux systèmes rencontrés dans ce rapport.

A.1.1 Polynômes hyperboliques

Soit P (D) =∑

|α|<m

aαDα un opérateur différentiel d’ordre m. On note Pm sa partie principale :

Pm =∑

|α|=m

aαDα.

Définition A.1. Soit N ∈ Rm un vecteur. Un polynôme P est dit hyperbolique par rapport à N s’il

vérifie les conditions suivantes :

1) Pm(N) 6= 0 et

2) il existe α0 tel que, pour tout α < α0 et tout vecteur x ∈ Rm, P (x + iαN) 6= 0.

Proposition A.1. Soit N ∈ Rm un vecteur. Un polynôme homogène P de degré m est hyperbolique

par rapport à N si et seulement s’il vérifie les propriétés suivantes :

1) P (N) 6= 0 et

2) pour tout vecteur x ∈ Rm, l’équation P (x + αN) = 0 n’admet que des racines α réelles.

Exemple A.1. L’opérateur des ondes bidimensionnel

P (D) =1

c2∂2t − ∂2

x − ∂2y

est hyperbolique par rapport à N = (1 0 0)T . En effet, on a immédiatement P (N) 6= 0 et pour tout

x ∈ R3, P (x + αN) = 0⇐⇒ α = −x0 + c√x21 + x2

2. Ainsi la proposition A.1 permet de conclure.Dans toute la suite nous ne nous intéresseront qu’au cas où N = (1 0 0)T . Dans ce cas on dit

que les polynômes hyperboliques par rapport à N sont hyperboliques en temps.

56/67 A.1 Problèmes hyperboliques non bornés

A.1.2 Résolution du problème de Cauchy

Théorème A.1. Soit P (D) un opérateur d’ordre m hyperbolique en temps de la forme

P (D) =

m∑k=0

ak∂kt +

∑α′∈Rd

|α′|≤m

bα′∂α′

x .

Soient j ≥ m et r = [d/2]+1. Alors, pour tout f ∈ Cj+r(R+×Rd) et gk ∈ Cm−k+j+r(Rd), il existe

une unique solution u ∈ Cj(R+ ×Rd) au problème de Cauchy

P (D)u = f sur R+ ×Rd,

∂kt u(0,x) = gk(x) x ∈ Rd, k ∈ J0,m− 1K,

qui est donnée par :

u(t,x) = E ∗(t,x) f +m−1∑j=0

∂jtE(t, ·) ∗x bj ,

avec

bj(x) =m∑

k=j+1

akgk−j−1(x).

Corollaire A.1. Soit un opérateur hyperbolique en temps de la forme

P (D) =m∑

k=0

ak∂kt +

∑α′∈Rd

|α′|≤m

bα′∂α′

x .

Alors la solution élémentaire E est obtenue comme la solution du système

P (D) = E sur R+ ×Rd

∂kt E(0, ·) = 0 sur Rd, pour tout k ∈ J0,m− 2K,

∂m−1t E(0, ·) =

1

amδ0 sur Rd.

A.1.3 Systèmes hyperboliques du premier ordre à coefficients constants

On considère le système du premier ordre à coefficients constants

A0∂tu +d∑

i=1

Ai∂iu = f, (20)

où Ai ∈Mn×n(R) et A0 est inversible.On obtient alors l’équivalence avec les définitions de la partie A.1.1 :

A. Rappels sur les systèmes hyperboliques 57/67

Définition A.2. Le système (20) est dit hyperbolique si pour tout ω ∈ Sd−1,d∑

i=1

Aiωi est diagonali-

sable à valeurs propres réelles.

On suppose maintenant que les matrices Ai sont symétriques et on pose

P (x) = det(A0x0 +

d∑i=1

Aixi

)∀x ∈ Rd+1.

Proposition A.2. Le système (20) est hyperbolique si et seulement si P est un polynôme hyperbolique

en temps.

Les résultats de la partie A.1.2 permettent alors de montrer que les problèmes de Cauchy sontbien posés :

Théorème A.2. Supposons que l’opérateur A0∂t+Ai∂i soit hyperbolique. Alors il existe une unique

solution au problème de Cauchy suivant :

A0∂tu +Ai∂iu = f sur R+ ×Rd,

u(0, ·) = g sur Rd.

On peut alors appliquer ce théorème au cas du système de Maxwell

ε∂tE−∇ ∧H = 0 sur R+ ×R3,

µ∂tH +∇∧E = 0 sur R+ ×R3,E(0, ·) = E0 sur R3,H(0, ·) = H0 sur R3,

(21)

qui admet donc une unique solution. En effet, on commence par évaluer le polynôme associé àl’opérateur de Maxwell, par un calcul par blocs légitime dans ce cas :

P (x) = εµx20

(εµx2

0 − x21 − x2

2 − x23

)2,

pour tout x = (x0 x1 x2 x3)T .

On a P (N) = (εµ)3 qui est non nul et P (x+αN) qui admet α = −x0 et α = −x0±c√

x21 + x2

2 + x33

comme racine, où c désigne la vitesse de la lumière, pour tout x ∈ R4. Ainsi, puisque P est unpolynôme homogène de degré 6, la proposition A.1 nous assure qu’il est hyperbolique. Finalement lethéorème A.2 nous permet de conclure.

A.1.4 Détermination d’une solution exacte pour les calculs de la section 3

Proposition A.3. La solution élémentaire associée à l’opérateur des ondes

P (D) = ∂2t − c2∂2

x

58/67 A.1 Problèmes hyperboliques non bornés

est donnée par

E(t, x) =1

2cχ|x|<ct avec (t, x) ∈ R+ ×R.

Demonstration. D’après le corollaire A.1, il suffit de résoudre le système suivant :

P (D) = E sur R+ × R,

E(0, ·) = 0 sur R, pour tout k ∈ J0,m− 2K,∂tE(0, ·) = δ0 sur R.

Soit ξ ∈ C. En utilisant la transformée de Fourier spatiale, on a que t 7−→ u(t) est solution de l’équation

différentielle ordinaire ∂2t u+ c2ξ2u = 0,

u(0) = 0,

∂tu = 1.

D’où, pour t ∈ R+,

u(t) =sin(cξt)

cξt,

puis

2ciξu(t) = eicξt − e−icξt.

Ainsi, on obtient par transformation de Fourier inverse, pour (t, x) ∈ R+ × R,

2c∂xE(t, x) = δ(x− ct)− δ(x+ ct).

On en déduit, par intégration, qu’il existe C une constante ne dépendant que de t telle que

E(t, x) =1

2cξ|x|<ct + C.

On conclut en invoquant la formule de Plancherel, qui assure que x 7−→ E(t, x) est dans L2(R).

On en déduit donc :

Proposition A.4. Soient u0, v0 ∈ C1+ε, où ε > 0. Le système homogène

∂tu− ∂xv = 0 sur R+ ×R,

∂tv − ∂xu = 0 sur R+ ×R,

u(0, ·) = u0 sur R,

v(0, ·) = v0 sur R.

(22)

A. Rappels sur les systèmes hyperboliques 59/67

admet

u : (t, x) 7−→ 1

2(u0(x+ t) + u0(x− t)) +

1

2(v0(x+ t)− v0(x− t)),

v : (t, x) 7−→ 1

2(v0(x+ t) + v0(x− t)) +

1

2(u0(x+ t)− u0(x− t))

comme unique solution.

Demonstration. On commence par remarquer que u vérifie le système des ondes suivants :

∂2t u− ∂xu = 0

u(0, ·) = u0

∂tu(0, ·) = ∂xv0

La solution de ce problème est donnée directement par le théorème A.1 :

u(t, x) =1

2

∫ x+t

x−t

∂xv0(y)dy +1

2(u0(x+ t) + u0(x− t))

On trouve v de la même façon.

A.2 Systèmes hyperboliques en domaines bornésDans cette section on donne quelques résultats assurant que les systèmes hyperboliques bornés

sont bien posés.

A.2.1 Conditions maximales positives

On se donne T > 0 et un ouvert borné Ω ⊂ Rd, situé d’un seul côté de sa frontière et tel que ∂Ωsoit continûment différentiable. On s’intéresse au problème borné suivant :

∂tu +

d∑i=1

Ai∂iu = f sur [0, T ]× Ω,

u(0, ·) = g sur Ω,u(t, x) ∈ N (t, x) (t, x) ∈ [0, T ]× ∂Ω,

(23)

où les matrices Ai sont supposées symétriques et où N (t, x) est une application lipschitzienne de[0, T ]× ∂Ω à valeurs dans des sous-espaces de Ck. L’espace N représente les conditions aux limitesappliquées sur ∂Ω.

Définition A.3. L’espace N est dit maximal positif pour Ai(t, x)ni s’il vérifie les conditions sui-

vantes :

1) (Ai(t, x)niv,v) ≥ 0 pour tout (t, x) ∈ [0, T ]× ∂Ω et tout v ∈ N (t, x) ;

2) dim(N ) est le nombre de valeurs propres positives, comptées avec leur multiplicité, de Aini.

60/67 A.2 Systèmes hyperboliques en domaines bornés

On a alors :

Théorème A.3. On suppose que pour tout (t, x) ∈ [0, T ] × ∂Ω, l’espace N (t, x) est maximal

positif. Alors, pour tout f ∈ L1([0, T ], L2(Ω)) et tout g ∈ L2(Ω), il existe une unique solution

u ∈ L2([0, T ], L2(Ω)) ∩ C0([0, T ], L2(Ω)) à (23).

A.2.2 Application au système de Maxwell pour une condition de métal parfait

On suppose ici qu’il existe une matrice M(t, x) telle que N (t, x) = kerM(t, x) pour tout (t, x) ∈[0, T ]× ∂Ω.

Soit A ∈ Mn×n(C) une matrice diagonalisable dont les valeurs propres λ1, ..., λn sont réelles.Alors, en notant P la matrice de passage de A, on désigne par A+ et A− les matrices définies par :

A+ = P

. . .

max(λi, 0). . .

P−1 et A− = P

. . .

min(λi, 0). . .

P−1

Enfin, on note, pour tout (t, x) ∈ [0, T ]× ∂Ω, N(t, x) la matrice qui vérifie

M(t, x) = −1

2

(d∑

i=1

Ai(t, x)ni −N(t, x)

)

Proposition A.5. N est maximal positif pourd∑

i=1

Aini si et seulement si la matrice N vérifie les

deux conditions suivantes :

1)((N +NT )v,v

)≥ 0 pour tout (x,v) ∈ ∂Ω× ker (Aini −N) et

2) dim (ker(Aini −N)) = dim (ker(Aini)−).

Le système de Maxwell (21) muni de la condition n∧E sur ∂Ω (condition de métal parfait) admetune unique solution (E,H) ∈ L2([0, T ], L2(Ω)) ∩ C0([0, T ], L2(Ω)).

En effet, on commence par réécrire la condition sous forme matricielle :

M =

(0 0

−n ∧ I3 0

)et N =

(0 −n ∧ I3

−n ∧ I3 0

)

On alors immédiatement((N +NT )v,v

)= 0. Par ailleurs on a (voir l’annexe C pour le détail)

(d∑

i=1

Aini

)−

=1

2

(n ∧ n ∧ I3 −n ∧ I3

n ∧ I3 n ∧ n ∧ I3

)

et on peut vérifier quedim (ker(Aini −N)) = dim

(ker(Aini)

−)Ainsi la proposition A.5 nous assure que nos conditions aux limites sont maximales positives. Lerésultat est alors une conséquence directe du théorème A.3.

B. Rappels sur le schéma de Galerkin Discontinu 61/67

B Rappels sur le schéma de Galerkin DiscontinuNous allons maintenant présenter le schéma de Galerkin Discontinu. Nous rappellerons ensuite la

formulation variationnelle qui lui est associée, ainsi qu’un résultat de convergence.

B.1 Présentation et formulation variationnelleSoient n et d des entiers. Soit Ω ⊂ Rd un domaine ouvert, borné, d’un seul côté de sa frontière

avec ∂Ω de classe C1.On considère le système suivant :

∂tu+

d∑i=1

Ai∂iu = f sur [0, T ]× Ω,

u(·, 0) = u0 sur ΩMu = Mg sur [0, T ]× ∂Ω,

(24)

où les données sont suffisamment régulières pour que (24) admette une unique solution après l’applicationdu théorème A.3. On impose en particulier que kerM définisse une condition maximale positive.

La formulation variationnelle de ce problème consiste à trouver, pour tout t ∈ [0, T ], u(·, t) ∈L2(Ω) tel que, pour tout v ∈ L2(Ω), avec v ∈ L2(∂Ω),

∫Ω

(∂tu+Ai∂iu) · vdx +

∫∂Ω

M(u− g) · vdx =

∫Ω

f · vdx (25)

Proposition B.1. Soit u ∈ C([0, T ], L2(Ω)). Alors u est solution du problème continu (24) si et

seulement si u(·, 0) = u0 et u(t, 0) est solution de la formulation variationnelle (25) pour tout

t ∈ [0, T ].

B.2 Schéma de Galerkin DiscontinuOn se donne maintenant une discrétisation (ωk)k∈J1,nxK de Ω admissible au sens des Volumes

Finis, ie

Ω =

nx∪k=1

ωk et Int(ωk ∩ ωl) = ∅, ∀k 6= l.

On s’équipe également d’un espace d’approximation Vr défini, pour r ≥ 0 fixé, par

ϕ ∈ Vh ⇐⇒ ∀k ∈ J1, nxK, ϕ|ωk∈ Cr (ωk) .

Exemple B.1. En pratique, nous avons défini une fonction de référence ϕ sur une cellule de référence

ω par un polynôme de degré fixé, et nous avons construit notre espace Vh comme l’ensemble des images

de ϕ par les bijections qui envoient notre élément de référence sur chaque cellule du maillage.

La formulation variationnelle pour le schéma de Galerkin Discontinu revient alors à trouver, sur

62/67 B.3 Convergence

chaque cellule ωk, u|ωk(t, ·) ∈ Vr telle que, pour tout v ∈ Vr,

∫ωk

((∂t +Ai∂i)u) · vdx +

∫∂Ω∩∂ωk

M(u− g) · v−dx−∫∂ω−∂Ω

M(n)JuK · v−dx =

∫ωk

f · vdx. (26)

où n désigne la normale sortante à Ω et JvK = v+ − v− représente le saut de v, avec v± =lim

ε→0+v(x± εn).

La partie M(±n)J±uK est appelée flux. Le théorème B.1 nous assure qu’on peut prendre un largepanel de flux différents. Pour ce rapport, nous avons systématiquement choisi un flux particulier,appelé flux décentré, qui est défini par :

M(n) = (An)−.

Il est rapide de voir que pour chaque exemple traité dans ce rapport, ce flux vérifie les hypothèsesdu théorème B.1.

Théorème B.1. On suppose que

ker(

d∑i=1

Aini

)= ker M(n) ∩ ker M(−n)

Alors, pour u ∈ C([0, T ], L2(Ω)), u(t, ·) est solution de (24) dans Vr pour tout t ∈ [0, T ] si et seulement

si u(0, ·) = u0 et u(t, ·) est solution de (26) pour tout t ∈ [0, T ].

Remarque B.1. Dans le cas où l’espace Vr des fonctions tests est l’ensemble des fonctions carac-

téristiques de la discrétisation de Ω, on retrouve la méthode des Volumes Finis.

B.3 ConvergenceOn suppose être dans le cadre du théorème B.1. On note u la solution exacte de (26) et ur la

solution approchée calculée dans Vr.

Théorème B.2. L’erreur sur le schéma (26) est majorée par l’estimation a priori suivante : pour

tout t ∈ [0, T ],

‖u(t)− uh(t)‖L2(Ω) ≤ ‖u(0)− uh(0)‖L2(Ω) + CThp−1 supt∈[0,T ]

(‖u(t)‖Hp(Ω) + ‖∂tu(t)‖Hp(Ω)

)

C. Calcul de flux 63/67

C Calcul de fluxCette annexe explicite le calcul des flux décentrés pour les exemples traités dans les sections 3 et

4.

C.1 Calcul des flux décentrés pour l’exemple mono-dimensionnelNous donnons ici le détails du calcul des flux pour l’exemple mono-dimensionnel (3).

Lemme C.1. On a,

• pour n = −1, (An)− =1

2

−1 1

1 −1

et

• pour n = 1, (An)− =1

2

−1 −1

−1 −1

.

Demonstration. Soit n ∈ ±1. On commence par voir que

An =

0 −n

−n 0

,

dont les trace et déterminant sont respectivement égaux à 0 et −1. On en déduit que les valeurs propres de

An sont 1 et −1.

• Traitons le cas n = −1. Les vecteurs propres associés à −1 et 1 sont respectivement u1 = (−1, 1)T et

u2 = (1, 1)T . On en déduit

(An)− =

1 −1

1 1

0 0

0 −1

1 −1

1 1

−1

=1

2

−1 1

1 −1

.

• Soit maintenant n = 1. On a cette fois u2 et u1 qui ont comme valeurs propres respectives −1 et 1,

d’où

(An)− =

1 −1

1 1

−1 0

0 0

1 −1

1 1

−1

=1

2

−1 −1

−1 −1

.

C.2 Calcul des flux décentrés pour les équations de Maxwell

Lemme C.2. On a

(Aini)− =

1

2

n ∧ n ∧ I3 −n ∧ I3

n ∧ I3 n ∧ n ∧ I3

,

64/67 C.2 Calcul des flux décentrés pour les équations de Maxwell

où n ∧ I3 désigne la matrice A telle que, pour tout u ∈ R3, Au = n ∧ u. La notation n ∧ n ∧ I3 est

similaire.

Demonstration. Notons (n1, n2, n3) les coordonnées de n ∈ S2. On a alors

Aini =

0 n3 −n2

0 −n3 0 n1

n2 −n1 0

0 −n3 n2

n3 0 −n1 0

−n2 n1 0

.

Le polynôme caractéristique de cette matrice est

χ(X) = X6 − 2(n21 + n2

2 + n23)X

4 + (2n23n

22 + 2n2

1n22 + 2n2

1n23 + n4

1 + n42 + n4

3)X2 = X2(X − 1)2.

Les valeurs propres de notre matrice sont donc 0 et ±1, chacune étant de multiplicité 2. Si on note Eλ le

sous-espace propre associé à λ ∈ Spec(Aini), on a :

E0 = Vect⟨

0

0

0

n1

n2

n3

n1

n2

n3

0

0

0

⟩, E1 = Vect

n2

−n1

0

n1n3

n2n3

−(n22 + n2

1)

,

−(n23 + n2

2)

n1n2

n1n3

0

−n3

n2

⟩, et

E−1 = Vect⟨

−(n23 + n2

2)

n1n2

n1n3

0

n3

−n2

,

−n2

n1

0

n1n3

n2n3

−(n21 + n2

2)

⟩.

Ensuite, en posant P la matrice dont les colonnes sont les six vecteurs précédents pris dans l’ordre

C. Calcul de flux 65/67

présenté, on calcule

(Aini)− = P

0

0 0

0

0

0 −1

−1

P−1 =

1

2

C B

BT C

,

avec

C =

−(n2

2 + n23) n1n2 n1n3

n1n2 −(n21 + n2

3) n2n3

n1n3 n1n2 −(n21 + n2

2)

et B =

0 n3 −n2

−n3 0 n1

n2 −n1 0

.

On retrouve enfin les formules annoncées en vérifiant que, pour E,H ∈ R3, on a bien

(Aini)−

E

H

=1

2

n ∧ n ∧ E − n ∧ H

n ∧ E + n ∧ n ∧ H

.

On présente pour finir un dernier calcul, qui est un changement de variables pour passer ducas où les équations sont dimensionnées (ie avec ε, µ > 0 quelconques) au cas où ε = µ = 1, ditadimensionné.

On rappelle que Z0 =

õ

εdésigne l’impédance du système, tandis que son inverse Y0 est appelé

admittance.

Lemme C.3 (Redimensionnement des équations). Une approximation par Volumes Finis des

équations de Maxwell avec un second membre (J M)T est donnée par :

∫ωk

∂tUkdx +

∫∂ωk

1

2

Y0

εn ∧ n ∧ · −1

εn ∧ ·

1

µn ∧ · Z0

µn ∧ n ∧ ·

JUkKdx =

∫ωk

1

εJ

1

µM

dx,

où, si on note (Ek,Hk) l’approximation de la solution des équations de Maxwell par Volumes Finis

sur ωk, Uk désigne le vecteur (Ek Hk)T .

Demonstration. On suppose avoir

ε∂tE −∇ ∧ H = J,

µ∂tH +∇∧ E = M.

66/67 C.2 Calcul des flux décentrés pour les équations de Maxwell

On a, si on multiplie la première équation par √µ et la seconde par

√ε,

ε∂tE −∇ ∧ H = J

µ∂tH +∇∧ E = M⇐⇒

√εµ∂t(

√εE)−∇ ∧ (

õH) =

õ.J

√εµ∂t(

√µH) +∇∧ (

√εE) =

√ε.M

.

On est donc amené à poser le changement de variables t = ct (c = (εµ)−1/2 représente la vitesse de la

lumière), E =√ε.E et H =

√µ.H ce qui nous fournit le nouveau système (adimensionné)

∂tE −∇ ∧ H =√µ.J,

∂tH +∇∧ E =√ε.M.

Posons maintenant (Ek, Hk) l’approximation de (E,H) par VF sur ωk et Uk = (Ek Hk)T .

Ainsi le schéma semi-discrétisé par Volumes Finis sur une cellule ωk s’écrit

|ωk|∂tUk +

∫∂ωk

1

2

n ∧ n ∧ · −n ∧ ·

n ∧ · n ∧ n ∧ ·

JUkKdx =

∫ωk

õ.J

√ε.M

dx,

d’où

|ω|∂t

√ε√εµEk

√µ√εµHk

+

∫∂ω

1

2

√ε.n ∧ n ∧ · −√

µ.n ∧ ·√ε.n ∧ · √

µ.n ∧ n ∧ ·

JUkKdx =

∫ωk

õ.J

√ε.M

dx,

puis ∫ωk

∂tUkdx +

∫∂ωk

1

2

Y0

εn ∧ n ∧ · −1

εn ∧ ·

1

µn ∧ · Z0

µn ∧ n ∧ ·

JUkKdx =

∫ωk

1

εJ

1

µM

dx.

Références bibliographiques 67/67

Références bibliographiques[Bon98] P. Bonnet : Résolution des équations de Maxwell instationnaires et harmoniuqes par une

technique de volumes finis. Applications des problèmes de compatibilité électromagnétique.These de doctorat, Université Blaise Pascal de Clermont Ferrand, 1998.

[Dem06] J-P Demailly : Analyse numérique et équations différentielles. EDP Sciences, 2006.

[Ern05] A. Ern : Aide-mémoire Elements Finis. Dunod, 2005.

[Fan89] J. Fang : Time domaine finite difference computation for Maxwell’s equations. These dedoctorat, University of California at Berkeley, 1989.

[GST01] S. Gottlieb, C-W Shu et E. Tadmor : Strong stability-preserving high order timediscretization methods. SIAM Review, 43:89–112, 2001.

[Hö90a] L. Hörmander : The analysis of linear partial differential operators 1 : Distribution theoryand Fourier analysis. Springer, 1990.

[Hö90b] L. Hörmander : The analysis of linear partial differential operators 2 : Differentialoperators with constant coefficients. Springer, 1990.

[Lau10] S. Laurens : Approximation de Haute Précision pour des problèmes de diffraction. Thesede doctorat, Université de Toulouse, 2010.

[LR74] P. Lesaint et P.A. Raviart : On a finite element method for solving the neutron transportequation. Mathematical aspects of finite elements in PDE, 1974.

[Mou12] V. Mouysset : Modèles de propagation d’ondes. Université de Toulouse, mars 2012.

[Né80] J-C. Nédélec : Mixed finite elements in R3. Numer. Math., 1980.

[Per04] S. Pernet : Etude de méthodes d’ordre élevé pour résoudre les équations de Maxwell dans ledomaine temporel. Application à la détection et à la compatibilité électromagnétique. Thesede doctorat, Université Paris Dauphine - Paris IX, 2004.

[Rau85] J. Rauch : Symmetric positives systems with boundary characteristic of constant multi-plicity. Transaction of AMS, 1985.

[RH73] W. Reed et T. Hill : Triangular mesh methods for the neutron transport equation.Rapport technique, Los Alamos National Laboratory, 1973.

[Ric57] R.D. Richtmyer : Difference methods for initial value problems. Interscience, 1957.

[Str41] J-A Stratton : Electromagnetic theory. New-York, Mc Graw-Hill, 1941.

[Whi57] H. Whitney : Geometrie integration theory. Princenton University Press, 1957.

[Yee66] K. S. Yee : Numerical solution of initial boundary value problems involving maxwell’sequations in isotropic media. IEEE Trans. Antennas Propagat., 1966.