Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR THE NUMERICAL SIMULATION OF UNSTRUCTURED DATA THROUGH MULTISCALE MACHINE LEARNING AND DETERMINISTIC SAMPLING
Document Type and Number:
WIPO Patent Application WO/2022/189710
Kind Code:
A1
Abstract:
The invention relates to a computer-implemented method (500) for the numerical simulation of a flow of a fluid in a space around a geometry, comprising: what is referred to as a deterministic sampling step (400), configured to process an initial mesh M0 at input so as to obtain what is referred to as a simulation multiscale mesh set, said simulation mesh set comprising a number Z > 1 of subsampled meshes; a step of generating a simulation result using at least one neural-network machine learning algorithm (300) trained beforehand on a database comprising a plurality of what are referred to as training multiscale mesh sets each associated with a numerical simulation, so as to provide a simulation dataset for all or some of the nodes of a mesh M; from the multiscale mesh set obtained in the deterministic sampling step.

Inventors:
MAZARI AHMED (FR)
MUNZER THIBAUT (FR)
VERRET LOUIS (FR)
YSER PIERRE (FR)
Application Number:
PCT/FR2021/050408
Publication Date:
September 15, 2022
Filing Date:
March 10, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
EXTRALITY (FR)
International Classes:
G06F30/27; G06F113/08
Other References:
FILIPE DE AVILA BELBUTE-PERES ET AL: "Combining Differentiable PDE Solvers and Graph Neural Networks for Fluid Flow Prediction", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 August 2020 (2020-08-16), XP081741917
JOHN TENCER ET AL: "Enabling Nonlinear Manifold Projection Reduced-Order Models by Extending Convolutional Neural Networks to Unstructured Data", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 June 2020 (2020-06-11), XP081694877
GAO HONGYANG ET AL: "Graph U-Nets", 11 May 2019 (2019-05-11), XP055856278, Retrieved from the Internet [retrieved on 20211029]
RONNEBERGER ET AL.: "U-Net: Convolutional Networks for Biomédical Image Segmentation, Lecture Notes", COMPUTER SCIENCE, vol. 9351, 2015
SZEKELY ET AL., HIERARCHICAL CLUSTERING VIA JOINT BETWEEN-WITHIN DISTANCES: EXTENDING WARD'S MINIMUM VARIANCE METHOD, 2005
Attorney, Agent or Firm:
CORNUEJOLS, Christophe (FR)
Download PDF:
Claims:
Revendications

1. Procédé (500), mis en œuvre par ordinateur, de simulation numérique d'un écoulement d'un fluide dans un espace autour d'une géométrie sur lequel est défini un maillage M0 initial, ledit maillage initial étant divisé en un nombre N d'éléments géométriques, chaque élément géométrique étant du type surfacique ou volumique, le procédé de simulation numérique étant caractérisé en ce qu'il comprend :

- une étape d'échantillonnage (400) dit déterministe configurée pour traiter en entrée ledit maillage M0 initial de manière à obtenir un jeu de maillages multi- écheiles dit de simulation, ledit jeu de maillages de simulation comprenant un nombre Z > 1 de maillages Mi sous-échantillonnés, avec i entier compris entre 1 et Z, suivant les critères suivants :

• le ou les maillage(s) Mi sous-échantillonnés comportent chacun un nombre ni de regroupements d'éléments géométriques dudit maillage initial, tel que ni étant strictement inférieur à N, chaque ni étant distinct,

• chaque maillage Mi sous-échantillonné étant défini sur l'intégralité dudit espace,

• les relations entre les regroupements d'éléments géométriques d'un maillage Mi sous-échantillonné et d'un maillage Mi+1 sous-échantillonné étant stockées dans une table d'indexation Xu+Il

* le nombre de maillages Mi sous-échantillonnés et le nombre ni de regroupements d'éléments géométriques de chaque maillage Mi sous- échantillonné étant des paramètres prédéterminés de ladite étape d'échantillonnage déterministe ;

- une étape de génération d'un résultat de simulation à partir d'au moins un algorithme d'apprentissage automatique (300), de type réseau de neurones, préalablement entraîné à partir d'une bases de données comprenant une pluralité de jeu de maiiiages multi-échelles dits d'entrainement associés chacun à une simulation numérique, pour fournir un jeu de données de simulation pour tout ou partie des nœuds d'un maillage Mi du jeu de maiiiages multi-échelles obtenu lors de l'étape d'échantillonnage déterministe.

2. Procédé (500) de simulation numérique selon la revendication 1, dans iequei chaque jeu de maiiiages multi-échelles d'entrainement comprend un nombre Z de maillages d'entrainement M1,e à MZ,e sous-échantillonnés selon l'étape d'échantillonnage à partir d'un maillage initial d'entrainement M0,e.

3. Procédé (500) de simulation numérique selon l'une quelconque des revendications 1 à 2, dans lequel le jeu de maillages multi-échelles de simulation comprend également le maillage initial M0.

4. Procédé (500) de simulation numérique selon l'une quelconque des revendications 1 à 3, dans lequel l'étape d'échantillonnage (400) dit déterministe comprend :

- une sous-étape (410) de définition d'un regroupement global d'élément géométriques, formant un maillage Mt sous-échantillonné, ledit regroupement global correspondant à l'ensemble des éléments géométriques du maillage initial M0 ;

- au moins une sous-étape (420a, 420b) de division d'au moins un regroupement d'éléments géométriques, au cours de laquelle un regroupement d'éléments géométriques d'un maillage Mu comprenant nt regroupements d'éléments géométriques, avec i entier compris entre 1 et Z, est divisé en une pluralité de regroupements d'éléments géométriques, de manière à générer un maillage Mi+1 sous-échantillonné comprenant ni+1 regroupements d'éléments géométriques, avec ni+1 > ni.

5. Procédé (500) de simulation numérique selon l'une quelconque des revendications 1 à 3, dans lequel l'étape d'échantillonnage (450) dit déterministe comprend :

- une sous-étape de définition (460) d'un regroupement initiai, au cours de laquelle au moins deux éléments géométriques du maillage initial M0 sont regroupés en un regroupement d'éléments géométriques, de manière à générer un maillage Mz sous-échantillonné,

- au moins une sous-étape (470a, 470b) de regroupement, au cours de laquelle au moins deux regroupements d'éléments géométriques d'un maillage Mi+1, sous-échantillonné comprenant ni+1 regroupements d'éléments géométriques, avec i entier compris entre 1 et Z - 1, sont regroupés en un regroupement d'éléments géométriques de manière à générer un maillage M,; sous-échantillonné comprenant ni regroupements d'éléments géométriques, avec n1 < ni+1 ·

6. Procédé (500) de simulation numérique selon la revendication 4, dans lequel la sous-étape de division comprend : - une opération de sous-division par deux d'un regroupement d'éléments surfaciques ou volumique du maillage M: sous-échantillonné, de manière à obtenir deux ensembles dans ledit regroupement d'éléments géométriques, suivie de

- une ou plusieurs opération de sous-division par deux d'au moins un ensembie obtenu lors d'une opération de sous-division précédente, les ensembles obtenus à l'issue de la dernière opération de sous-division par deux correspondant à des regroupements d'éléments géométriques du maillage Mi+1 sous-échantillonné.

7. Procédé (500) de simulation numérique selon la revendication 6, dans lequel lors de l'opération de sous-division par deux, l'assignation à l'un ou l'autre des ensembles est déterminé à partir d'un critère de similarité physique entre deux éléments géométriques.

8. Procédé (500) de simulation numérique selon la revendication 7, dans lequel le critère de similarité physique entre deux éléments géométriques est un critère de proximité spatiale dans ledit espace.

9. Procédé de simulation numérique selon l'une quelconque des revendications 1 à 8, dans lequel la table d'indexation est un couple constitué d'une matrice de sous- échantillonnage et d'un vecteur de suréchantillonnage, définissant une relation bijective entre les regroupements d'éléments géométriques d'un maillage Mi sous- échantillonné et ceux d'un maillage Mi+1 sous-échantillonné.

