09.02.2014 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!