Résumé: L’objectif du projet est de réaliser un logiciel de construction de matériaux virtuels. Le matériau virtuel doit synthétiser toutes les caractéristiques importantes du matériau réel de manière à pouvoir ensuite être étudié par des séries d’expériences virtuelles. On doit pouvoir passer d’une description géométrique complexe d’une structure à sa représentation, ou à une de ses représentations en 3D, interactive et « interrogeable » par la souris.
Le projet peut se diviser en 3 parties:
Tout d’abord, un matériau (comme une division et les sous divisions de celui-ci) est composé d’un ensemble de plans, eux-mêmes composés de lignes, puis de points. Lors de la construction, le matériau peut être divisé en grains qui eux-mêmes peuvent être encore divisés en sous divisions. On aura ainsi plusieurs niveaux d’imbrications:
Toutes les constructions d’un matériau virtuel se font à partir de courbes statistiques décrivant des propriétés géométriques mais aussi d’autres propriétés physiques. Le matériau virtuel est construit à partir de courbes statistiques sur la base des propriétés géométriques du matériau. Celles-ci doivent être obligatoirement fournies:
Les autres propriétés sont physiques et optionnelles. Elles seront définies par l’utilisateur en fournissant leur nom et la courbe statistique associée. Il faudra aussi indiquer si elles s’appliquent aux joints (plan inter-granulaire) ou aux grains. La distribution des valeurs des propriétés se fera toujours de la même façon, par tirage aléatoire de nombres compris entre 0 et 1 et en utilisant la courbe de probabilités cumulées fournie. Pour chaque propriété, la courbe statistique d’un matériau doit se rapprocher au maximum de la courbe statistique d’entrée. A titre d’exemple, les principales courbes seront:
Pour chaque courbe statistique, une propriété intervalle de probabilité peut être définie. Cette propriété indique que la partie de la courbe de l’intervalle doit être propagée aux divisions pour être utilisé lors de la sous divisions.
Toutes les propriétés doivent être hiérarchisées. Pour la visualisation à un niveau n, on ne doit pouvoir utiliser que les propriétés du niveau n (géométriques ou physiques), et celles des niveaux supérieurs (n+1, n+2…).
Toutes les sous divisions (par exemple: matériau en grains) sont construit avec l’algorithme de Voronoi. Mais, dans le futur, d’autres algorithmes doivent pouvoir facilement être ajoutés. En plus des informations de la structure géométriques du matériau, les points de Voronoï doivent être conserver pour effectuer des modifications sur le matériau lors des diverses itérations.
La construction des différents niveaux du matériau se fera l’un après l’autre. Un menu «construction» aura tous les niveaux d’un matériau et tant que celle précédant n’est pas construit, elles seront grisées. Si l’on choisit de construire un niveau, une boite de dialogue sera affiché permettant de paramétrer la construction en insérant les courbes sur les propriétés.
La visualisation permettra de manipuler le matériau (rotation, zoom, …) et voir les grains du matériau. Pour faciliter la visualisation des divisions, des coupes pourront être faites dans le matériau. Une sélection de divisions pourra aussi être faite, à partir de critères booléens (< = > …) sur les propriétés diverses. Seuls les divisions correspondantes à ces critères seront affichées.
Chaque division aura des propriétés, ainsi que chaque zone séparant 2 divisions (ces zones sont appelées joints de divisions). Ces propriétés seront accessibles après sélection d’un joint et seront définies grâce aux courbes statistiques données lors de la construction du matériau. Lors d’une sélection, il y a aussi interaction avec l’interface homme machine.
L’IHM (Interface Homme Machine) se composera de deux parties: la partie visualisation 3D et la partie navigation. Cette dernière partie sera un onglet composé de feuilles: grains, plans, points. Dans chacune de ces feuilles, on aura une hiérarchie indiquant les liens entre les grains, plans et points. Lors d’une sélection dans la hiérarchie, une boite de dialogue sera affiché avec les propriétés de l’objet. Lorsqu’un double-clique est effectué sur un joint dans la zone de visualisation, une boite de dialogue sera affiché avec toutes les propriétés ainsi que les divisions dont le joint appartient. En parallèle, dans la zone de navigation, le joint sera sélectionné.
La partie visualisation permet de voir seulement un niveau à la fois. Il sera donc possible de naviguer entre les différents niveaux. Pour visualiser une division (grain, cellules, …), il faudra sélectionner ce niveau.
Des données sur le matériau construit pourront être extrait sous la forme de courbes statistiques:
On doit pouvoir extraire soit des courbes statistiques d’une propriété, soit la valeur particulière d’une propriété en une région de l’espace qui a été sélectionnée. Si les propriétés sont géométriques comme dans le cas de la sauvegarde de la structure du matériau, il faut fournir une liste hiérarchisée des divisions/plans/points qui constituent et permettent de représenter les objets concernés. Si les propriétés ne sont pas géométriques, il faut pouvoir dresser leur liste associée aux objets auxquels ils appartiennent qui, eux, ont une représentation géométrique.