• Aucun résultat trouvé

solution extrapolée par Abaqus/Standard, en tant qu’état initial pour les trois cycles de chargement servant de base au prochain saut.

Dans une analyse cycle par cycle, on utilise la fonction *RESTART et le solveur peut ré-utiliser une solution, contenue dans plusieurs fichiers, qui ont été générés par le dernier calcul éléments finis réalisé. Pour cela, il a fallu au préalable demander la créa-tion de ces fichiers très volumineux car toute la solucréa-tion est sauvegardée.

Après un saut, la solution extrapolée est contenue dans la surcouche Python et doit être ré-implantée dans un format utilisable pour Abaqus, or on ne peut pas écrire "ma-nuellement" les fichiers de *RESTART. On a donc recours à deux User Subroutines en langage Fortran, SIGINI et SDVINI qui permettent respectivement de définir un champ de contrainte initial et l’ensemble des variables du modèle telles que la déformation élastique, les déformations plastiques, l’écrouissage ou encore la plasticité cumulée. En deux dimensions et avec la loi de comportement utilisée, on a 27 composantes à ré-implanter à chaque point de Gauss. Ce faisant, toute la solution est écrite dans un fichier texte. Au lancement du calcul repartant de l’arrivée du saut, on ajoute au fichier d’input l’option *INITIAL STATE TYPE=STRESS (AND SOLUTION) qui indique que la définition de l’état initial n’est pas contenue dans des fichiers de RESTART, mais doit être chargée via les subroutines. Ainsi, avant d’effectuer le calcul, le solveur vient char-ger la solution par point de Gauss dans l’ordre de définition du maillage en appelant à chaque fois chaque subroutine. Pour optimiser ce traitement et le rendre quasiment insensible pour l’utilisateur, le fichier texte est ouvert lors du premier appel à la fonc-tion et ensuite chaque nouvelle utilisafonc-tion fait progresser la lecture d’une ligne dans le

fichier texte, qui est gardé en mémoire. Ce point est essentiel pour pouvoir traiter des structures à plusieurs millions de degrés de liberté comme au chapitre 4.

Concernant les déplacements, il n’existe pas, à notre connaissance, de fonction permettant de les appliquer dans un état initial. Dans la littérature, il est proposé de réaliser une étape de calcul très courte pour les imposer en tant que conditions de Di-richlet sur toute la structure sans chargement extérieur. Dans les essais menés, outre les conflits à gérer avec les conditions limites pré-existantes, cette étape pouvait per-turber la solution extrapolée et la précision du saut était altérée. Une décision a été de ne pas imposer le champ de déplacements, car le solveur n’en a pas besoin en réalité pour le calcul car dans Abaqus/Standard celui-ci est incrémental. La donnée des autres variables, notamment la déformation totale est suffisante pour obtenir la même solu-tion. On perd ainsi l’information sur l’histoire des déplacements et des simulations en grandes transformations ou mettant en œuvre du contact ne sont pas réalisables en l’état actuel.

2.6.2 Sécurités après un saut

L’équilibre de la solution extrapolée n’est pas vérifié a priori lors du saut, ainsi comme on peut le constater sur les exemples proposés et en particulier sur la figure 5.10a, certains calculs repartant de la solution extrapolée peuvent ne pas permettre de rééquilibrer la solution, lors de l’intégration locale de la loi de comportement sur quelques points de Gauss. Il s’agit de phénomènes très localisés difficiles à éviter, sur-tout qu’ils interviennent à des hauts niveaux de plasticité.

À l’instar de la gestion des cutbacks dans Abaqus/Standard, on propose de limiter la longueur du saut si le calcul suivant a échoué. En pratique, après un échec on re-prend le processus d’extrapolation en divisant par deux la longueur du saut tenté, ce qui met à jour le facteur d’extrapolation. Dans la majorité des cas traités, cela a permis de terminer l’analyse par sauts de cycles. Malheureusement, la diminution du facteur d’extrapolation conduit à de plus petits sauts par la suite ce qui pénalise la stratégie. Ainsi, toujours de manière analogue à la gestion des pas de temps, si après un échec deux sauts se réalisent avec succès, on augmente le facteur d’extrapolation d’un coef-ficientγ tel que :