10. Procédé (500) de simulation numérique selon l'une quelconque des revendications 1 à 9 , dans lequel l'algorithme d'apprentissage automatique (300) comprend une partie dite d'encodage (310) et une partie dite de décodage (320); la partie dite d'encodage comprenant une pluralité de sous-parties (311 , 321 , 331 ) de traitement par un réseau de neurones fonctionnant en cascade, l'information en sortie d'une sous-partie GNNi+1 en amont étant sous-échantillonnée afin de former une entrée d'une sous-partie GNNi en aval ; la partie dite de décodage comprenant une pluralité de sous-parties (312, 322, 332) de traitement par un réseau de neurones fonctionnant en cascade, l'information en sortie d'une sous-partie GNNi aval étant sur-échantillonnée afin de former une entrée d'une sous-partie GNNi+1 en amont ; lesdits sous-échantillonnages et lesdits sur-échantillonnages entre deux sous- parties GNNi et GNNi+1 successifs étant déterminées au moyen de ladite table d'indexation Xi,i+1.

11. Dispositif comprenant un processeur et une mémoire de stockage informatique, ladite mémoire comprenant des instructions permettant de configurer le processeur pour mettre en œuvre le procédé de simulation (500) selon l'une des revendications 1 à 10.

Description:
Procédé de simulation numérique de données non structurées par apprentissage automatique mufti-échelle et échantillonnage déterministe

DOMAINE TECHNIQUE

[1] Le domaine de l'invention est celui de la simulation numérique.

[2] Plus précisément, l'invention concerne un procédé de simulation numérique multi-échelle sur des données non structurées, par apprentissage automatique.

[3] L'invention trouve notamment des applications pour simuler un phénomène physique complexe tel qu'un écoulement d'un fluide. Ce domaine d'application particulier est généralement connu sous le sigle anglosaxon CFD (pour « Computational Fluid Dynamics »).

ÉTAT DE LA TECHNIQUE

[4] Il est connu de l'art antérieur des techniques de simulation numérique par apprentissage automatique, également connu sous le terme anglosaxon de « Machine Learning ».

[5] Parmi ces techniques, il existe de nombreuses méthodes adaptées pour traiter des données structurées, telles des images par exemple. Ces images sont naturellement représentées sous forme de grilles régulières en 2D ou en 3D. En particulier, on connaît les réseaux de neurones convolutionnels, abrégés par le slgle anglosaxon CNN (pour « Convolutionai Neural Network »), dont l'objectif est de traiter la donnée d'entrée par une cascade de convolutions séparées par des sous- échantillonnages, également connus sous le terme anglosaxon « pooling », en vue d'une classification dans le cas du traitement d'une image, par exemple.

[6] De ce principe ont été dérivées d'autres techniques, adaptées à des problèmes plus spécifiques, tels que la segmentation d'images. Une telle technique, connue sous le nom de « U-nets », est notamment décrite dans l'article de Ronneberger et ai. (2015) U-Net: Convoiutionai Networks for Biomédical Image Segmentation , Lecture Notes in Computer Science, vol 9351. Cette technique a pour objet une architecture de type décodeur-encodeur, constituée de plusieurs niveaux de briques d'encodage traitant par convolution et réduisant une donnée d'entrée structurée, et de plusieurs niveaux de briques de décodage augmentant et traitant par convolution les données d'entrée structurées. La particularité de cette architecture est l'agrégation, à chaque niveau, des données de sortie de la brique d'encodage avec la donnée d'entrée de la brique de de décodage. Cette structure algorithmique est également connue sous le nom de « cascade multi-échelles », en référence aux différentes échelles de réduction et d'augmentation des données. De cette manière, les informations contextuelles de la donnée d'entrée initiale (telle une image) sont diffusées à travers les niveaux d'encodage et de décodage, permettant d'aboutir in fine à une segmentation de la donnée d'entrée initiale.

[7] En parallèle, sont connues des techniques de traitement par apprentissage automatique pour des données non-structurées. On entend par une donnée non- structurée une donnée qui n'est pas organisée selon une structure régulière, comme le seraient les pixels d'une image par exemple. Une donnée non-structurée est une donnée qui n'est pas définie selon un format particulier, comme par exemple un maillage. Les données non-structurées peuvent en particulier être représentées au moyen de graphes, c'est-à-dire de nœuds reliés par des arêtes.

[8] Des techniques d'apprentissage automatique adaptés aux graphes ont été développés, connues notamment sous le sigie anglosaxon GNN (pour « Graph Neural Network»). De telles techniques mettent en œuvre des réseaux de neurones pour traiter l'information en chaque nœud, en tenant compte des états des nœuds voisins sur la structure du graphe, propageant ainsi l'information sur le graphe.

[9] L'enseignement de l'architecture « U-nets » a été transposée aux données non structurées sous formes de graphe dans le cadre de l'article de Gao et J! (2019) Graph U-Nets, International Conférence on Machine Learning (ICLR). La solution mise au point dans le cadre de ces travaux est connue sous le nom de « Graph U-nets ». En particulier, cette technique vise à apprendre un échantillonnage optimal du graphe initiai aux fins de l'encodage et décodage. L'avantage de cette méthode est de conférer les avantages de l'architecture « U-nets » au traitement d'une donnée non structurée, à savoir de conserver l'information contextuelle, c'est-à-dire relative à la configuration du graphe (autrement dit à la structure géométrique/topologique complexe de données), à travers les niveaux de l'encodeur-décodeur.

[10] Un maillage physique en deux ou trois dimensions peut être représenté par un graphe, chaque élément du maillage pouvant être concentré en un nœud du graphe. Cependant, il n'existe généralement pas de graphe optimal permettant de représenter une géométrie maillée, en particulier en trois dimensions. De plus, l'échantillonnage, effectué de manière optimisée par un algorithme d'apprentissage automatique, de manière non déterministe, n'accorde pas d'importance à la proximité entre les nœuds, ne tenant ainsi pas compte de la réalité physique que représente chaque graphe sous- échantillonné,

[11] L'inconvénient majeur de la technique « Graph U-nets » est qu'elle est inadaptée pour certains types de données non-structurées, et en particulier pour les graphes représentant des géométries physiques. Par conséquent, la technique antérieure ne peut être appliquée à des problèmes impliquant des géométries physiques, comme pour la simulation d'écoulement de fluides notamment. Il existe donc un besoin de permettre la simulation numérique de phénomènes physiques à partir d'algorithmes d'apprentissage automatique sur graphes, que les techniques actuelles ne permetent pas d'effectuer.

[12] Il existe de plus un besoin de réduire le temps de calcul de procédés de simulation numérique de phénomènes physiques complexes, de manière à pouvoir s'affranchir de techniques de simulation connues dans le domaine de la CFD.

[13] Il existe également un besoin de réduire la consommation énergétique d'un ordinateur mettant en œuvre un procédé de simulation numérique de phénomènes physiques complexes.

[14] Enfin, il existe également un besoin de rendre les procédés de simulation davantage adaptables au budget de calcul disponible pour un utilisateur dudit procédé de simulation.

[15] La présente invention propose de résoudre ce problème par une approche totalement novatrice, visant à rendre possible la simulation numérique de phénomènes physiques complexes par apprentissage automatique tout en réduisant fortement ie temps de calcul en comparaison aux technique connues.

EXPOSÉ DE L'INVENTION

[16] À cet effet, l'invention vise un procédé, mis en œuvre par ordinateur, de simulation numérique d'un écoulement d'un fluide dans un espace autour d'une géométrie sur lequel est défini un maillage M 0 initial, ledit maillage initiai étant divisé en un nombre N d'éléments géométriques, chaque élément géométrique étant du type surfacique ou volumique.

