• Aucun résultat trouvé

La partie précédente définit les données nécessaires à l'initialisation de l'algorithme. Le mode de fonctionnement du programme principal est maintenant détaillé. Il s'agit en fait de la loi de comportement choisi pour le VER. Etant donné que le PA66-GF30 est ici modélisé à l'aide d'une méthode micromécanique, cette loi de comportement est une méta-routine (appelée ici méta- UMAT), c'est à dire une loi constitutive qui en appelle d'autres. En avant-propos, il est à noter qu’un programme supplémentaire est utilisé, le « solver ». Celui-ci harmonise l’utilisation des fichiers d’entrée, calcule les incréments de la consigne et appelle la loi de comportement appropriée en fonction des données d’entrée et du type de comportement. Dans le cas d'un chargement mixte ou en contrainte, il assure également sa conversion en un chargement en déformation à l'aide d'une boucle prédiction-correction dédiée. Il ne peut pas faire de calcul de structure et ne s’intéresse qu’au comportement d’un point matériel. Sa philosophie de résolution est très proche des analyses par éléments finis en approche déplacement. Il s'agit ainsi d'un outil de test avant d'utiliser les routines sur un logiciel d’analyse par éléments finis comme Abaqus.

On s’intéresse alors à la réponse en contrainte tant au niveau local qu’à celui macroscopique, ainsi qu’au module tangent effectif du matériau composite. L'utilisation d'un langage orienté objet, le C++, permet de gérer chaque phase comme une entité à part entière (un objet), directement utilisable comme n'importe quelle variable. Les propriétés des différentes phases sont notamment récupérées dans de tels objets. Les tenseurs initiaux de contraintes, de déformations et d’incréments de déformations sont ensuite transcris dans la notation de Voigt (cf. annexe C). Celle-ci permet en effet une manipulation plus aisée des données, notamment en ce qui concerne les tenseurs d’ordre 4 et leurs rotations. D’un point de vue de l’implémentation numérique, elle est ainsi bien plus simple et approprié pour traiter des opérations d’algèbre linéaire. Afin de permettre leur visibilité dans toutes les parties du code, ces tenseurs sont également sauvegardés en tant que variables internes. La gestion des opérations d'algèbre linéaire est par ailleurs réalisée grâce à une bibliothèque dédiée et essentielle à SMART+, Armadillo, majoritairement développée par le National Information Communications Technology Australia (NICTA) [229].

L'incrément de déformation que subit chaque phase est dans un premier temps approximé de manière élastique, et exprimé par défaut dans le repère du VER. Au début de la simulation, les champs locaux sont initialisés à 0 et le module tangent de chaque phase est calculé à l’aide de la loi de comportement appropriée. La boucle de convergence associée à la méthode de Mori-Tanaka incrémentale est ensuite lancée.

À chaque itération, chaque phase se voit attribuer un tenseur d’Eshelby calculé par intégration numérique. La méthode d'intégration correspondante est donnée par Gavazzi et Lagoudas [228]. Le tenseur d'Eshelby S est donné par les équations (IV-1) et (IV-2) [189] en utilisant le tenseur de Green G. L0 correspond au tenseur de rigidité du milieu infini, et les ai aux demi-axes ellipsoïdaux selon l'axe xi. ζ3 et w représentent des variables d'intégration. Є est le tenseur de permutation. (IV-1)

130 (IV-2)

Gavazzi et Lagoudas utilisent alors une méthode de quadrature de Gauss pour calculer le tenseur d'Eshelby (IV-3). W correspond aux coefficients de quadrature, ou poids. P et Q sont les nombres de points d'intégration respectifs de ζ3 et w. Dans l'algorithme, l'utilisateur rentre directement ces valeurs en tant que propriétés de la loi de comportement du VER, comme spécifié précédemment. À noter que S est intrinsèquement exprimé dans le repère local de la phase.

(IV-3)

Il s’en suit le calcul des tenseurs d’interaction T, comme exprimé dans la section (III.2.b). Si la phase concernée est l’enrobage d’une autre, les deux tenseurs d’interaction correspondants sont calculés accordement à la partie (III.2.e.ii). À noter que toute inversion matricielle/tensorielle se fait numériquement, et est traitée directement par la librairie Armadillo. Afin d’obtenir les tenseurs d’interaction dans le repère global, une nouvelle rotation est opérée. Celle-ci est également appliquée à l’incrément de déformation. Les tenseurs de localisation en déformation A propres au modèle de Mori-Tanaka sont alors calculés, ainsi que les déformations de chaque phase dans le repère global. Après une nouvelle rotation de ces derniers, l’incrément de déformation de chaque phase est déterminé dans son repère. Il convient alors d’appeler les UMATs concernées afin de calculer la réponse en contrainte de chaque phase ainsi que son module tangent. Afin de prévenir une éventuelle instabilité de l'algorithme, ce module est finalement défini avec une méthode semi- implicite tel que décrit par l'équation (IV-4), avec И un coefficient entre 0 et 1.

(IV-4) Cette méthode ralentit mais stabilise la convergence de l'algorithme, accordement au critère (III-37). Ici, И est fixé à 2/3, accordement aux analyses de Doghri et Ouaar [230]. Enfin, une dernière rotation des modules tangents dans le repère global est réalisée. Une fois que l’erreur de la boucle d’incrémentation a été réduite en dessous d’un certain seuil, ou que le nombre d’itération dépasse une valeur limite prédéfinie, la boucle de convergence s’arrête et le module effectif du VER est finalement calculé. Le champ de contrainte effectif est également déterminé et renvoyé au « solver ».

La méta-UMAT de Mori-Tanaka s’arrête sur la mise à jour des différentes variables internes afin de pouvoir traiter l’incrément de déformation suivant. La validation de l'implémentation de ce modèle se fera à travers des cas types de la littérature dans la section 2. de ce chapitre.

131