Brevet FR2967272A1 — publié le 20120511

PROCEDE DE VERIFICATION D'UN RESULTAT DE CALCUL REALISE PAR SIMULATION NUMERIQUE [0001 L'invention se situe dans le domaine de la simulation numérique. Elle concerne un procédé de vérification d'un résultat de calcul réalisé à partir d'une simulation numérique. [0002] De nombreux calculs sont actuellement réalisés par simulation numérique. Cela est par exemple le cas pour les calculs par éléments finis. Dans un tel calcul, un système physique est modélisé et son comportement est évalué par un algorithme en fonction de la modélisation du système physique et des conditions qui lui sont appliquées. De manière classique, les données concernant la modélisation du système physique et les conditions qui lui sont appliquées sont regroupées dans un fichier de données. L'algorithme de calcul crée, à partir de ce fichier, plusieurs nouveaux fichiers relatifs aux résultats et aux conditions d'exécution du calcul. En particulier, un premier fichier peut contenir les résultats du calcul, tels que les contraintes ou les déplacements générés sur l'objet physique étudié. Un deuxième fichier peut contenir des indications concernant la convergence du calcul. Et un troisième fichier peut contenir des données concernant les ressources matérielles utilisées pour le calcul. Des erreurs ou des possibilités d'erreur peuvent apparaître au cours du calcul, par exemple lorsque les conditions appliquées au système physique ne sont pas suffisamment précisées, lorsque la modélisation est incorrecte, ou lorsque le calcul ne converge pas ou trop lentement. Ces erreurs, lorsqu'elles sont détectées par l'algorithme, sont enregistrées dans l'un des fichiers créés au cours du calcul. Un premier inconvénient est que les messages d'erreur sont disséminés dans plusieurs fichiers différents et un utilisateur risque de les ignorer pour ne s'intéresser qu'aux résultats de calcul. La plupart du temps, des résultats de calcul sont déterminés même en cas d'erreurs détectées par l'algorithme. L'utilisateur risque par conséquent d'exploiter des résultats bien qu'ils soient complètement erronés. Un deuxième inconvénient est que, même si l'utilisateur prend connaissance des messages d'erreur et d'avertissement, ces messages lui sont souvent incompréhensibles. Ils risquent donc pareillement d'être ignorés. [0003i Un but de l'invention est notamment de remédier à tout ou partie des inconvénients précités en permettant à un utilisateur d'un algorithme de calcul par simulation numérique d'être facilement et rapidement informé de tous les messages d'erreur et d'avertissement générés au cours d'un calcul et de l'aider dans leur prise en compte. A cet effet, l'invention a pour objet un procédé de vérification d'un résultat de calcul réalisé à partir d'une simulation numérique, le calcul générant, dans différents fichiers, des messages d'erreur en cas d'erreurs détectées dans le calcul et des messages d'avertissement en cas de risque de résultat de calcul erroné. Le procédé selon l'invention comporte les étapes successives suivantes : - récupérer dans les différents fichiers tous les messages d'erreur et d'avertissement générés au cours du calcul, - créer un fichier rassemblant tous les messages d'erreur et d'avertissement générés au cours du calcul, - associer à chaque message d'erreur et à chaque message d'avertissement, une proposition de solution permettant de corriger des données à la base du message d'erreur ou d'avertissement de sorte que lors d'un nouveau calcul, ledit message ne soit plus généré. [0004i L'invention présente notamment l'avantage de permettre à l'utilisateur d'avoir une vision synthétique des différents messages d'erreur et d'avertissement générés au cours d'un calcul. Elle permet également de donner des instructions pour y remédier en fonction des connaissances de l'utilisateur. [0005i Selon une forme particulière de réalisation, l'étape d'association d'une proposition de solution à chaque message d'erreur et d'avertissement est réalisée en fonction d'associations prédéterminées. [0006i Une proposition de solution peut être associée à un message d'erreur ou d'avertissement en fonction de l'occurrence d'au moins un autre message d'erreur ou d'avertissement. [0007] Les messages d'erreur et d'avertissement et les propositions de solution associées sont par exemple formulés sous forme d'un tableau. Un tel tableau permet à l'utilisateur de visualiser rapidement l'ensemble des messages d'erreur et d'avertissement et d'avoir une proposition de solution immédiate. [000s] Les messages d'erreur peuvent être regroupés en fonction de leur degré d'importance, le degré d'importance de chaque message d'erreur étant prédéterminé. L'utilisateur peut ainsi se concentrer sur les messages d'erreur et d'avertissement les plus importants. [000s] Selon une première forme de réalisation, l'étape de récupération des messages d'erreur et d'avertissement dans les différents fichiers est effectuée par désignation desdits fichiers par un opérateur. [oo1o] Selon une deuxième forme de réalisation, l'étape de récupération des messages d'erreur et d'avertissement dans les différents fichiers est effectuée par désignation d'un fichier contenant des données pour le calcul, les différents fichiers contenant les messages d'erreur et d'avertissement étant pointés par le fichier contenant les données pour le calcul. Cette forme de réalisation présente l'avantage de ne nécessiter qu'une seule désignation de fichier. [oo11] L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée donnée à titre d'exemple non limitatif et faite en regard de l'unique figure sur laquelle sont représentées différentes étapes possibles pour le procédé de vérification d'un résultat de calcul selon l'invention. [oo12] Le procédé faisant l'objet de l'invention s'applique notamment à la méthode des éléments finis. De manière générale, elle s'applique à tout calcul réalisé à partir d'une simulation numérique. Dans un tel calcul, un fichier de données est créé par un utilisateur, par exemple par l'intermédiaire d'un logiciel de simulation numérique. Dans le cadre de la méthode des éléments finis, les données concernent notamment la géométrie des pièces étudiées, leur matériau, leurs conditions de liaisons avec d'autres pièces et les chargements appliqués, en particulier les efforts, les déplacements et les vitesses de déplacement. Un algorithme de calcul récupère ces données et calcule par exemple les déformations ou les contraintes appliquées au sein des différentes pièces. Au cours du calcul, l'algorithme peut détecter un certain nombre d'erreurs ou de situations susceptibles d'entraîner des erreurs. Les erreurs sont par exemple dues à des conditions de liaison non renseignées, des dimensions de pièces incompatibles avec les efforts appliqués sur ces pièces, ou un maillage des pièces non adapté. Ces erreurs peuvent donner lieu soit à une impossibilité de mener le calcul à son terme, soit à des résultats de calcul erronés. Lorsqu'une erreur est détectée, l'algorithme de calcul génère un message d'erreur pour en informer l'utilisateur. De même, lorsqu'une situation susceptible d'entraîner une erreur est détectée, l'algorithme génère un message d'avertissement pour en informer l'utilisateur. Au cours d'un calcul par simulation numérique, plusieurs fichiers sont généralement créés. Ils peuvent concerner non seulement les résultats finaux du calcul, mais aussi les résultats intermédiaires et les conditions d'exécution du calcul. A titre d'exemple, un premier fichier contient les données effectivement prises en compte pour le calcul, un deuxième fichier contient un indicateur de la convergence du calcul, un troisième fichier contient un indicateur de la progression du calcul, notamment les différentes étapes réalisées pour le calcul et leur ordre d'exécution, un quatrième fichier contient des informations relatives aux conditions matérielles, notamment les serveurs utilisés pour le calcul en cas de déploiement de l'algorithme sur un réseau informatique, un cinquième fichier contient des informations dites "statistiques", notamment la durée du calcul et le nombre de processeurs utilisés, et un dernier fichier contient les résultats proprement dits du calcul, notamment les contraintes, les déplacements, ou encore les évolutions d'énergie et de déplacement. [0013] Dans les algorithmes de calcul actuels, les messages d'erreur et d'avertissement sont typiquement stockés dans différents fichiers en fonction de leur nature. Par exemple, en cas de non-convergence ou de convergence relativement lente, un message d'erreur ou d'avertissement peut être généré dans le deuxième fichier contenant l'indicateur de convergence du calcul. Un premier inconvénient est qu'il est nécessaire d'ouvrir chaque fichier pour vérifier si des messages d'erreur ou d'avertissement ont été générés ou non au cours d'un calcul, et donc pour vérifier la pertinence des résultats de ce calcul. Le risque existe qu'un utilisateur se contente d'exploiter les résultats de calcul sans ouvrir les autres fichiers si ces résultats ne sont pas aberrants. Un deuxième inconvénient est que l'utilisateur ne dispose pas nécessairement des connaissances nécessaires pour corriger le problème à la base du message d'erreur ou d'avertissement. L'invention propose une solution à ces inconvénients. Un premier aspect de l'invention repose sur la récupération de tous les messages d'erreur et d'avertissement dans les différents fichiers et leur rassemblement dans un seul nouveau fichier. Un deuxième aspect de l'invention repose sur la proposition d'une solution pour chaque message d'erreur ou d'avertissement. [0014] La figure 1 représente des étapes possibles pour le procédé de vérification d'un résultat de calcul selon l'invention. Dans une première étape 101, tous les messages d'erreur et d'avertissement générés au cours du calcul dans les différents fichiers sont récupérés. Cette étape peut notamment consister à rechercher des mots clefs dans les différents fichiers. Les fichiers dans lesquels les messages d'erreur et d'avertissement doivent être récupérés peuvent être désignés soit manuellement par l'utilisateur, soit automatiquement en fonction du fichier de données utilisé. Un pointage est alors nécessaire du fichier de données vers les différents fichiers générés au cours du calcul. Dans une deuxième étape 102, un nouveau fichier est créé. Ce fichier est appelé fichier de vérification. Tous les messages d'erreur et d'avertissement sont rassemblés dans ce fichier. La lecture du fichier de vérification permet ainsi d'afficher facilement et rapidement tous les messages d'erreur et d'avertissement générés au cours d'un calcul. Dans une troisième étape 103, une proposition de solution est associée à chaque message d'erreur et à chaque message d'avertissement. Les propositions de solution doivent normalement permettre de corriger des données à la base des messages d'erreur et d'avertissement, de sorte que lors d'un nouveau calcul, les erreurs et les risques d'erreur n'apparaissent plus, et donc que les messages d'erreur et d'avertissement ne soient plus générés. Les propositions de solution comprennent par exemple des messages à l'attention de l'utilisateur. Ces messages peuvent notamment contenir une description plus ou moins détaillée de l'erreur ou de l'avertissement généré au cours du calcul, ainsi que des informations sur la manière dont une correction peut être apportée. Les messages sont avantageusement disponibles dans plusieurs langues et, à tout le moins, dans la langue de l'utilisateur. Ils peuvent également être adaptés en fonction du niveau de connaissance de l'utilisateur. [0015] Les associations de propositions de solution avec des messages d'erreur ou d'avertissement peuvent être réalisées en fonction d'associations prédéterminées. A titre d'exemple, les associations peuvent être enregistrées sous la forme d'une table listant tous les messages d'erreur et d'avertissement susceptibles d'être générés et les propositions de solution correspondantes. La table est établie préalablement au calcul. Les associations peuvent être plus ou moins complexes. En l'occurrence, l'association d'une proposition de solution à un message d'erreur ou d'avertissement peut être conditionnée par la présence d'un ou plusieurs autres messages d'erreur ou d'avertissement. Autrement dit, en présence de deux ou plusieurs messages d'erreur et/ou d'avertissement, une proposition de solution autre que celles qui auraient été associées aux messages d'erreur ou d'avertissement individuels peut être associée auxdits messages. Une telle association permet notamment à un utilisateur de déterminer si plusieurs messages d'erreur ou d'avertissement proviennent d'une même cause. Les messages d'erreur et d'avertissement générés au cours d'un calcul et rassemblés dans le fichier de vérification, et les propositions de solution peuvent être présentés sous forme d'un tableau affichant dans une première colonne les différents messages d'erreur et d'avertissement et dans une seconde colonne les propositions de solution associées, chaque ligne correspondant à un message d'erreur ou d'avertissement avec sa proposition de solution associée. En cas de regroupement de plusieurs messages d'erreur et/ou d'avertissement, une proposition de solution commune peut être affichée à la place ou en plus des propositions de solutions individuelles. Dans ce dernier cas, elle peut être affichée dans une troisième colonne du tableau. En outre, les messages d'erreur et d'avertissement peuvent être regroupés en fonction de leur degré d'importance. Le degré d'importance est par exemple prédéterminé. Il peut être enregistré dans la table listant les messages d'erreur et d'avertissement. Lorsqu'un même message d'erreur ou d'avertissement est généré plusieurs fois, il peut n'être affiché qu'une seule fois dans le tableau. Une colonne supplémentaire du tableau peut alors indiquer le nombre d'occurrences du message. Il peut arriver qu'aucune proposition de solution ne soit associée à certains messages d'erreur ou d'avertissement. Dans ce cas, un message indiquant cet état de fait peut être affiché à la place d'une proposition de solution. Le message peut également inviter l'utilisateur à le signaler à une équipe support afin de mettre à jour la table listant les messages d'erreur et d'avertissement. REVENDICATIONS1. Procédé de vérification d'un résultat de calcul réalisé à partir d'une simulation numérique, le calcul générant, dans différents fichiers, des messages d'erreur en cas d'erreurs détectées dans le calcul et des messages d'avertissement en cas de risque de résultat de calcul erroné, caractérisé en ce qu'il comporte les étapes successives suivantes : - (101) récupérer dans les différents fichiers tous les messages d'erreur et d'avertissement générés au cours du calcul, - (102) créer un fichier rassemblant tous les messages d'erreur et d'avertissement générés au cours du calcul, - (103) associer à chaque message d'erreur et à chaque message d'avertissement, une proposition de solution permettant de corriger des données à la base du message d'erreur ou d'avertissement de sorte que lors d'un nouveau calcul, ledit message ne soit plus généré. 2. Procédé selon la revendication 1, dans lequel l'étape (103) d'association d'une proposition de solution à chaque message d'erreur et d'avertissement est réalisée en fonction d'associations prédéterminées. 3. Procédé selon l'une des revendications 1 et 2, dans lequel une proposition de solution est associée à un message d'erreur ou d'avertissement en fonction de l'occurrence d'au moins un autre message d'erreur ou d'avertissement. 25 4. Procédé selon l'une des revendications précédentes, dans lequel les messages d'erreur et d'avertissement et les propositions de solution associées sont formulés sous forme d'un tableau. 5. Procédé selon l'une des revendications précédentes, dans lequel les messages 30 d'erreur sont regroupés en fonction de leur degré d'importance, le degré d'importance de chaque message d'erreur étant prédéterminé.20 6. Procédé selon l'une des revendications précédentes, dans lequel l'étape (101) de récupération des messages d'erreur et d'avertissement dans les différents fichiers est effectuée par désignation desdits fichiers par un opérateur. 7. Procédé selon l'une des revendications 1 à 5, dans lequel l'étape (101) de récupération des messages d'erreur et d'avertissement dans les différents fichiers est effectuée par désignation d'un fichier contenant des données pour le calcul, les différents fichiers contenant les messages d'erreur et d'avertissement étant pointés par le fichier contenant les données pour le calcul.