[17] Le procédé se présente sous la forme d'un code informatique pouvant être exécuté sur système de traitement de l'information tel qu'un ordinateur. [18] Une étape préliminaire de génération d'un maillage M 0 initial dudit espace est exécutée avant ia mise en œuvre du procédé de simulation, ledit maillage initial étant divisé en un nombre N d'éléments géométriques, chaque élément étant du type surfacique ou volumique.

[19] Cette étape correspond à une opération de maillage habituelle effectuée en amont d'une simulation physique. En particulier, les éléments sont des éléments triangulaires ou pyramidaux, cependant tout autre type d'éléments est envisageable également. Le nombre N d'élément est fixé en fonction de ia performance de l'ordinateur à disposition, mais également du temps de calcul que l'utilisateur souhaite allouer, entre autres. Par exemple, N est de l'ordre de 10000 à 1 000000.

[20] Le procédé comprend tout d'abord une étape d'échantillonnage dit déterministe configurée pour traiter en entrée ledit maillage M 0 initial de manière à obtenir un jeu de maillages multi-échelles dit de simulation, ledit jeu de maillages de simulation comprenant un nombre Z > 1 de maillages M i , i ∈ [1, ...,Z] sous-échantillonnés, suivant les critères suivants :

- le ou les mailiage(s) M i sous-échantillonnés comportent chacun un nombre n i de regroupements d'éléments géométriques dudit maillage initiai, tel que n i étant strictement inférieur à N, chaque n i étant distinct ;

- chaque maillage M, : sous-échantillonné étant défini sur l'intégralité dudit espace ;

- les relations entre les regroupements d'éléments géométriques d'un maillage Mi sous-échantillonné et d'un maillage M i+1 sous-échantillonné étant stockées dans une table d'indexation X i,i+1 ;

- le nombre de maillages M i sous-échantillonnés et le nombre n i de regroupements d'éléments géométriques de chaque maillage M i sous- échantillonné étant des paramètres prédéterminés de ladite étape d'échantillonnage déterministe.

[21] Un maillage M i sous-échantillonné comportant un nombre n i de regroupements d'éléments géométriques dudit maillage initial, tel que n i étant strictement inférieur à N, chaque n i étant distinct.

[22] Ainsi, l'étape d'échantillonnage produit un nombre Z de maillages sous- échantillonnés, qui comportent tous un nombre de regroupements d'éléments géométriques différents. [23] Par exemple, on cherche à obtenir à partir d'un maillage initial comportant de l'ordre de 10000 éléments, un maillage sous-échantillonné comportant de l'ordre de 1000 regroupements d'éléments géométriques, et un autre maillage sous-échantillonnés comportant de l'ordre de M 0 regroupements d'éléments géométriques.

[24] Chaque maillage M i sous-échantillonné est défini sur l'intégralité dudit espace.

[25] Ainsi, l'espace autour de la géométrie est toujours entièrement maillé par chaque maillage M i sous-échantillonné, le sous-échantillonnage étant toujours effectué sur l'intégralité du domaine considéré. En particulier, deux maillages M i sous- échantillonnés différents ne coexistent pas sur le même espace, c'est-à-dire que l'espace n'est pas maillé partiellement par deux maillages M i sous-échantillonnés,

[26] Les relations entre les regroupements d'éléments géométriques d'un maillage M i sous-échantillonné et d'un maillage M i+1 sous-échantillonné sont stockées dans une table d'indexation X i,i+1 .

[27] De cette manière, le passage d'un maillage M i sous-échantillonné à un autre est toujours possible, la table d'indexation X i,i+1 étant stockée dans une mémoire de l'ordinateur. Ainsi, le résultat de l'étape d'échantillonnage déterministe est stocké et peut également être réutilisée ultérieurement dans d'autres simulations, mais également pour d'autres étapes de sous-échantillonnage ou sur-échantillonnage, notamment celles mises en œuvre dans le cadre d'un algorithme d'apprentissage automatique subséquent.

[28] Le nombre de maillages M i sous-échantillonnés et le nombre n, : de regroupements d'éléments géométriques de chaque maillage sous-échantillonné sont des paramètres prédéterminés dudit procédé d'échantillonnage déterministe.

[29] De cette manière, l'utilisateur peut adapter l'étape d'échantillonnage à ses besoins, en contrôlant le niveau d'échantillonnage.

[36] L'étape d'échantillonnage est dite déterministe car elle sous-échantillonne le maillage initial M 0 en une pluralité de maillages sous-échantillonnés M i de manière déterminée et déterminable. En effet, l'échantillonnage est défini à la fois par des critères définis par l'utilisateur comme :

- le nombre d'échelles ou niveaux Z d'échantillonnage souhaités : l'utilisateur souhaite par exemple sous-échantillonner le maillage initial, puis sous- échantiilonner à nouveau Z - 1 fois le résultat de l'échantillonnage précédent ; - le pas d'échantillonnage : l'utilisateur souhaite définir à quel point le maillage est réduit entre chaque sous-échantillonnage, et à la fois par des critères prédéfinis selon lesquelles l'échantillonnage est effectué lors de ladite étape, comme il sera expliqué plus loin.

[31] Le procédé comprend ensuite une étape de génération d'un résultat de simulation à partir d'au moins un algorithme d'apprentissage automatique de type réseau de neurones, préalablement entraîné à partir d'une base de données comprenant une pluralité de jeu de maillages muiti-échelles dits d'entrainement associés chacun à une simulation numérique, pour fournir un jeu de données de simulation pour tout ou partie des nœuds d'un maillage M i du jeu de maillages multi- échelies obtenu lors de l'étape d'échantillonnage déterministe.

[32] Cette étape correspond à la mise en œuvre d'un algorithme d'apprentissage automatique, pouvant prendre la forme d'un algorithme connu de la technique. En particulier, le maillage initiai et les maillages sous-échantillonnés étant des données non-structurées pouvant être représentées par des graphes, l'algorithme d'apprentissage automatique comprend au moins un réseau de neurones sur graphe (GNN), et plus particulièrement un réseau de neurones sur graphe convolutionnel (GCN). Dans un tel algorithme, les caractéristiques en chaque nœud du graphe sont traitées par un réseau de neurones classique, dont la couche d'entrée est connectée au nœud en question, ainsi qu'aux nœuds voisins sur le graphe. Aux fins de la simulation, ces réseaux de neurones sur graphe sont entraînés, selon des techniques connues, de manière à fournir un jeu de données de simulation pour les nœuds du ou des maillages en sortie (le maillage - ou graphe - de sortie pouvant correspondre au maillage initial, mais peut également être un maillage sous-échantillonné). Ce jeu de données peut ensuite faire l'objet de diverses représentations, de manière connue, comme par exemple via une représentation en niveau de couleurs des valeurs d'une donnée choisie, qui est généralement une grandeur physique telle qu'une vitesse, une pression, une force, etc.

[33] L'apprentissage est effectué à partir d'une base de données comprenant une pluralité de jeu de maillages muiti-échelles dits d'entrainement associés chacun à une simulation numérique, ces simulations numériques étant obtenues au préalable par des techniques connues de l'état de la technique.

[34] Une fois l'apprentissage effectué, le procédé de simulation selon l'invention livre, à partir d'un espace maillé, un jeu de données de simulation pour tout ou partie des nœuds d'un maillage M i du jeu de maillages mufti-échelles obtenu lors de l'étape d'échantillonnage déterministe. En particulier, le maillage sur lequel est donné le résultat est un maillage selon un échantillonnage le plus fin.

[35] Selon une variante ., chaque jeu de maillages mufti-échelles d'entrainement comprend un nombre Z de maillages d'entrainement M 1,e à M Z,e sous-échantillonnés selon l'étape d'échantillonnage à partir d'un maillage initial d'entrainement M 0 e,

[36] Selon une variante, le jeu de maillages multi-échelies de simulation comprend également le maillage initial M 0 .

[37] Cette configuration est particulièrement avantageuse lorsque le maillage initiai est déjà suffisamment grossier pour pouvoir être utilisé à l'aide du procédé de simulation, et permet ainsi de réduire le nombre d'étapes d'échantillonnages nécessaires.

