Damage study under shock with molecular dynamics by developing a massively parallel in-situ analysis algorithm
Étude d'endommagement sous choc en dynamique moléculaire par développement d'un algorithme d'analyse in-situ massivement parallèle
Résumé
In the perspective of the study of condensed matter under extreme conditions, many questions remain open in order to understand some phenomena, due to the difficulty of studying them experimentally. Depending on the phenomena studied, the lack of experimental data may prevent the modeling of these phenomena, or, when models do exist, it may prevent their calibration or settling which one to use. Molecular dynamics (MD) is the technique of choice for studying these phenomena, as it enables the response of a system to be simulated solely from the description of atomic interactions, for which well-tested models often exist. However, one of the disadvantages of this technique is that it requires a large number of atoms to reach a scale that is sufficiently representative of the phenomena being studied, in order to be able to observe them and overcome size effects as far as possible. Over the past decade, numerous efforts have been made to adapt DM codes to the latest supercomputer architectures, enabling us to simulate systems with several billion atoms. These MD simulations have become true numerical experiments, generating huge quantities of data to be processed. Nowadays, the time required for post-processing and analysis of this data can now become more important than for simulation, and is becoming an essential issue. In this thesis, we have developed an analysis algorithm for MD simulation capable of processing multi-billion-atom workloads with a computational cost of the order of one percent of the total simulation time. The algorithm detects and characterizes areas of interest in the simulation based on user-defined criteria, making it highly versatile. We have based this algorithm on connected components labeling techniques, parallelized in shared-memory, which we have extended to hybrid shared and distributed memory parallelism. This extension to distributed-memory settings not only enables us to handle the quantity of data generated by the simulations, but has also enabled us to incorporate our analysis into the CEA MD code exaStamp for in-situ processing of the simulations. This in-situ processing of the simulation reduces the amount of data to be stored on disk and increases the frequency of analysis on a simulation compared to what could be done in post-processing. A characterization of the errors associated with the measurements made by our analysis has been carried out, making it directly exploitable by physicists. In particular, we have applied it to a number of physical cases: micro-jetting and splashing where aggregate detection is required, as well as shock damage simulations (spalling) involving void detection.
Dans le contexte de l'étude en condition extrême de la matière condensée, de nombreuses questions restent encore ouvertes pour comprendre certains phénomènes, notamment à cause de la difficulté de leur étude expérimentale. Selon les phénomènes étudiés, l'insuffisance de données expérimentale peut limiter la modélisation des phénomènes, ou, lorsque les modèles existent, elle peut empêcher leur calibration ou d'évaluer leur pertinence. La dynamique moléculaire (DM) est une technique de choix pour étudier ces phénomènes car elle permet de simuler la réponse d'un système uniquement à partir de la description des interactions atomiques, pour lesquelles des modèles bien éprouvés existent souvent. Cependant, une des contreparties de cette technique est qu'elle nécessite une grande quantité d'atomes pour atteindre une échelle suffisamment représentative des phénomènes étudiés et pouvoir ainsi les observer en s'affranchissant au mieux des effets de tailles. Dans la dernière décennie, de nombreux efforts ont été fait pour adapter les codes de DM aux dernières architectures de supercalculateurs et permettent maintenant de simuler des systèmes à plusieurs milliards d'atomes. Ces simulations de DM sont devenues de véritables expériences numériques et génèrent de gigantesque quantités données à traiter. Désormais, le temps de post-traitement et d'analyse de ces données peut devenir prépondérant comparativement à celui de la simulation et devient un enjeu essentiel. Dans cette thèse, nous avons développé un algorithme d'analyse de simulation de DM capable d'analyser ces simulations de plusieurs milliards d'atomes avec un coût de calcul de l'ordre du pourcent du temps total de simulation. L'algorithme détecte et caractérise des zones d'intérêts dans la simulation à partir de critères définis par l'utilisateur, le rendant ainsi très versatile. Nous avons fondé cet algorithme sur les techniques d'étiquetage en composantes connexes parallélisé en mémoire partagée que nous avons étendu à un parallélisme hybride en mémoire partagée et distribuée. Cette extension à la parallélisation en mémoire distribuée permet d'une part de traiter la quantité de données générée par les simulations, et nous a permis d'autre part d'incorporer notre analyse dans le code de DM du CEA exaStamp pour un traitement in-situ des simulations. Ce traitement in-situ de la simulation permet de diminuer la quantité de données à stocker sur disque et d'augmenter la fréquence d'analyse sur une simulation comparée à ce qui pourrait être fait en post-traitement. Une caractérisation des erreurs associés aux mesures réalisées par notre analyse a été effectuée, le rendant directement exploitable par des physiciens. Nous l'avons en particulier appliqué à divers cas physiques: d'éjection de matière type “micro-jetting” et “splashing” où des détections d'agrégats sont nécessaires, ainsi que des simulations d'endommagement sous choc (écaillage) impliquant la détection de vides.
Origine | Version validée par le jury (STAR) |
---|