Mise en œuvre dans le cas 3D : simulations

Mise en œuvre dans le cas 3D :simulations

 Qualification de la chaîne de calcul SALOME-MPCube.

Au chapitre §5, l’implémentation de chaque partie de la chaîne de calcul SALOME-MPCube a été qualifiée séparemment. La partie locale de la chaîne (résolution des problèmes de cellules, calcul des matrices locales) a ainsi été testée par le biais des Exemples 5.1 et 5.2, présentés à la section §5.2.2.5. À la section §5.2.3.2, les Exemples 5.3 à 5.8 valident l’implémentation des méthodes d’Éléments Finis et de Galerkin discontinue en dimension 2 et 3. On présente maintenant plusieurs exemples du problème de diffusion (7.1) permettant d’assurer que le couplage entre les parties locale et globale de la chaîne de calcul SALOME-MPCube a été correctement implémenté On résout ces problèmes par les deux méthodes multi-échelles Q1 /VFDiam et GD/VFDiam, en suivant les étapes de la chaîne de calcul SALOME-MPCube présentée au chapitre §5. On discrétise tout d’abord le domaine Ω en un maillage TH(Ω) composé de macroéléments carrés de longueur H. Une fois fixé le taux de sur-échantillonage ρ, chaque cellule Kˆ est construite puis discrétisée via SALOME en un maillage Th(Kˆ) de pas h = αH, avec α = 1/20. On traite ensuite chaque cellule Kˆ du domaine : résolution des problèmes locaux, détermination de la base locale (Φi K )1≤i≤n et enfin calcul des matrices locales. On rappelle que cette étape ne dépend que du milieu Ω où l’on travaille, et non des problèmes de diffusion à résoudre. Cette tâche est donc effectuée une seule fois pour les trois exemples. Remarque 7.1 Le domaine étant homogène, les résultats (base et matrices locales) sont identiques d’une cellule à l’autre. Il n’est donc pas nécessaire de traiter toutes les cellules K. Il est en effet plus simple et plus économique de travailler sur ˆ une unique cellule puis de reporter les résultats sur les autres cellules. Cette astuce de calcul est utilisée à nouveau dans l’Exemple 7.5, décrit à la section §7.2.2. La Figure 7.1 présente l’évolution de l’erreur e∞(CH) en fonction de H lors de la résolution par la méthode d’Éléments Finis (cercle) et de Galerkin discontinue (carré) des exemples précédents : Exemple 7.1.1 ( et ), Exemple 7.1.2 ( et ) et Exemple 7.1.3 ( et ). Deux valeurs du sur-échantillonnage ρ sont représentées ρ = 0 (en haut) et ρ = 0.5 (en bas). On retrouve ici des résultats similaires à ceux obtenus sur les exemples de qualification de l’implémentation du problème grossier, présentés à la Figure 5.12. En effet, que ce soit pour la méthode d’Éléments Finis ou celle de Galerkin discontinue, tous les exemples convergent en O(H 2 ) quand H tend vers 0. Il est à noter que la méthode de Galerkin discontinue est plus sensible que la méthode d’Éléments Finis au choix du taux de sur-échantillonnage ρ, Comme on l’a présenté à la section §3.3, le calcul des termes matriciels des méthodes grossières dépend de la valeur de ρ. Si le sur-échantillonage est nul, les matrices sont calculées à partir des conditions aux limites des problèmes de cellules, qui sont explicitement connues. Dans le cas contraire, on interpole des valeurs aux faces de la frontière ∂K du macroélément K à partir des valeurs de la base locale sur la cellule Kˆ correspondante. La méthode de Galerkin discontinue faisant intervenir plusieurs matrices supplémentaires par rapport à la méthode d’Éléments Finis, notamment les matrices de saut T et de pénalité Y, il est logique que l’influence du sur-échantillonage soit plus marqué. 

Cas d’un milieu périodique

Description du milieu