[38] Selon une variante, l'étape d'échantillonnage dit déterministe comprend une les sous-étapes suivantes :

- une sous-étape de définition d'un regroupement global d'élément géométriques, formant un maillage sous-échantillonné, ledit regroupement global correspondant à l'ensemble des éléments géométriques du maillage initial M 0 ;

- au moins une sous-étape de division d'un regroupement d'éléments surfaciques ou volumique, au cours de laquelle un regroupement d'éléments surfaciques ou volumique d'un maillage M i , i ∈ [1, ...,Z ] comprenant n i regroupements d'éléments géométriques est divisé en une pluralité de regroupements d'éléments géométriques, de manière à générer un maillage M i+1 sous-échantillonné comprenant n i+1 regroupements d'éléments géométriques, avec n i+1 > n i .

[39] Grâce à ces dispositions, le sous-échantillonnage est obtenu pour chaque regroupement d'éléments géométriques par division. La division peut être effectuée de manière paraiièle pour tous ies regroupements d'éléments géométriques, de façon à réduire le temps de calcul.

[46] On précise que tous les regroupements d'éléments géométriques ne sont pas nécessairement divisés, certains peuvent demeurer indivisés si cela n'est pas nécessaire pour les besoins de la simulation. [41] Selon une variante, l'étape d'échantillonnage dit déterministe comprend les sous-étapes suivantes :

- une sous-étape de définition d'un regroupement initial, au cours de laquelle au moins deux éléments surfaciques ou volumique du maillage initial M 0 sont regroupés en un regroupement d'éléments géométriques, de manière à générer un maillage M z sous-échantillonné ;

- au moins une sous-étape de regroupement, au cours de laquelle au moins deux regroupements d'éléments surfaciques ou volumique d'un maillage M (i+1) , i ∈ [0, ... , Z - 1] sous-échantillonné comprenant n (i+1) regroupements d'éléments géométriques sont regroupés en un regroupement d'éléments géométriques de manière à générer un maillage M i sous-échantillonné comprenant n i regroupements d'éléments géométriques, avec n i < n (i+1) ,

[42] Grâce à ces dispositions, le sous-échantillonnage est obtenu pour chaque regroupement d'éléments géométriques par agrégation ou regroupement. Le regroupement peut être effectué de manière parallèle pour tous les regroupements d'éléments géométriques, de façon à réduire le temps de calcul.

[43] On précise que dans cette variante, tous les regroupements d'éléments géométriques ne sont pas nécessairement regroupés, certains pouvant demeurer distincts, de manière à créer localement des zones plus ou moins densément maillées.

[44] Selon une variante, la sous-étape de division comprend les opérations suivantes :

- une opération de sous-division par deux d'un regroupement d'éléments géométriques du maillage M i sous-échantillonné, de manière à obtenir deux ensembles dans ledit regroupement d'éléments géométriques ; suivie de

- une ou plusieurs opérations de sous-division par deux d'au moins un ensemble obtenu lors d'une opération de sous-division précédente ; les ensembles obtenus à l'issue de la dernière opération de sous-division par deux correspondant à des regroupements d'éléments géométriques du maillage M (i+1) sous-échantillonné.

[45] De cette manière, la division des regroupements d'éléments géométriques est effectuée successivement par des opérations déterministes de division. Il est ainsi possible d'obtenir un niveau de granularité de l'échantillonnage selon les besoins de la simulation ou selon les disponibilités matérielles, en divisant par deux un nombre de fois plus ou moins important. On précise que seuls certains éléments peuvent faire l'objet d'une division, et ce selon des granularités différentes.

[46] Selon une variante, lors de l'opération de sous-division par deux, l'assignation à l'un ou l'autre des ensembles est déterminé à partir d'un critère de similarité physique entre deux éléments géométriques.

[47] Selon une variante, le critère de similarité physique entre deux éléments géométriques est un critère de proximité spatiale dans ledit espace.

[48] Ainsi, la division est effectuée de manière à toujours obtenir deux groupes ou ensembles d'éléments géométriques ayant la plus grande similarité. Les deux ensembles obtenus à chaque étape respectent donc la géométrie et la physique du maillage, en particulier deux éléments trop éloignés l'un de l'autre ne pouvant pas se retrouver dans un même ensemble. La cohérence physique du sous-échantillonnage est ainsi garantie.

[49] Selon une variante, la table d'indexation X i,i+1 est un couple constitué d'une matrice de sous-échantillonnage et d'un vecteur de suréchantillonnage, définissant une relation bijective entre les regroupements d'éléments géométriques d'un maillage M i sous-échantillonné et ceux d'un maillage M i+1 sous-échantillonné.

[50] De cette manière, un passage d'un maillage sous-échantillonné à un autre est possible. La relation bijective est une relation permettant d'une part d'attribuer à un regroupement d'élément d'un échantillonnage plus « grossier » les regroupements d'éléments d'un échantillonnage plus « fin », et d'autre part définir l'appartenance des regroupements d'éléments d'un échantillonnage plus « fin » aux regroupements d'éléments d'un regroupement d'éléments « plus grossier ».

[51] L'étape d'échantillonnage déterministe produit ainsi une information permettant d'exprimer le passage d'un maillage sous-échantillonné à un autre, ce passage étant possible simplement à partir de la table d'indexation stockée dans une mémoire de l'ordinateur, et constitue donc une procédure déterministe dont le résultat est déterminable sans aléa.

[52] Selon une variante, l'algorithme d'apprentissage automatique comprend une partie dite d'encodage et une partie dite de décodage.

[53] La partie dite d'encodage comprenant une pluralité de sous-parties de traitement par un réseau de neurones fonctionnant en cascade, l'information en sortie d'une sous-partie GNN i+1 en amont étant sous-échantillonnée afin de former une entrée d'une sous-partie CNN, en aval. [54] La partie dite de décodage comprenant une pluralité de sous-parties de traitement par un réseau de neurones fonctionnant en cascade, l'information en sortie d'une sous-partie CNN i en aval étant sur-échantillonnée afin de former une entrée d'une sous-partie GNN i+1 en amont.

[55] Lesdits sous-échantillonnages et iesdits sur-échantillonnages entre deux sous- parties GNN i et GNN i+1 successifs étant déterminées au moyen de ladite table d'indexation X i,i+1 .

[56] Grâce à ces dispositions, on obtient une architecture de type « U-net » particulièrement avantageuse pour traiter des problèmes définis sur des données non structurées, telles des graphes, et plus particulièrement des maillages physiques.

[57] La combinaison d'une architecture de type « U-net » avec l'étape d'échantillonnage déterministe permet d'exploiter la performance de l'architecture tout en sauvegardant la cohérence physique lorsque l'information est échantillonnée, ce qui est d'importance primordiale dans le cadre d'une simulation physique.

[58] En particulier, l'information sur le contexte de la simulation, c'est-à-dire le lien entre les différents éléments géométriques du maillage, est conservée à travers les étapes de sous-échantillonnage et sur-échantillonnage nécessaires dans ce type d'architecture.

[59] L'invention a également pour objet un dispositif comprenant un processeur et une mémoire de stockage informatique, ladite mémoire comprenant des instructions permettant de configurer le processeur pour mettre en œuvre le procédé de simulation selon l'invention.

BRÈVE DESCRIPTION DES FIGURES

[60] D'autres avantages, buts et caractéristiques particulières de la présente invention ressortiront de la description non limitative qui suit d'au moins un mode de réalisation particulier des dispositifs et procédés objets de ia présente invention, en regard des dessins annexés, dans lesquels :

- la figure 1 est un maillage d'un espace ou d'une géométrie selon un exemple ;

- la figure 2 est une représentation sous forme de graphe du maillage de la figure 1 ;

- la figure 3 est un schéma synoptique d'un mode de réalisation du procédé de simulation selon l'invention ; - la figure 4 est un schéma synoptique d'un mode de réalisation de l'étape d'échantillonnage déterministe selon une première variante ;

