Couplage de codes de calcul

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.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

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

Lire le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

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