• Aucun résultat trouvé

Il convient désormais de définir le cadre dans lequel ce travail de recherche a été effectué. Ceci sera l’objet de la discussion suivante.

5.1

Outil de simulation numérique développé historiquement par

le CEMEF pour les procédés de forgeage et d’usinage

Le CEMEF développe depuis une vingtaine d’années différents logiciels de simulation de mise en forme. Le plus connu d’entre eux se nomme Forge3®. Il est dédié à la simulation du forgeage des métaux ferreux (acier) et non-ferreux (alliage aluminium, alliage cuivre, titane, nickel) à chaud, mi-chaud et à froid de pièces 3D telles que des pivots de direction, vilebrequins, bielles ou bras de suspension. Commercialisé par la société TRANSVALOR, il a été testé et validé à de nombreuses reprises sur différentes configurations. Il est actuellement utilisé dans le monde entier par plus de 250 clients dont 80% sont des industries.

Forge3® étant considéré comme un code robuste et fiable, nous utiliserons une version laboratoire de ce logiciel développée par Guerdoux [Guerdoux07] pour lequel la version industrielle de celui-ci est inadaptée. Notre objectif sera d’introduire les éléments numériques nécessaires à simulation en trois dimensions du phénomène de BCA dans le cadre de procédés de mise en forme à grande vitesse.

5.2

Développement d’un nouvel outil de simulation numérique

dédié a la simulation du forgeage et de l’usinage

5.2.1 Pourquoi développer un nouvel outil numérique

Forge3® est considéré comme un code robuste et fiable, cependant son développement s’est peu à peu ralenti ces dernières années. Le fait qu’il soit implémenté en langage de type procédural FORTRAN 77, 90 et 95 constitue une cause de ce ralentissement. En effet, l’utilisation de ces langages conduit :

• à une extension non maîtrisée de la taille du code qui devient alors difficile à maintenir et à faire évoluer (parallélisation du code, introduction de nouveaux modèles, …)

24 • à une utilisation non optimale de l’espace mémoire au cours du calcul (utilisation

d’allocations statiques en FORTRAN 77).

• à rendre le code très peu générique : dans le cadre de l’utilisation de Forge3®, seules des applications 3D de forgeage et d’usinage de matériaux ferreux et non ferreux sont possibles. Il devient donc nécessaire de « construire » un nouveau code lorsque l’on souhaite simuler de nouvelles applications comme la mise en forme de polymères par le logiciel REM3D® ou la simulation 2D du forgeage par Forge2®.

Fort de ce constat, le CEMEF et plus particulièrement le groupe CIM (Calcul Intensif en Mise en forme), a mis en place sous l’impulsion de Thierry Coupez, directeur du groupe CIM, une librairie développée en langage C++ que nous allons maintenant décrire.

L’utilisation du langage orienté objet C++ aide à passer outre les différents écueils décrits précédemment en permettant:

• de réduire considérablement la taille du code implémenté par élimination de redondances grâce aux propriétés de polymorphisme et de meta programmation. • un très bon ordonnancement du code par le biais de la propriété de classification. • une maintenance du code facilitée par l’application des deux points précédents. • l’implémentation de nouveaux modèles numériques par des développeurs de bas

niveau grâce à la propriété d’encapsulation.

• un très bon contrôle des ressources mémoires par le biais de l’utilisation de méthodes d’allocations dynamiques.

• une très grande généricité du code : il est alors possible de « construire » un nombre important d’applications diverses à partir d’un seul et même code (forgeage et usinage de matériaux métalliques, injection et extrusion de polymères, simulation du fonctionnement d’un four en considérant des phénomènes et géométries complexes,…).

Outre les avantages conférés à CIMLib du simple fait de l’utilisation du langage C++, Digonnet et Coupez [Digonnet03] ont voulu mettre en place une stratégie de développement qui tend :

25 • à maximiser la généricité du code, notamment par l’utilisation de bibliothèques (disponibles gratuitement sur Internet) qui permettent la résolution de grands systèmes linéaires (par exemple, Portable Extensible Toolkit for Scientific Computation (PETSc), Linear Algebra PACKage (LAPACK), …).

• à permettre l’exécution de CIMLib sur des machines massivement parallèles de type cluster via l’utilisation de bibliothèque de résolution de système linéaire parallélisée (PETSc) utilisant le standard Message Passing Interface (MPI) pour l’échange d’information entre processeurs.

• à favoriser le multi développement de la bibliothèque grâce à l’utilisation d’une méthode de gestion de versions concurrentes CVS (Concurrent Version System) et SVN (SubVersioN)

Le fait que les BCA soient un phénomène fortement localisé qui nécessite d’importantes ressources de calcul nous incite au développement d’un code éléments finis hautement parallèle. De plus, la complexité du phénomène nécessite d’importants développements numériques qu’une approche telle que celle présentée rend plus simple, plus rapide et plus pérenne. Ces différents constats nous ont conduit à développer un nouveau code éléments finis dédié à la simulation du forgeage et de l’usinage au sein de la bibliothèque CIMLib. Il sera baptisé Forge++ dans la suite de ce manuscrit.

5.2.2 Développement de Forge++ au sein de la librairie CIMLib

Le développement de Forge++ dans le cadre des procédés de mise en forme a grande vitesse se fera selon les deux étapes détaillées dans ce qui va suivre.

5.2.2.1 Mise a niveau de la librairie CIMLib

La première étape consistera à mettre à niveau la librairie CIMLib pour la simulation des procédés de mise en forme à grande vitesse. En effet, au commencement de ce travail, CIMLib était principalement dédiée à la simulation d’écoulements fluides. La première partie du travail de développement consiste donc à présenter les nouveaux éléments de base qui seront ajoutés pour les solides dans le cadre d’une formulation lagrangienne réactualisée.

26 L’objectif est d’atteindre les mêmes capacités que Forge3® mais dans un contexte totalement parallélisée. Ce travail a été réalisé en étroite collaboration avec Julien Bruchon, responsable du projet Forge++, et Hugues Digonnet responsable de CimLib.

5.2.2.2 Développement de Forge++ dans le cadre de la simulation de procédés de mise en forme à grande vitesse

La seconde étape du travail de développement de Forge++ consiste en la mise en place de nouveaux algorithmes numériques permettant de simuler les BCA avec davantage de précision et une plus grande rapidité de calcul.

Documents relatifs