- la figure 5a est d'un regroupement d'éléments global dans l'étape d'échantillonnage déterministe ;

- la figure 5b est un maillage échantillonné du regroupement d'éléments global de la figure 5a après une première sous-étape de division ;

- la figure 5c est un maillage échantillonné du regroupement d'éléments global de la figure 5a après une seconde sous-étape de division ;

- la figure 6 est un schéma synoptique d'un mode de réalisation de l'étape d'échantillonnage déterministe selon l'invention selon une seconde variante.

DESCRIPTION DÉTAILLÉE DE L'INVENTION

[61] La présente description est donnée à titre non limitatif, chaque caractéristique d'un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse.

[62] On note, dès à présent, que les figures ne sont pas à l'échelle.

[63] La figure 1 représente un maillage M 0 d'une topologie physique, pouvant être une géométrie ou un espace autour d'une géométrie, généré au cours d'une étape de génération du maillage M 0 initial dudit espace ou géométrie. Dans le domaine de ia simulation d'écoulement de fluides, la figure 1 peut donc aussi bien représenter le maillage d'un objet immergé dans un fluide, que le maillage d'un volume de fluide. Le maillage est défini dans un référentiel, préférentiellement cartésien, permettant d'assigner des coordonnées de position, c'est à dires des coordonnées spatiales, à chaque élément du maillage.

[64] Dans l'exemple non limitatif de ia figure 1, le maillage M 0 comprend 18 éléments géométriques, ici surfaciques, référencés e 0 à e 17 . On gardera cependant à l'esprit qu'il ne s'agit que d'une valeur donnée à titre d'exemple, l'invention étant généralisable à des maillages comprenant un nombre N d'éléments. Le nombre N d'éléments n'est pas limité en soit, bien que ia puissance de calcul de l'ordinateur mettant en œuvre le procédé objet de l'invention représente une borne supérieure pour le nombre d'éléments acceptable.

[65] Le maillage M 0 de ia figure 1 peut être représenté en tant que graphe GO, comme représenté à la figure 2. Chaque élément e 0 à e 17 du maillage M 0 est représenté par un nœud v 0 à v 17 du graphe GO, la topologie du maillage M 0 étant conservée. On a ici supposé que le maillage étant bidimensionnel, étant ainsi pius adapté à des fins de représentation. Un maiiiage en trois dimension, composé d'éléments géométriques volumiques, peut également être représenté par au moins un graphe (en effet il existe une pluralité de graphes pouvant représenter un même maillage).

[66] La structure d'un graphe peut être définie par une matrice d'adjacence 4, exprimant la présence d'une arête entre deux nœuds. Dans le cas d'un graphe non orienté, comme c'est le cas dans la présente invention, la matrice d'adjacence 4 est symétrique.

[67] Dans l'exemple considéré, la matrice d'adjacence est de dimension 17x17, de manière à exprimer la présence ou non de liaisons entre chaque nœud.

[68] Chaque nœud comporte une information sous forme d'un vecteur de caractéristiques y, comprenant notamment les coordonnées du centre de l'élément correspondant au nœud, les normales et les surfaces de l'élément, ainsi que les conditions limites de l'élément

[69] De cette manière, les informations physiques du maillage sont entièrement représentées par le graphe correspondant.

[70] Afin d'apporter une information contextuelle supplémentaire, une fonction k de similarité entre deux nœuds est définie de la manière suivante :

[71] Dans l'expression [Math. 1], s est un coefficient de normalisation. La fonction k a pour effet d'exprimer la similarité entre deux nœuds, d'un point de vue de leurs caractéristiques, par un nombre compris entre 0 et 1.

[72] L'information contenue dans la matrice d'adjacence ,4 et dans la fonction de similarité k permettent, en combinaison, d'exprimer la configuration physique du maillage sous-jacent au graphe.

[73] Comme il sera vu plus tard, la table d'adjacence (ainsi que la fonction de similarité) peuvent être réduits ou augmentés selon qu'un sous-échantillonnage ou sur-échantillonnage du maillage/graphe est effectué, tout en conservant les informations physiques du maillage.

[74] Afin d'améliorer la performance des réseaux de neurones sur graphes (GNN) décrits par la suite, la matrice d'adjacence est normalisée selon une procédure connue. [75] En particulier, les réseaux de neurones sur graphe dits « isotropes » sont normalisés de manière à ajouter une « arête » ayant pour point de départ et d'arrivée un même nœud. Pour plus de détails, on se référera à l'article de Kipf et ai. (2017) Semi-Supervised Classification with Graph Convolutionai Networks , ICLR.

[76] Par la suite, les termes de graphe et de maillage seront utilisés de manière équivalente, le passage d'une représentation à l'autre étant possible à tout moment. Ainsi, il est pertinent de raisonner en termes de maillage dans le cadre de l'étape d'échantillonnage qui sera décrit par la suite, et en termes de graphe dans le cadre de la mise en oeuvre dans l'algorithme d'apprentissage automatique permettant d'aboutir au résultat de la simulation.

Mise en œuvre dans le cadre d'une architecture de type « graph U-net »

[77] Dans le procédé de simulation numérique 500 selon l'invention, l'étape d'échantillonnage 400 déterministe selon l'invention est indépendante de l'algorithme d'apprentissage automatique qui le met en œuvre. Cependant, avant d'aborder l'étape d'échantillonnage 400 déterministe en tant que telle, un exemple concret de mise en œuvre est donné, afin de mieux comprendre le contexte de mise en œuvre de l'invention.

[78] La figure 3 est un schéma de principe du procédé de simulation numérique 500 selon l'invention, comprenant un procédé 300 d'encodage-décodage sur graphe, selon une variante possible de l'invention, et mettant également en œuvre l'étape d'échantillonnage 400 déterministe selon l'invention. Le procédé 300 reprend une architecture de type « U-net » afin de metre en œuvre l'étape d'échantillonnage 400 déterministe selon l'invention, mais d'autres architectures peuvent également être envisagées.

[79] On précise que les encadrés à bords droits sur la figure 3 représentent des étapes ou des procédés algorithmiques, les encadrés arrondis faisant référence à des résultats intermédiaires étant échangées entre les étapes ou des procédés algorithmiques, les flèches représentant l'échange de ces résultats, et d'informations.

[80] Comme il a été vu plus en amont, le procédé 300 d'encodage-décodage, connu de l'art antérieur, est un type d'algorithme d'apprentissage automatique particulièrement adapté pour le traitement de données non structurées. [81] A titre d'exemple, le procédé 300 d'encodage-décodage comprend trois niveaux d'encodage-décodage, bien que tout autre nombre de niveaux puisse être choisi, seion les besoins de simulation ou le budget de calcul alloué.

[82] L'architecture du procédé 300 d'encodage-décodage n'est présentée par la suite qu'à titre de rappel, et il est renvoyé à la littérature de l'art antérieur pour plus de détails.

[83] Comme cela est visible à la figure 3, le procédé 300 d'encodage-décodage comprend une partie d'encodage 310 comprenant 3 sous-parties d'encodage 311 , 312 et 313, et une partie de décodage 320 comprenant 3 sous-parties de décodage 321 , 322, 323.

[84] Chaque sous-partie 311 , 312 et 313 de la partie d'encodage 310 traite en entrée chacune respectivement les données des nœuds des graphe G1 , G2 et G3, comme cela est représenté par une flèche sur la figure 3.

[85] En particulier, la sous-partie d'encodage 313 du niveau supérieur, dit « fin », traite en entrée les données des nœuds d'un graphe G3 non échantillonné (ou sous- échantillonné selon une échelle la plus fine). Ce graphe G3 correspond ici à un maillage M 0 initiai, c'est-à-dire un maillage généré lors d'une étape de génération du maillage M 0 initial de l'espace. Ce maillage initiai est divisé en un nombre N d'éléments géométriques, selon l'exemple de la figure 1 , en 18 éléments surfaciques (mais pouvant être volumiques seion un autre exemple).