On étudie maintenant les résultats des méthodes multi-échelles Q1 /VFDiam et GD/VFDiam sur un exemple théorique où le milieu D est périodique et oscillant. Exemple 7.2 On considère dans cet exemple le domaine Ω =]0,1[ 2 où l’on pose : D =  cos(2nπx) cos(2nπy) +2 0 0 cos(2nπx) cos(2nπy) +2  où n est un entier strictement positif. On choisit ici n = 7. On résout le problème définit par : f = 2nπ (sin(2nπx) cos(2nπy)−cos(2nπx)sin(2nπy)), ΓD = ∂Ω, gD = x−y. La solution du problème est alors : C = x−y. Comme dans la section précédente, on discrétise le domaine Ω en un maillage TH(Ω) composé de macroéléments carrés K de longueur H. Les cellules Kˆ sont ensuites construites puis discrétisées via SALOME pour obtenir les maillages Th(Kˆ) de pas h = αH. On traite ensuite chaque cellule Kˆ du domaine : résolution des problèmes locaux, détermination des bases locales (Φi K )1≤i≤n et enfin calcul des matrices locales. Cette étape achevée, on résout le problème par les méthodes d’Éléments Finis ou de Galerkin discontinue pour obtenir la solution grossière CH. Le terme de pénalité µ de la méthode de Galerkin discontinue vaut ici 100. À partir CH et de la base (ΦI )I∈I , on reconstruit ensuite la solution fine CH,h. 7.1.2.2 Base locale. La Figure 7.2 présente la différence entre la fonction de base locale Φ0 K issue de la cellule Kˆ = (0,0) et la fonction (1−x/H)(1−y/H), le polynôme de Lagrange correspondant à la méthode d’Éléments Finis Q1 classique. On a choisit ici H = 1/5 et α = 1/20. Trois valeurs de sur-échantillonnage sont illustrées : ρ = 0 (en 174 CHAPITRE 7. SIMULATIONS. 0.05 0.00 −0.05 FIGURE 7.2 – Exemple 7.2 : différence entre la fonction de base locale Φ0 K issue de la cellule Kˆ = (0,0) et la fonction de référence (1−x/H)(1−y/H). Pour H = 1/5, α = 1/20, trois cas sont représentés : ρ = 0 (en haut à gauche), ρ = 0.1 (en haut à droite) et ρ = 0.5 (en bas). On a tracé en noir la frontière ∂K du macroélément. haut à gauche), ρ = 0.1 (en haut à droite) et ρ = 0.5 (en bas). Les fonctions sont représentées sur la cellule Kˆ entière, le macroélément K étant délimité d’un trait noir. L’influence du taux de sur-échantillonnage ρ est très visible sur cette illustration. Dans le cas où ρ est nul, la fonction de base Φ0 K ne présente que peu d’écart avec la fonction polynômiale classique. Elle n’est donc pas adaptée au milieu oscillant. Au contraire, pour ρ = 0.1 et ρ = 0.5, on distingue nettement les oscillations de la fonction Φ0 K . Comme on l’avait escompté, la technique de sur-échantillonnage remplit donc son rôle, en permettant de s’affranchir des contraintes de linéarités imposées par les conditions aux limites des problèmes de cellule, le phénomène de couches limites décrit à la section §3.3.1.

EXEMPLES THÉORIQUES

Erreurs à l’échelle fine

 Afin d’estimer l’erreur entre la solution fine CH,h et la solution théorique C, on introduit l’erreur L 2 discrète suivante : e2(CH,h) = s ∑ K∈TH (Ω) ∑ k∈Th(K) |k|(CH,h(k)−C(xk))2 , (7.3) où xk est le barycentre de l’élément k du maillage fin Th(K). Dans tous ce qui suit, on note C EF H,h et C GD H,h les solutions fines obtenues respectivement par les méthodes multi-échelles Q1 /VFDiam et GD/VFDiam. La Figure 7.3 présente les erreurs e2(C EF H,h )(cercle) et e2(C GD H,h )(carré) en fonction de H. Chaque figure présente les erreurs pour trois valeurs de α : α = 1/5 ( et ) α = 1/10 ( et ), et α = 1/20 ( et ). Trois valeurs de ρ sont ici représentées : ρ = 0 (en haut), ρ = 0.1 (au milieu) et ρ = 0.5 (en bas). La Figure 7.4 présente les erreurs e2(C EF H,h ) (cercle) et e2(C GD H,h ) (carré) en fonction de H lorsqu’on impose α = 1/10. Trois valeurs de ρ sont représentées : ρ = 0 ( et ), ρ = 0.1 ( et ) et ρ = 0.5 ( et ) Remarque 7.2 Comme on l’a expliqué à la section §4.2.1, les courbes présentées ici ne sont pas des courbes de convergence des méthodes Q1 /VFDiam et GD/VFDiam, mais des courbes d’évolution de l’erreur en fonction d’un paramètre (h, H ou α = h/H), les autres étant fixés. Il apparaît sur ces courbes que les méthodes Q1 /VFDiam et GD/VFDiam ont sensiblement le même comportement. Les deux erreurs e2(C EF H,h ) et e2(C GD H,h ) décroissent globalement en O(H 3 2 ) quand H diminue. On peut toutefois signaler que la méthode Galerkin discontinue donne de meilleurs résultats dans le cas d’un découpage très grossier (H = 1/5). Pour les deux méthodes, l’évolution de l’erreur avec H n’est que peu influencée par les différents choix de α et de ρ. Comme on l’a expliqué à la section §3.3.1.1, le rôle du sur-échantillonnage dans les méthodes multi-échelles est d’éviter que les conditions aux limites des problèmes de cellules imposent leur linéarité sur les frontières des macroéléments K. La solution du problème étudié ici étant linéaire, cette linéarité artificielle ne pose pas problème. La technique de sur-échantillonnage est donc sans effet, puisqu’il n’y a pas de couche limite à corriger. On présente à la Figure 7.5 une visualisation de l’écart |C−CH,h| entre la solution théorique C et la solution fine recalculée CH,h sur l’ensemble du domaine Ω. Pour un taux α fixé (α = 1/20), on a représenté les écarts à l’échelle logarithmique pour H = 1/5 (en bas) et H = 1/20 (en haut) et pour deux valeurs de ρ : ρ = 0 (première et troisième lignes en partant du bas) et ρ = 0.5 (seconde et quatrième lignes). Les 176 CHAPITRE 7. SIMULATIONS. 10−2 10−1 10−3 10−2 H e2(CH,h) 10−2 10−1 10−3 10−2 H e2(CH,h) 10−2 10−1 10−3 10−2 H e2(CH,h) FIGURE 7.3 – Exemple 7.2 : erreurs e2(C EF H,h ) (cercle) et e2(C GD H,h ) (carré) en fonction de H. Chaque figure présente ici les erreurs pour trois valeurs de α : α = 1/5 ( et ) α = 1/10 ( et ), et α = 1/20 ( et ). Trois cas sont représentés : ρ = 0 (en haut), ρ = 0.1 (au milieu) et ρ = 0.5 (en bas).

LIRE AUSSI :  Les nouvelles transactions distribuées de .NET

EXEMPLES THÉORIQUES. 

Exemple 7.2 : erreurs e2(C EF H,h ) (cercle) et e2(C GD H,h ) (carré) en fonction de H, à α = 1/10 fixé. On présente ici les erreurs pour trois valeurs de ρ : ρ = 0 ( et ), ρ = 0.1 ( et ) et ρ = 0.5 ( et ). deux méthodes grossières sont illustrées : Éléments Finis (à gauche) et Galerkin discontinue (à droite). Dans le cas H = 1/5, on aperçoit les avantages qualitatifs de la méthode de Galerkin discontinue sur la méthode Éléments Finis. Le maximum de l’erreur est plus faible, et l’erreur en elle-même est mieux répartie. En particulier, dans le cas où le sur-échantillonnage ρ vaut 0.5, les sauts de discontinuités sont plus amortis par la méthode de Galerkin discontinue. Ce lissage des discontinuités se retrouve également quand H vaut 1/20, même si son intérêt est moindre car les sauts de discontinuités y sont naturellement plus faible qu’au cas précédent.

Réponse de la chaîne de calcul à un grand nombre de macroéléments

 Exemple 7.3 On considère le problème suivant :  −∆C = 0 dans Ω =]0,1[ 3 C = xyz sur Γ = ∂Ω. (7.4) La solution du problème est alors : C = xyz On divise le domaine en 50 macroéléments dans chaque direction et on utilise un sur-échantillonnage de 10%. On a donc D = (50,50,50) et ρ = 0.1. L’intérêt de l’Exemple 7.3 ne réside pas dans la résolution proprement dite du problème. La solution étant linéaire, les méthodes multi-échelles permettent de déterminer la solution à la précision machine près. 178 CHAPITRE 7. SIMULATIONS. Éléments Finis. Galerkin discontinue. H = 1/20 α = 1/20 ρ = 0.5 0.1 0.01 0.001 H = 1/20 α = 1/20 ρ = 0 0.1 0.01 0.001 H = 1/5 α = 1/20 ρ = 0.5 0.1 0.01 0.001 H = 1/5 α = 1/20 ρ = 0 0.1 0.01 0.001 FIGURE 7.5 – Exemple 7.2 : écart entre solution théorique C et solution fine recalculée CH,h pour les méthodes Éléments Finis (à gauche) et Galerkin discontinue (à droite). On a fixé α = 1/20 et représenté les écarts à l’échelle logarithmique pour H = 1/5 (en bas) et H = 1/20 (en haut) et pour deux valeurs de ρ : ρ = 0 et ρ = 0.5. 7.1. EXEMPLES THÉORIQUES. 179 Le but de cet exemple est de tester la réponse de la chaine de calcul SALOMEMPCube à une division importante du milieu. Les méthodes multi-échelles sont en effet conçues pour résoudre des problèmes de grandes et très grandes tailles, et il est donc important que l’architecture informatique implémentant ces méthodes soit robuste. Avec D = (50,50,50), on construit un maillage grossier TH(Ω) de 125000 éléments. Il est donc nécessaire de construire 125000 maillages fins Th(Kˆ) de cellules, puis de résoudre un million de problèmes de cellules (8 par cellule).

Stockage et manipulation de fichiers

 Un problème concernant la gestion des capacités de stockage a été révélé par cette simulation. Elle a mis en évidence la nécessité d’utiliser une arborescence de fichiers à plusieurs niveaux afin de sauvegarder les données manipulées. En effet, le nombre de fichiers et de répertoires que peut contenir un répertoire est limité, les chiffres exacts dépendant du système de fichiers choisi (ext3, ext4, Reiser4, FAT32, exFAT, etc.). Ces limites sont en deça des besoins de l’Exemple 7.3, même pour les plus récents des systèmes de fichiers. Par exemple, au sein d’un système de fichier ext4 le nombre maximal de sous-répertoires d’un même répertoire est 64000. Le nombre maximal de fichiers par répertoire au sein d’un système exFAT est de 2796202, ce qui permet dans cet exemple un maximum de 22 fichiers par cellule. Afin de s’affranchir de ces limites, les cellules se voient attribuer une arborescence unique en fonction de leur numéro. Pour la cellule Kˆ numérotée (p,q,r), l’arborescence choisie est ./wXp/wYq/wZr. Cette arborescence est ajoutée aux répertoires de travail ; utilisé lors de la résolution des problèmes de cellules ; et de stockage, où l’on enregistre la base et les matrices locales. Ainsi, si on nomme ./Work et ./Data les répertoires de travail et de stockage, le travail sur la cellule (2,1,5) utilise le répertoire ./Work/wX2/wY1/wZ5. Les résultats sont ensuite stockés dans le répertoire ./Data/wX2/wY1/wZ5.

Génération des maillages

 On construit les maillages Th(Kˆ) des cellules Kˆ issues des macroéléments K de TH(Ω). Les maillages sont générés les uns après les autres au sein de SALOME. Ils ne sont pas coïncidents (cf. §6.3) et se composent d’environ 4000 tétrahèdres. Ce nombre peut paraître peu élevé, mais on rappelle que le but de cet exemple n’est pas d’obtenir une simulation précise, mais d’étudier la réponse de la chaîne de calcul à une division importante du milieu. On présente à la Figure 7.6 le temps nécessaire à la génération des maillages. On utilise pour cela un noeud du serveur de calcul pax, un biprocesseur AMD Opteron 252 (cadence 2.6Ghz, mémoire vive 16Go). Seuls les 8000 premiers maillages ont été représentés. 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *