Depuis de nombreuses annรฉes, les simulations numรฉriques sont utilisรฉes pour reprรฉsenter des phรฉnomรจnes physiques par lโintermรฉdiaire de programmes informatiques appelรฉs codes de calcul. Moins onรฉreuses et moins contraignantes que les expรฉrimentations, elles permettent dโรฉtudier lโimpact de la modification de paramรจtres et dโobtenir des donnรฉes qui peuvent รชtre difficilement mesurables en conditions rรฉelles, aussi bien pour des raisons de sรปretรฉ que techniques. Il est ainsi possible dโexplorer de nombreuses solutions et dโobserver des comportements inattendus, pouvant suggรฉrer des expรฉriences. Pour ces raisons, les simulations numรฉriques sont complรฉmentaires aux expรฉrimentations.
Elles ont malgrรฉ tout des limites. Tout dโabord, les modรจles physiques utilisรฉs pour simuler les phรฉnomรจnes sont une approximation de la rรฉalitรฉ qui a besoin dโรชtre validรฉe pour un domaine dโutilisation. Ensuite, la complexitรฉ de certaines รฉtudes implique des puissances de calcul indisponibles actuellement et lโobligation de limiter spatialement le domaine รฉtudiรฉ. Les codes dรฉveloppรฉs sโattachent donc ร rรฉsoudre un problรจme dรฉterminรฉ et simplifient les effets extรฉrieurs en utilisant des donnรฉes imposรฉes (issues dโexpรฉrimentations), des moyennes ou des heuristiques. Depuis ces vingt derniรจres annรฉes, des couplages entre codes ont รฉtรฉ rรฉalisรฉs afin dโamรฉliorer ce point. Dans ce cas, les codes รฉchangent des rรฉsultats obtenus chacun dans leur domaine de compรฉtence. Les calculs rรฉalisรฉs peuvent ainsi prendre en compte les interactions entre diffรฉrentes disciplines physiques, amรฉliorant les rรฉsultats finaux.
Simulations numรฉriquesย
Les simulations numรฉriques permettent dโรฉtudier des comportements physiques. Les ressources informatiques รฉtant beaucoup moins coรปteuses que les expรฉrimentations, il est possible de rรฉaliser de nombreuses รฉtudes pour valider des choix techniques ou traiter des cas problรฉmatiques, comme lโoptimisation, les รฉtudes de sensibilitรฉ et les incertitudes de paramรจtres physiques. Diffรฉrents programmes informatiques, nommรฉs codes de calcul, sont dรฉveloppรฉs. Du fait de la complexitรฉ et des nombreuses interactions entre les effets physiques, la rรฉalisation dโun code global nโest pas envisageable. Les codes sont spรฉcialisรฉs dans la simulation dโun phรฉnomรจne, comme lโรฉcoulement dโun fluide, et dโun type de problรจme. Ils sont trรจs performants dans un domaine prรฉcis. Il faut alors noter que les รฉchelles de grandeur peuvent aller du nanomรจtre en dynamique molรฉculaire (simulation de lโรฉvolution dโun systรจme de particules molรฉculaires) ร plusieurs kilomรจtres dans le cas des รฉtudes mรฉtรฉorologiques. Dans ce travail de thรจse, on se limite aux codes sโappuyant sur une reprรฉsentation gรฉomรฉtrique pour effectuer leurs calculs. Un classement possible de ces derniers peut รชtre rรฉalisรฉ pour les sรฉparer en deux groupes. Dans le premier, ils sโappuient sur un maillage de la gรฉomรฉtrie de lโรฉtude. La rรฉsolution des รฉquations physiques aboutit ร un rรฉsultat discrรฉtisรฉ sur ce dernier. On parle alors de codes dรฉterministes. Dans le second cas, ils sont dits de Monte-Carlo. Il sโagit dโune approche stochastique utilisant une gรฉomรฉtrie continue et faisant intervenir des techniques probabilistes. Elle permet de simuler des phรฉnomรจnes caractรฉrisรฉs par une succession dโรฉtapes dans lesquelles plusieurs rรฉsultats sont possibles pour chaque entitรฉ รฉtudiรฉe. Dans ce qui suit, seuls les codes dรฉterministes sont traitรฉs. Il faut alors indiquer que, pour une gรฉomรฉtrie donnรฉe, la phase de discrรฉtisation peut aboutir ร des rรฉsultats trรจs diffรฉrents. Les maillages gรฉnรฉrรฉs sont spรฉcifiques aux besoins de chacun des codes de calcul. Ils peuvent รชtre surfaciques ou volumiques, uniformes, ร base de triangles, de quadrangles, …
Centralisation des donnรฉes
La centralisation de lโensemble des informations dโun calcul permet de regrouper plusieurs traitements partageant des donnรฉes communes . Elle impose un ensemble de rรจgles pour y accรฉder et met ร disposition les informations calculรฉes par une tรขche. Dans le cas prรฉsent, les besoins essentiels sont de pouvoir dรฉfinir une gรฉomรฉtrie et dโy attacher des donnรฉes afin de certifier que tous les traitements sโappuient sur des informations identiques. Dans ce travail de thรจse, toutes les donnรฉes sont connues. Il est donc possible de dรฉfinir complรจtement la gรฉomรฉtrie qui sert de base aux reprรฉsentations des tรขches ร effectuer. Le modรจle gรฉomรฉtrique permet รฉgalement dโassurer une cohรฉrence spatiale des rรฉsultats obtenus lors des calculs. Pour simplifier sa mise en ลuvre, il est important de pouvoir intรฉgrer des paramรจtres de construction, comme le rayon dโune sphรจre ou la hauteur dโun cylindre. Il sera donc nรฉcessaire de la dรฉfinir de maniรจre paramรฉtrique et continue pour garantir une prรฉcision optimale.
Un des intรฉrรชts de mettre en commun des informations entre diffรฉrentes tรขches est de sโassurer de la cohรฉrence de leurs rรฉsultats. Les donnรฉes utilisรฉes sont ainsi strictement identiques, aussi bien au niveau de la prรฉcision numรฉrique que concernant le choix des valeurs physiques (pour les cas ambigus). Un autre est de pouvoir partager entre tous les traitements les rรฉsultats obtenus par une tรขche en particulier. Il peut alors sโagir de champs de valeurs, comme une tempรฉrature, ou de dรฉformations gรฉomรฉtriques. Lโรฉchange de donnรฉes nรฉcessite donc une phase de transfert vers la reprรฉsentation gรฉomรฉtrique dโun second traitement.
Transfert de dรฉformations gรฉomรฉtriques
Le but principal du transfert de dรฉformations est de permettre ร des traitements dโutiliser une reprรฉsentation gรฉomรฉtrique ร jour, cโest-ร -dire prenant en compte les rรฉsultats obtenus par une tรขche dont la spรฉcialitรฉ est de calculer les รฉvolutions de la gรฉomรฉtrie. Le principe du transfert de modifications gรฉomรฉtriques est dรฉfini en deux รฉtapes distinctes. La premiรจre est appelรฉe la phase de dรฉfinition. Elle consiste ร calculer la dรฉformation de rรฉfรฉrence qui correspond, dans notre cas, au dรฉplacement de certains nลuds du maillage utilisรฉ. Elle peut รชtre obtenue de diffรฉrentes maniรจres, par exemple par modification manuelle en utilisant un outil graphique tel Blender ([Blender]) ou par lโintermรฉdiaire dโun logiciel de simulation physique appelรฉ code de calcul. Dans tous les cas, les maillages avant et aprรจs dรฉformation sont appariรฉs, cโest-ร -dire quโils partagent une mรชme connectivitรฉ mais que tout ou partie des nลuds peut avoir รฉtรฉ dรฉplacรฉ. La seconde phase rรฉalise le transfert des dรฉformations en sโappuyant sur le rรฉsultat de la premiรจre รฉtape. Lโapproche envisagรฉe devra faire intervenir des techniques dโinterpolation afin de sโappuyer sur les positions exactes du maillage rรฉsultat de lโรฉtape prรฉcรฉdente. De plus, le transfert ne devra pas crรฉer de nouveaux nลuds ou en supprimer car des donnรฉes physiques y sont attachรฉes. Seules leurs positions peuvent รชtre mises ร jour, cโest pourquoi une approche par remaillage est ร proscrire. Il faut รฉgalement ajouter que le transfert doit รชtre rรฉalisรฉ en un temps relativement faible en comparaison de celui des codes de calcul ; il doit au moins รชtre dโun ordre de grandeur infรฉrieur.
Couplage de codes de calcul
Pour mettre en place un couplage de codes, il est possible dโadopter diffรฉrentes stratรฉgies. Tout dโabord, les donnรฉes peuvent รชtre transmises dโun code ร lโautre par รฉchange de fichiers. Pour cela, tous les codes doivent รชtre modifiรฉs pour pouvoir intรฉgrer lโensemble des formats de fichiers quโils sont susceptibles de recevoir. Une telle approche est longue ร mettre en ลuvre et non pรฉrenne dans le temps. Pour รฉviter cela, le superviseur ISAS, Integrated Safety Analysis System, a รฉtรฉ mis en place par le CEA.
ISAS
En 1995, afin de pallier le problรจme du dialogue entre les codes de calcul, le CEA a dรฉcidรฉ de dรฉvelopper le superviseur ISAS, Integrated Safety Analysis System . Il sโagit dโune bibliothรจque de communication programmรฉe en OCAML, dont le noyau est รฉcrit en C, utilisant le langage de commande spรฉcifique CEA Gibiane et sโappuyant sur la librairie PVM (Parallel Virtual Machine) pour gรฉrer les รฉchanges de messages et de donnรฉes entre les diffรฉrents codes scientifiques.
Le langage, les formats de fichiers utilisรฉs et les appels possibles sont, trรจs souvent, diffรฉrents dโun code ร lโautre. Ainsi, la mise en place dโun coupleur est une tรขche ardue. Son dรฉveloppement nรฉcessite de connaรฎtre parfaitement lโensemble des codes intervenant dans lโรฉtude en cours car ils sont modifiรฉs pour prendre en compte les rรฉsultats de ceux avec lesquels ils sont couplรฉs. Les donnรฉes รฉchangรฉes transitent par le superviseur ISAS, apportant ainsi une aide dans la standardisation de bas-niveau des รฉchanges (types de donnรฉes รฉchangรฉes). Il faut noter que les codes sont modifiรฉs spรฉcifiquement pour un cas รฉtudiรฉ. Remplacer un code par un autre imposera de le connaรฎtre parfaitement et de rรฉaliser des ajustements lourds au niveau du coupleur. Plusieurs couplages ont tout de mรชme รฉtรฉ rรฉalisรฉs grรขce ร ISAS ([GNPโ97, GGTF98, PC00, BG02]). En raison de contraintes techniques et internes au CEA, ISAS nโest plus maintenu depuis les annรฉes 2000 et nโest plus compilable depuis trois ans. Le superviseur a donc dรฉfinitivement รฉtรฉ abandonnรฉ.
Travail de doctorat de T. Bonaccorsi
Durant son doctorat, T. Bonaccorsi ([Bon06]) sโest concentrรฉ sur la problรฉmatique de la modรฉlisation pluridisciplinaire. Il a mis en place un modรจle de donnรฉes commun ร plusieurs disciplines physiques et a proposรฉ des outils adaptรฉs au couplage permettant dโautomatiser les simulations numรฉriques. Pour cela, il dรฉfinit un modรจle commun sโappuyant sur des atomes de construction appelรฉs Entitรฉs technologiques. Les jeux de donnรฉes, ces fichiers requis par les codes pour dรฉcrire le problรจme ร traiter et la mรฉthode de rรฉsolution ร utiliser, sont ensuite encapsulรฉs dans une instance informatique correspondant au problรจme de lโรฉtude. Elle intรจgre des fonctions de pilotage du code, comme lโinitialisation et le lancement de la rรฉsolution, et impose une fonction dโaccรจs aux donnรฉes appelรฉe getResults. Relativement gรฉnรฉrique, elle est spรฉcialisรฉe dans lโรฉchange de champs de valeurs entre simulations. Pour cela, il est nรฉcessaire de fournir une forme sur laquelle lโinterpolation du champ doit รชtre rรฉalisรฉe. Lโinconvรฉnient de cette approche est le fait que le travail dโinterpolation est rรฉalisรฉ pour chaque code de calcul et que son dรฉveloppement est laissรฉ ร la charge des physiciens. De plus, il nโest pas possible de transfรฉrer de dรฉformations gรฉomรฉtriques entre les codes.
|
Table des matiรจres
INTRODUCTION
1 Cadre de lโรฉtude
1.1 Simulations numรฉriques
1.2 Problรฉmatique de la thรจse
1.2.1 Centralisation des donnรฉes
1.2.2 Transfert de dรฉformations gรฉomรฉtriques
1.3 Synthรจse
2 Etat de lโart
2.1 Couplage de codes de calcul
2.1.1 ISAS
2.1.2 Travail de doctorat de T. Bonaccorsi
2.1.3 SALOME
2.1.4 MpCCI
2.1.5 ICoCo
2.1.6 Bilan
2.2 Modรจle commun
2.2.1 Modรฉlisation gรฉomรฉtrique
2.2.2 Modรฉlisation sรฉmantique
2.2.3 Modรฉlisation dรฉclarative
2.2.4 Modรฉlisation par entitรฉs
2.2.5 Bilan
2.3 Formats dโรฉchange
2.3.1 Formats spรฉcifiques
2.3.2 Formats gรฉnรฉriques
2.3.3 Bilan
2.4 Caractรฉrisation de dรฉformations
2.4.1 Dรฉformations dโespaces et de sous-espaces
2.4.1.1 Dรฉformations de formes
2.4.1.2 Dรฉformations utilisant des coordonnรฉes diffรฉrentielles
2.4.1.3 Fonctions de base radiale
2.4.1.4 Dรฉformations physiques
2.4.2 Surfaces dรฉformables
2.4.2.1 Multirรฉsolution
2.4.2.2 Dรฉformations physiques
2.4.3 Mรฉthodes de transfert de dรฉformations
2.4.4 Bilan
2.5 Mรฉthodes de simplification
2.5.1 Fusions de faces
2.5.2 Rรฉ-รฉchantillonnage de surfaces polygonales
2.5.3 Plongement dans une grille rรฉguliรจre (vertex clustering)
2.5.4 Dรฉcimation
2.5.5 Contraction dโarรชtes/faces
2.5.6 Bilan
2.6 Synthรจse
3 Couplage de codes de calcul et modรจle commun
3.1 Procรฉdure de couplage de codes
3.2 Architecture du modรจle commun
3.2.1 Intรฉgration de donnรฉes
3.2.2 Dรฉfinition des caractรฉristiques
3.2.3 Niveau de finesse
3.2.4 Dรฉfinition des entitรฉs
3.2.4.1 Entitรฉ de base
3.2.4.2 Entitรฉ abstraite
3.2.4.3 Entitรฉ รฉlรฉmentaire
3.2.4.4 Entitรฉ complexe
3.3 Modรจle commun mis en place
3.4 Synthรจse
4 Etudes prรฉliminaires
4.1 Protocole dโรฉvaluation mis en place
4.2 Interpolation linรฉaire
4.3 Fonctions de base radiale
4.3.1 RBF multiquadrique
4.3.2 RBF Thin-Plate Spline
4.3.3 CS-RBF
4.4 Synthรจse
5 Transfert de dรฉformations
CONCLUSION