[86] La sous-partie d'encodage 312 du niveau suivant, dit « intermédiaire », et la sous-partie d'encodage 311 du niveau inférieur, dit « grossier », traitent en entrée respectivement les données des nœuds d'un graphe G2 et G1. Le graphe G2 correspond au graphe G3 sous-échantillonné seion l'étape d'échantillonnage 400 déterministe, qui sera décrit par la suite. Le graphe G1 correspond au graphe G2 sous- échantillonné selon l'étape d'échantillonnage 400 déterministe, correspondant au niveau de sous-échantillonnage le plus important dans le présent exemple.

[87] Les sous-parties d'encodage 312 du niveau Intermédiaire et 311 du niveau inférieur traitent également en entrée respectivement la sortie de la sous-partie d'encodage 313 du niveau supérieur et 312du niveau intermédiaire.

[88] Une sortie d'une sous-partie d'encodage peut être définie comme un graphe de sortie comprenant un nombre de nœud identique au graphe traité en entrée, chaque nœud du graphe de sortie comportant des information une information augmentée par le traitement par un réseau de neurones sur graphe (GNN), comme mentionné ci- après, la sortie étant finalement sous-échantillonnée de manière à pouvoir être traitée par une sous-partie d'encodage de niveau inférieur. Cette étape de sous- échantillonnage est illustrée par ies encadrés portant les mention M 3, 2 et M 2, 1 . Le sous- échantillonnage est obtenu à partir du résultat de l'étape d'échantillonnage 400 déterministe selon l'invention, comme il est expliqué plus en détail à la section « Sous- échantillonnage et sur-échantillonnage ».

[89] Plus précisément, les caractéristiques, ou données, de chaque nœud des graphes de sortie susmentionnées sont agrégés, nœud à nœud, avec les caractéristiques, ou données, de chaque nœud des graphes G2 et G1 , selon le niveau considéré, comme cela est visible à la figure 3. On précise que les signes « + » sur la figure 3 représentent les concaténations de caractéristiques de chaque nœud des graphes respectifs mais tout autre opération d'agrégation peut être utilisée (telle une addition, soustraction, multiplication, division).

[90] En d'autres termes, les sous-parties d'encodage 312 du niveau intermédiaire et 311 du niveau inférieur traitent une information augmentée, du fait de la prise en compte du résultat de ia sous-partie d'encodage plus fin immédiatement supérieur. De cette manière, l'information est propagée physiquement à travers les échelles.

[91] Les sous-parties d'encodage 311 , 312 et 313 et de décodage 321 , 322 et 323 consistent en un ou plusieurs réseaux de neurones sur graphe (GNN), de manière connue de l'art antérieur.

[92] Les sous-parties de décodage 321 , 322, 323 de chaque niveau d'encodage- décodage mettent en œuvre une procédure similaire, dans laquelle ia sortie de chaque sous-partie d'encodage du niveau considéré est agrégé nœud à nœud à la sortie de chaque sous-partie de décodage du niveau inférieur, immédiatement inférieur (mis à part dans le cas du niveau inférieur, comme cela est visible sur la figure 3). La sortie d'une sous-partie de décodage de niveau inférieur est sur-échantillonnée avant d'être agrégé, de manière à pouvoir être traitée par une sous-partie de décodage de niveau supérieur. Cette étape de sur-échantillonnage est illustrée par les encadrés portant les mention V 12 et V 2, 3 . Le sur-échantillonnage est obtenu à partir du résultat de l'étape d'échantillonnage 400 déterministe selon l'invention, comme il est expliqué plus en détail à ia section « Sous-échantillonnage et sur-échantillonnage ».

[93] Il convient de préciser que ia sortie d'une sous-partie d'encodage d'un niveau peut être traitée par un ou plusieurs GNN supplémentaires avant d'être agrégé, afin d'extraire davantage de caractéristiques, comme cela est visible par les flèches et les encadrés « GNN » en pointillées entre les parties 310 et 320. Le fonctionnement de la partie de décodage n'est pas repris en détail ici, et on se référera à la littérature de l'art antérieur pour le fonctionnement global de ce type d'architecture.

[94] En résumé, dans le procédé 300 d'encodage-décodage, chaque partie dite d'encodage comprend une pluralité de sous-parties de traitement par un réseau de neurones fonctionnant en cascade, correspondant ici aux sous-parties d'encodage 311 , 312 et 313, l'information en sortie d'une sous-partie GNN i+1 en amont étant sous- échantillonnée afin de former une entrée d'une sous-partie GNN i en avai.

[95] Chaque partie dite de décodage comprend une pluralité de sous-parties de traitement par un réseau de neurones fonctionnant en cascade, correspondant ici aux sous-parties de décodage 321 , 322 et 323, l'information en sortie d'une sous-partie GNN i en avai étant sur-échantillonnée afin de former une entrée d'une sous- partie GNN i+1 en amont.

[96] Lesdits sous-échantillonnages et lesdïts sur-échantillonnages entre deux sous- parties GNN i et GNN i+1 successifs sont déterminées au moyen d'une table d'indexation X i,i+1 , comme présentée dans la partie « Sous-échantillonnage et sur- échantillonnage ».

[97] Le résultat du procédé 300 d'encodage-décodage, en sortie de la sous-partie de décodage 323, est une représentation du graphe d'origine G3, comprenant une information traitée en chaque nœud, pouvant être utilisée avec des techniques connues de l'état de la technique afin de résoudre le problème de simulation numérique, après entrainement des réseaux de neurones sur graphe (GNN).

[98] Ainsi, au cours d'une étape de génération d'un résultat de simulation à partir d'au moins un algorithme d'apprentissage automatique tel le procédé d'encodage- décodage 300, préalablement entraîné à partir d'une bases de données comprenant une pluralité de jeu de maillages multi-échelles dits d'entrainement associés chacun à une simulation numérique, pour fournir un jeu de données de simulation pour tout ou partie des nœuds d'un maillage M i du jeu de maillages multi-échelles obtenu lors de l'étape d'échantillonnage déterministe.

[99] Un jeu de maillages multi-échelles d'entrainement comprend un nombre Z de maillages d'entrainement M 1,e à M Z,e sous-échantillonnés selon l'étape d'échantillonnage 400, à partir d'un maillage initiai d'entrainement M 0,e . Dans le présent exemple, la base de données d'entrainement comprend un nombre j donné (par exempte une centaine) de jeu de maillages muiti-écheites M 1,e,j à M 3,e,j , obtenus à partir de simulations numériques d'entrainement sur des maillages initiaux d'entrainement M 0,e,j , et étant obtenus au moyen du procédé d'échantillonnage 400. En particulier, des méthodes de régression peuvent être appliquées à chaque nœud v, le résultat étant associé à des valeurs cibles de grandeurs telles par exempte une contrainte de cisaillement, une pression isostatique, de volume, ou encore de forces hydrodynamiques. Il est ainsi possible d'obtenir une représentation du maillage initial comprenant une information sur les valeurs des grandeurs susmentionnées, par exemple par représentation en niveaux de couleurs, comme cela est réalisé de manière usuelle dans le cadre de simulations numériques.

Etape d'échantüllonnage selon l'invention

[100] Tout d'abord, on rappelle que l'étape d'échantillonnage 400 déterministe selon l'invention est indépendante du procédé d'apprentissage automatique 300 dans lequel il est mis en œuvre.

[101] Selon une première variante, l'étape d'échantillonnage 400 déterministe représenté à la figure 4 comprend une première étape 410 de définition d'un regroupement global E 0 d'élément géométriques, correspondant à l'ensemble de tous les éléments du maillage initiai M 0 , formant un maillage M 1 sous-échantillonné.

[102] La figure 5a représente un maillage M 1 sous-échantillonné, avec un regroupement global E 0 d'élément géométriques du maillage M 0 de la figure 1 , correspondant aux 18 éléments du maillage M 0 . Ainsi, le maillage M 1 sous- échantillonné comprenant n 1 = 1 < N = 18 regroupement d'élément, le maillage M 1 sous-échantiiionné étant défini sur l'intégralité de l'espace.

