Identification des mécanismes de fissuration dans un alliage d ...
Identification des mécanismes de fissuration dans un alliage d ...
Identification des mécanismes de fissuration dans un alliage d ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.4 Modélisation <strong>de</strong> la propagation <strong>de</strong> fissures <strong>de</strong> fatigue en interaction avec la<br />
microstructure 161<br />
slogan «Write once, use everywhere» grâce à l’utilisation d’<strong>un</strong>e machine<br />
virtuelle. Java est <strong>un</strong> langage orienté objet, c’est-à-dire qu’il ne manipule pas <strong><strong>de</strong>s</strong><br />
fonctions et <strong><strong>de</strong>s</strong> procédures mais <strong><strong>de</strong>s</strong> objets qui vont s’échanger <strong><strong>de</strong>s</strong> informations.<br />
Le principal avantage est que l’on peut réaliser <strong>un</strong>e programmation modulaire :<br />
tous les objets peuvent être mis au point séparément et sont réutilisables à l’infini.<br />
Java est aussi <strong>un</strong> langage organisé, robuste, sûr et performant, parfaitement<br />
adapté à notre application.<br />
Le co<strong>de</strong> est organisé <strong>de</strong> façon à réaliser les objectifs fixés au départ. Le modèle<br />
se décompose <strong>de</strong> façon fictive en 3 modules :<br />
1. le module <strong>de</strong> microstructure, qui permet <strong>de</strong> générer la microstructure<br />
(grain+texture) <strong>de</strong> la section à rompre;<br />
2. le module <strong>de</strong> <strong>fissuration</strong>, où la fissure est placée <strong>dans</strong> la section et va se<br />
propager jusqu’a la rupture;<br />
3. le module statistique, qui permet <strong>de</strong> réaliser <strong>un</strong> nombre quelconque <strong>de</strong><br />
calculs mettant en jeu les <strong>de</strong>ux premières étapes.<br />
Ceci est représenté <strong>de</strong> schématiquement sur le diagramme UML 7 <strong><strong>de</strong>s</strong> cas d’utilisation,<br />
figure 4.14. On peut assimiler ceci à la couche supérieure du programme<br />
qui n’est autre que l’interface graphique. Cette couche permet à l’utilisateur <strong>de</strong><br />
manipuler les objets <strong>de</strong> façon transparente et attractive. Sans trop entrer <strong>dans</strong><br />
les détails, le coeur du programme se décompose en plusieurs classes, les objets<br />
étant les instances <strong><strong>de</strong>s</strong> classes qui vont intéragir entre eux. En programmation<br />
orientée objet (POO), <strong>un</strong>e classe se caractérise par ses attributs et ses métho<strong><strong>de</strong>s</strong>.<br />
Les principales classes mises en jeu sont :<br />
• la classe Materiau<br />
• la classe Section<br />
• la classe Grain<br />
• la classe JointGrain<br />
• la classe NoeudGrain<br />
• la classe Fissure<br />
• la classe LoiPropagation<br />
• la classe FrontFissure<br />
L’interaction entre les classes est représentée par le diagramme UML <strong>de</strong> classes<br />
sur la figure 4.15. Ajoutons enfin que le programme et son co<strong>de</strong> source complet<br />
sont distribués sous licence CeCILL, licence libre française rédigée conjointement<br />
par le CEA, le CNRS et l’INRIA [102].<br />
POO.<br />
7 pour Unified Mo<strong>de</strong>ling Language, qui est <strong>un</strong>e façon <strong>un</strong>iverselle <strong>de</strong> présenter <strong>un</strong> co<strong>de</strong> en