qE xt r← γ × qE xt r (5.21)

Des essais avecγ = 2 conduisaient à un nouvel échec lors du saut ainsi « accéléré », ce qui était contre-productif. Une valeur deγ = 1,25 procure de bonnes performances, identiques à son équivalent dans Abaqus/Standard pour les pas de temps.

2.7 Algorithme retenu

On résume l’ensemble des développements de cette version de sauts de cycles dans un algorithme 9 très proche de l’implémentation réalisée.

Algorithm 9: Stratégie non-intrusive de sauts de cycles

Input:∆c0: longueur de saut initiale,α : facteur de relaxation, ηs−1: sélection des éléments, cM ax: cycle maximum

while c ≤ cM axdo

- Calculs des solutions nécessaires à l’extrapolation for cB ase= 1 : 3 do

Résolution du modèle : y£cB ase× ∆tc ycl e¤ Incrément du nombre de cycle calculé : c = c + 1 end

- Construction des vecteurs de variables :Y[c],Y[c−1],Y[c−2], avec (5.2) - Procédure d’extrapolation par sauts de cycles :

— Calcul des variations entre les cycles de base :s−1ets−2 — Calcul des longueurs de sauts à chaque point de Gauss 8 :∆ ˜c

— Calcul de la longueur finale (8) ou du facteur d’extrapolation avec (5.14) : ∆c ou qE xt r(∆c0)

— Prédiction de la pente d’extrapolation avec (5.19)

— Calcul de la solution extrapolée avec (5.20) et implantation dans Abaqus/Standard

- Mise-à-jour du nombre de cycles obtenus : c = c + ∆c end

3 Illustrations numériques

Les applications numériques suivantes portent toujours sur le modèle monolithique de référence afin de constituer une base d’évaluations de la méthode des sauts de cycles. Les différents tests suivent deux études d’influences couplées entre le seuil de sélection des éléments et la méthode de calcul de la longueur de saut qui impactent les performances, mais surtout le facteur d’extrapolation comme rapporté dans le tableau 5.1.

Dans l’ensemble de ces essais numériques, on utilise les paramètres conduisant aux meilleures performances, comme montré dans la section précédente, c’est-à-dire un facteur de relaxation de 0.7 et un calcul du facteur d’extrapolation automatique pour obtenir une longueur de saut initiale de 2 cycles.

On restreint la visualisation des résultats à la zone locale du modèle de référence qui est intégré temporellement à∆pcut= 1e−4.

3.1 Facteur d’extrapolation

Il s’agit là du paramètre le plus important de la méthode des sauts de cycles et qui semble fluctuer de manière importante selon les cas d’applications. En outre, l’intro-duction de deux méthodes de calculs, motivée par les hétérogénéités des champs de la solution, le rend encore plus évolutif.

On récapitule dans le tableau 5.1 les différentes valeurs de qE xt r obtenues selon les seuils de sélection des éléments et la méthode de calcul utilisée pour retenir une longueur de saut commune à toute la structure.

Valeurs deη−1 qE xt r par minimum qE xt r en moyenne

1e−2 1,98 0.83

2e−3 — 0.13

1e−4 2.36 0.066

TABLE5.1 – Valeurs de qE xt r obtenues selon les essais

La figure 5.12 montre l’évolution des éléments sélectionnés en fonction du seuil ηs−1utilisé et cela pour le premier saut de chaque simulation. En effet, on constate que cette zone évolue avec la stabilisation de la structure. En outre, pour le premier saut ces zones sont identiques en espace, entre les calculs par le minimum ou la moyenne de la longueur de saut. En effet, seul le niveau des valeurs change selon le qE xt r appliqué, les valeurs obtenues conduisent toutes à un même saut initial de 2 cycles et sont basées sur les mêmes solutions, pour les trois premiers cycles.

(a)ηs−1= 1e−2 (b)ηs−1= 2e−3 (c)ηs−1= 1e−4