[103] Dans une sous-étape 420 de division du regroupement d'élément géométriques, l'élément global E 0 est scindé, ou divisé, de manière à obtenir une pluralité de regroupements d'éléments géométriques, lesdits regroupements étant plus petits, c'est-à-dire comportant moins d'éléments, que te regroupement dont ils sont issus. La figure 5b illustre à titre d'exemple une division de l'élément de la figure 5a en 4 regroupements d'éléments E 10 à E 13 , obtenue à l'issue d'une première sous- étape 420a de division.

[104] Cette première sous-étape 420a de division permet ainsi d'aboutir à un maillage M 2 sous-échantillonné comprenant n 2 = 4 < N = 18 regroupements d'éléments, avec n 2 > n 1 et n 2 n 1 le maillage M 2 sous-échantillonné étant défini sur l'intégralité de l'espace.

[105] L'étape d'échantillonnage 400 déterministe comprend au moins une sous-étape 420 de division, comme illustrée ci-dessus.

[106] Cependant, en générai, l'étape d'échantillonnage 400 déterministe comprend une pluralité de sous-étapes 420 de division s'enchaînant à la suite.

[107] En poursuivant avec l'exemple de la figure 5b, dans une seconde sous-étape 420b de division, chaque regroupement d'éléments obtenu précédemment est divisé en deux nouveaux regroupements d'éléments, de manière à obtenir 8 regroupements d'éléments E 20 à E 27 , comme cela est visible sur la figure 5c. La division par deux est ici choisie à titre exemple, et il est tout à fait possible de diviser à nouveau par quatre, comme lors de la sous-étape 420a, ou par tout autre nombre supérieur à deux.

[108] Cette première sous-étape 420b de division permet ainsi d'aboutir à un maillage M 3 sous-échantillonné comprenant n 3 = 8 < N - 18 regroupements d'éléments, avec n 3 > n 2 et n 3 n 2 n 1 , le maillage M 3 sous-échantillonné étant défini sur l'intégralité de l'espace.

[109] Dans cet exemple, le maillage initial M 0 comprenant 18 éléments est donc sous- échantillonné en une pluralité de maillages M 1 , M 2 et M 3 sous-échantillonnés comprenant respectivement 1 , 4 et 8 regroupements d'éléments géométriques. La granularité des différentes échelles d'échantillonnage ainsi construites peut être choisie librement, de façon à s'adapter notamment aux contraintes physiques du problème et au matériel informatique à disposition de l'utilisateur.

[110] Dans cet exemple, tous les regroupements d'éléments géométriques ont été divisés à chaque sous-étape, il est cependant envisageable de ne pas diviser certains regroupements d'éléments géométriques au cours de certaines sous-étapes de division.

[111] Il apparaît à l'évidence que ces sous-étapes de divisions peuvent être poursuivies de manière récurrente, au moins un regroupement d'éléments géométriques d'un maillage M i , comprenant n i regroupements d'éléments géométriques, avec i entier compris entre 1 et Z, étant divisé en une pluralité de regroupements d'éléments géométriques, de manière à générer un maillage M i+1 sous-échantillonné comprenant n i+1 regroupements d'éléments géométriques, avec n i+1 > n i . [112] En résumé, selon cette première variante, les points extrêmes du maillage initia! servent à définir un élément global E 0 , définissant un maillage M 1 qui est successivement divisé, selon un pas pouvant être adapté (par exemple ici un pas de division par 4, puis par 2, choisi par l'utilisateur), de manière à obtenir une pluralité de maillages, et par extension de graphes (les maillages M i , M 2 et M 3 sous-échantillonnés pouvant être respectivement représentés par des graphes G1 , G2 et G3), représentant différentes échelles d'échantillonnage.

[113] A la lumière des figures 5a à 5c, on comprend également que le passage d'un maillage fin à un maillage plus grossier, c'est-à-dire de la figure 5c vers la figure 5a correspond à un sous-échantillonnage, et le passage d'un maillage grossier à un maillage plus fin, c'est-à-dire de la figure 5a vers la figure 5c correspond à un sous- échantillonnage, correspond à un sur-échantillonnage. On comprend également que les trois maillages des figures 5a à 5c sont tous des maillages sous-échantillonnés du maillage initial de la figure 1 , à des niveaux d'échantillonnages différents.

[114] Selon une seconde variante, illustrée à la figure 6, l'étape d'échantillonnage déterministe est « inversée », les maillages sous-échantillonnés étant obtenus par regroupements successifs à partir du maillage M 0 initial.

[115] Plus précisément, l'étape d'échantillonnage 450 selon une seconde variante comprend une sous-étape 480 de définition d'un regroupement initial, au cours de laquelle au moins deux éléments géométriques du maillage initial M 0 sont regroupés en un regroupement d'éléments géométriques, de manière à générer un maillage M z sous-échantillonné, correspondant ici au maillage M 3 de la figure 5c. Dans cet exemple, 18 éléments géométriques sont rassemblés en 8 regroupements d'éléments géométriques. Ainsi, il apparaître que les regroupements au cours de cette sous-étape de définition initiale peuvent être effectués par paires pour certains éléments géométriques, et par triplets pour d'autres, par exemple.

[116] Cette sous-étape 480 de définition est suivie de deux sous-étapes de regroupement 470a et 470b, dans le présent exemple, au cours de laquelle au moins deux regroupements d'éléments géométriques d'un maillage M i+1 , sous-échantillonné comprenant n i+1 regroupements d'éléments géométriques, avec i entier compris entre 1 et Z - 1, sont regroupés en un regroupement d'éléments géométriques de manière à générer un maillage M i sous-échantillonné comprenant n i regroupements d'éléments géométriques, avec n i < n i+1 . [117] Dans l'exemple considéré, au cours d'une première sous-étape 470a de regroupement, les n 3 = 8 regroupements d'éléments géométriques sont regroupés par paires de manière à obtenir n 2 = 4 regroupements d'éléments géométriques comportant plus d'éléments géométriques, avec n 2 < n 3 ,

[118] Au cours d'une seconde sous-étape 470b de regroupement, les n 2 = 4 regroupements d'éléments géométriques sont regroupés par quatre de manière à obtenir n 1 = 1 regroupements d'éléments géométriques comportant plus d'éléments géométriques, avec n 1 < n 2 .

[119] Il apparaît ainsi qu'il est possible d'obtenir les mêmes maillages sous-échantillonnés M x , M 2 et M 3 par une approche de regroupement, ou d'agrégation, et ce de manière totalement équivalente à la première variante présentée.

Etape de division

[120] En particulier, la sous-étape 420 de division de l'étape d'échantillonnage 400 selon la première variante comprend au moins une opération de sous-division par deux d'un regroupement d'élément géométriques.

[121] Une telle opération est également connue sous le nom de « regroupement hiérarchique descendant ».

[122] De telles approches sont connues de la technique, et on se référera notamment à l'approche décrite dans l'article de Szekely et al. (2005), Hierarchicai Clusîering via Joint Between-Within Distances: Extending Ward's Minimum Variance Method. Cette technique a été implémentée avec succès dans le cadre de la présente invention, et présente l'avantage technique de pouvoir être mis en œuvre de manière parallèle pour chaque regroupement d'éléments géométriques divisé, de manière à réduire le temps de calcul, ainsi que la consommation énergétique.

[123] La sous-étape 420 de division comprend une opération de sous-division par deux d'un regroupement d'éléments géométriques d'un maillage M i sous- échantillonné, de manière à obtenir deux ensembles dans ledit regroupement d'éléments géométriques.

[124] Cette opération de sous-division par deux d'un regroupement d'éléments géométriques est suivie d'une ou plusieurs opérations de sous-division par deux d'au moins un ensemble obtenu lors d'une opération de sous-division précédente. [125] Les ensembles obtenus à l'issue de la dernière opération de sous-division par deux correspondent à des regroupements d'éléments géométriques du maillage M i+1 sous-échantillonné,

[126] En prenant l'exemple de l'étape de division 420a permettant de passer du maillage M x au maillage M 2 , une première opération de sous-division par deux permet de passer d'un regroupement d'éléments à deux regroupements d'éléments, et une seconde opération de sous-division par deux permet de passer de deux ensembles à quatre ensembles, correspondant aux regroupements d'éléments E 10 à E 13 du maillage M 2 .

[127] En d'autres termes, le niveau de granularité de chaque étape d'échantillonnage peut être ajusté par l'exécution en cascade de simples étapes de sous-division par deux.

[128] En ce qui concerne le critère de sous-division par deux, c'est-à-dire la détermination de l'appartenance d'un élément géométrique à l'un ou l'autre des ensembles lors de chaque opération de sous-division par deux, ce critère est choisi de manière à respecter la cohérence physique du maillage.

[129] Plus précisément, l'assignation à i'un ou l'autre des ensembles est déterminé à partir d'un critère de similarité physique entre deux éléments géométriques, ce critère correspondant en particulier à la proximité spatiale dans l'espace de deux éléments géométriques.

[130] Cependant, un critère plus complexe, correspondant par exemple à la fonction k de similarité entre deux éléments géométriques, peut être utilisé. De cette manière, il est assuré que seuls les éléments géométriques les plus similaires sont assignés à i'un ou l'autre des ensembles.

[131] Ce critère étant défini de manière entièrement déterministe, à partir de paramètres physiques du maillage, l'opération de sous-division par deux participe au caractère déterministe de l'étape d'échantillonnage déterministe, chaque sous- échantillonnage étant déterminable et déterminé à partir de critères physiques.

Sous-échantillonnage et sur-échantillonnage

[132] Les relations entre les regroupements d'éléments géométriques d'un maillage M; sous-échantillonné et d'un maillage M i+1 sous-échantillonné (ou de graphes correspondants) obtenues au cours du de l'étape d'échantillonnage 400 déterministe sont stockées dans une table d'indexation X i,i+1 . [133] Plus précisément, la table d'indexation X i,i+1 est un couple comprenant un vecteur de suréchantillonnage, pour le passage d'une échelle grossière à une échelle fine, et une matrice de sous-échantillonnage, pour le passage d'une échelle fine à une échelle grossière, comme il a été évoqué plus en amont.

[134] Dans l'exemple de mise en œuvre de la figure 3, la table d'indexation X 2,3 permettant de passer d'un maillage M 3 à un maillage M 2 et inversement (ou d'un graphe G3 à un graphe G2 et inversement) comprend une matrice de sous- échantillonnage M 3,2 , qui permet notamment de sous-échantillonner le résultat issu de la sous-partie d'encodage 311 , un vecteur de sur-échantillonnage V 2,3 , qui permet notamment de sur-échantillonner le résultat issu de la sous-partie de décodage 322,

[135] La table d'indexation X 1 2 permettant de passer d'un maillage M 2 à un maillage M 1 et inversement (ou d'un graphe G2 à un graphe G1 et inversement) comprend une matrice de sous-échantillonnage M 2,3 , qui permet notamment de sous-échantillonner le résultat issu de la sous-partie d'encodage 321 , un vecteur de sur-échantillonnage V 1,2 , qui permet notamment de sur-échantillonner le résultat issu de la sous-partie de décodage 332.

[136] En d'autres termes, les matrices de sous-échantillonnage et les vecteurs de suréchantillonnage permettent d'effectuer un transfert d'information, nœud à nœud, entre les différentes échelles, c'est-à-dire que la table d'indexation X i,i+1 définit une relation bijective (ou encore bijective-bijective, l'application étant bidirectionnelle) entre les regroupements d'éléments géométriques d'un maillage sous-échantillonné et les regroupements d'éléments géométriques d'un maillage M i+1 sous-échantillonné.

Détermination des caractéristiques des nœuds de graphes sous-échantïllonnés

[137] L'algorithme d'apprentissage automatique, tel le procédé 300 d'encodage- décodage de l'exemple 3, traite en tant que donnée d'entrée les caractéristiques d'une pluralité de graphes à différentes échelles, obtenus au moyen de l'étape d'échantillonnage déterministe 400.

[138] Chaque graphe d'entrée comprend un nombre donné de nœuds (selon l'échantillonnage choisi). Les graphes d'entrée comprennent un nombre donné de nœud, qui contiennent chacun des caractéristiques physiques du problème d'écoulement de fluide à résoudre [139] Par exemple, ces caractéristiques peuvent être les coordonnées du centre, les normales des surfaces, l'aire de la surface, et les conditions aux limites, selon une variante de mise en œuvre du procédé de simulation.

[140] Lors du sous-échantillonnage tel que décrit ci-dessus, les caractéristiques d'un nœud d'une échelle plus grossière sont déterminées à partir des caractéristiques des nœuds de l'échelle plus fine.

[141] Afin de déterminer les caractéristiques d'un nœud correspondant à un regroupement d'éléments, par exemple pour le regroupement d'éléments E 0 du maillage M 1 , une intégrale sur l'ensemble des regroupements E l0 à E 13 ,, composant le regroupement d'éléments E 0 est effectuée.

[142] En d'autres termes, une caractéristique d'un nœud correspondant à un regroupement d'éléments « grossier » correspond à l'intégrale des caractéristiques correspondantes des regroupements d'éléments (ou d'éléments) le composant. De cette manière, les caractéristiques sont déterminées en chaque nœud tout en garantissant la conservation de l'énergie sur l'ensemble des éléments du maillage.

Autres modes de réalisations

[143] On précise que l'invention peut être mise en œuvre pour tout type de données non-siructurées, mêmes non physiques. Cela concerne notamment toutes les données pouvant être représentées par des graphes, la notion d'élément géométrique ou de regroupement d'élément correspondant alors à un nœud initiai ou à des regroupements de nœuds du problème générique.

[144] Dans ce cas, des critères tel le critère de sous-division par deux par exemple ne peuvent être défini selon des caractéristiques physiques, mais peuvent être définis en fonction de caractéristiques pertinentes pour le problème à résoudre, permettant de définir selon quels critères deux nœuds/regroupements de nœuds d'un graphe doivent être regroupés ou un regroupement de nœuds doit être divisé.

[145] Même si la notion de cohérence spatiale lors de [‘échantillonnage disparaît pour ce type de problèmes génériques, il subsiste donc néanmoins une cohérence grâce à la mise en œuvre de l'étape d'échantillonnage déterministe, qui n'est pas dictée uniquement par des critères de convergence rapide comme dans la technique connue de l'art antérieur.

[146] Ainsi, l'invention vise également un procédé d'échantillonnage dit déterministe configurée pour traiter en entrée un graphe non-structuré G 0 initiai de manière à obtenir un jeu de graphes non-structurés muîti-échelles dit de simulation, ledit jeu de graphes non-structurés de simulation comprenant un nombre Z ≥ 1 de graphes non- structurées G t , i ∈ [1, ...,Z] sous-échantillonnés, suivant les critères suivants :

- le ou les graphe(s) G i sous-échantillonnés comportent chacun un nombre n i de regroupements de noeuds dudit graphe initial, tel que n i étant strictement inférieur à N, chaque n i étant distinct.

- chaque graphe G i sous-échantillonné étant défini sur l'intégralité de l'espace défini par les nœuds du graphe initial ;

- les relations entre les regroupements de noeuds d'un graphe G £ sous- échantillonné et d'un graphe G i+1 sous-échantillonné étant stockées dans une table d'indexation X i,i+1 ;

- le nombre de graphes G, : sous-échantillonnés et le nombre n i de regroupements de noeuds de chaque graphe G t sous-échantillonné étant des paramètres prédéterminés dudit procédé d'échantillonnage déterministe.