15
Mécanique & Industries 3 (2002) 63–77 Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaire Automatic time-stepping algorithms for implicit schemes in non-linear dynamics Ludovic Noels a , Laurent Stainier a , Jean-Philippe Ponthot a , Jérôme Bonini b a LTAS-MCT, Université de Liège, 1, chemin des Chevreuils, B-4000 Liège, Belgique b SNECMA Moteurs, Engineering Division, Centre de Villaroche, 77550 Moissy-Cramayel, France Reçu le 31 octobre 2000; accepté le 5 octobre 2001 Résumé Pour les problèmes caractérisés par de fortes non-linéarités, ainsi que des phénomènes d’impacts et de contacts, une stratégie d’intégration à pas de temps variables est particulièrement intéressante. Ces phénomènes sont par exemple rencontrés lors de l’étude dynamique d’une interaction aube-carter d’un moteur d’avion, le cas le plus critique étant la perte de l’aube. Une stratégie d’intégration implicite à pas de temps constant donne rarement satisfaction du fait qu’il est pratiquement impossible de déterminer une durée de pas qui ne conduise pas à la divergence ou à un coût de calcul prohibitif. Une gestion automatique du pas de temps, qui tient compte de l’histoire récente des accélérations dans le corps considéré, est proposée. En fait, l’algorithme est basé sur la mesure de l’erreur d’intégration des équations d’équilibre. Cela permet d’intégrer correctement les phénomènes transitoires avec un pas de temps très long (en régime) ou très petit (lors de la perte d’aube), en garantissant une bonne précision en un temps de calcul raisonnable. De plus, un algorithme qui décide automatiquement de recalculer ou non, la matrice hessienne est proposé. Cet algorithme permet d’éviter un nombre important de remises à jour de cette matrice, ce qui permet de réduire le coût de calcul tout en assurant la convergence. Enfin, un critère de divergence des itérations est proposé. Afin d’illustrer l’efficacité des algorithmes développés, des simulations numériques sont présentées. Il s’agit aussi bien de problèmes académiques que de problèmes industriels (contacts aubes carter). 2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved. Abstract Variable step strategies are especially well suited to deal with problems characterized by high non-linearity and contact/impact. Both phenomena are typical of dynamic simulations of the interactions between a turbine blade and its casing, the most dramatic example being blade loss. Coupled with an implicit time marching algorithm, constant step size strategies do not give satisfactory answer for this kind of problems, since it is very difficult, if not impossible, for the user to find an appropriate time step that does not lead to divergence nor generate extremely costly computations. An automatic time stepping algorithm is proposed, which takes into account the recent history of accelerations in the bodies involved. More precisely, the adaptation algorithm is based on estimators of the integration error of the differential dynamic balance equations. This allows for adaptation of the time step to capture correctly the transient phenomena, with characteristic times which can range from relatively long (in regime) to very short (blade loss), thus ensuring precision while keeping the computation cost to a minimum. Additionally, the proposed algorithm automatically takes decisions regarding the necessity of updating the tangent matrix or stopping the iterations, further reducing the computational cost. As an illustration of the capabilities of this algorithm, several numerical simulations of both academic and industrial (the contact/impact between a turbine blade and the casing) problems will be presented. 2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved. Mots-clés : Éléments finis ; Dynamique ; Implicite ; Non linéaire ; Pas de temps Keywords: Finite elements; Dynamic; Implicit; Non-linear; Time stepping; Automatic Adresses e-mail : [email protected] (L. Noels), [email protected] (L. Stainier), [email protected] (J.-P. Ponthot), [email protected] (J. Bonini). 1296-2139/02/$ – see front matter 2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved. PII:S1296-2139(01)01134-4

Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

  • Upload
    l

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

Mécanique & Industries 3 (2002) 63–77

Détermination automatique de la taille du pas de temps pour les schémasimplicites en dynamique non linéaire

Automatic time-stepping algorithms for implicit schemes in non-lineardynamics

Ludovic Noelsa, Laurent Stainiera, Jean-Philippe Ponthota, Jérôme Boninib

a LTAS-MCT, Université de Liège, 1, chemin des Chevreuils, B-4000 Liège, Belgiqueb SNECMA Moteurs, Engineering Division, Centre de Villaroche, 77550 Moissy-Cramayel, France

Reçu le 31 octobre 2000; accepté le 5 octobre 2001

Résumé

Pour les problèmes caractérisés par de fortes non-linéarités, ainsi que des phénomènes d’impacts et de contacts, une stratégie d’intégrationà pas de temps variables est particulièrement intéressante. Ces phénomènes sont par exemple rencontrés lors de l’étude dynamique d’uneinteraction aube-carter d’un moteur d’avion, le cas le plus critique étant la perte de l’aube. Une stratégie d’intégration implicite à pas detemps constant donne rarement satisfaction du fait qu’il est pratiquement impossible de déterminer une durée de pas qui ne conduise pas à ladivergence ou à un coût de calcul prohibitif. Une gestion automatique du pas de temps, qui tient compte de l’histoire récente des accélérationsdans le corps considéré, est proposée. En fait, l’algorithme est basé sur la mesure de l’erreur d’intégration des équations d’équilibre. Celapermet d’intégrer correctement les phénomènes transitoires avec un pas de temps très long (en régime) ou très petit (lors de la perte d’aube),en garantissant une bonne précision en un temps de calcul raisonnable. De plus, un algorithme qui décide automatiquement de recalculerou non, la matrice hessienne est proposé. Cet algorithme permet d’éviter un nombre important de remises à jour de cette matrice, ce quipermet de réduire le coût de calcul tout en assurant la convergence. Enfin, un critère de divergence des itérations est proposé. Afin d’illustrerl’efficacité des algorithmes développés, des simulations numériques sont présentées. Il s’agit aussi bien de problèmes académiques que deproblèmes industriels (contacts aubes carter). 2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved.

Abstract

Variable step strategies are especially well suited to deal with problems characterized by high non-linearity and contact/impact. Bothphenomena are typical of dynamic simulations of the interactions between a turbine blade and its casing, the most dramatic example beingblade loss. Coupled with an implicit time marching algorithm, constant step size strategies do not give satisfactory answer for this kindof problems, since it is very difficult, if not impossible, for the user to find an appropriate time step that does not lead to divergence norgenerate extremely costly computations. An automatic time stepping algorithm is proposed, which takes into account the recent history ofaccelerations in the bodies involved. More precisely, the adaptation algorithm is based on estimators of the integration error of the differentialdynamic balance equations. This allows for adaptation of the time step to capture correctly the transient phenomena, with characteristic timeswhich can range from relatively long (in regime) to very short (blade loss), thus ensuring precision while keeping the computation cost toa minimum. Additionally, the proposed algorithm automatically takes decisions regarding the necessity of updating the tangent matrix orstopping the iterations, further reducing the computational cost. As an illustration of the capabilities of this algorithm, several numericalsimulations of both academic and industrial (the contact/impact between a turbine blade and the casing) problems will be presented. 2002Éditions scientifiques et médicales Elsevier SAS. All rights reserved.

Mots-clés : Éléments finis ; Dynamique ; Implicite ; Non linéaire ; Pas de temps

Keywords: Finite elements; Dynamic; Implicit; Non-linear; Time stepping; Automatic

Adresses e-mail : [email protected] (L. Noels), [email protected] (L. Stainier), [email protected] (J.-P. Ponthot), [email protected](J. Bonini).

1296-2139/02/$ – see front matter 2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved.PII: S1296-2139(01 )01134-4

Page 2: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

64 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

Nomenclature

b force volumique . . . . . . . . . . . . . . . . . . . . . N·m−3

B matrice dérivée des fonctions de formeCO limite du compteur pour la réduction du pas de

tempsCT limite du compteur pour l’augmentation du pas

de tempsCT matrice tangente d’amortissement . . . . N·s·m−1

f vecteur des forces de surface . . . . . . . . . . N·m−2

e erreur d’intégrationERRO erreur d’intégration maximale des derniers pas

avant réduction du pasERRT erreur d’intégration maximale des derniers pas

avant augmentation du pasF int vecteur des forces internes . . . . . . . . . . . . . . . . . NF ext vecteur des forces externes . . . . . . . . . . . . . . . . NKT matrice tangente de raideur . . . . . . . . . . . N·m−1

M matrice des masses . . . . . . . . . . . . . . . . . . . . . . . kgN matrice des fonctions de formesPRCU tolérance sur l’erreur d’intégrationr résidu non dimensionnel de l’équation

d’équilibreR vecteur résidu . . . . . . . . . . . . . . . . . . . . . . . . . . . . NRAPRES rapport entre deux résidus non dimensionnels

successifsRAT ratio entre deux pas de tempsRDOWN rapport entre deux pas de temps lorsqu’il y a

divergenceREJL rreur maximale d’intégration toléréeS matrice hessienne . . . . . . . . . . . . . . . . . . . . N·m−1

S(t) surface courante du corps . . . . . . . . . . . . . . . . m2

S0 surface initiale du corps . . . . . . . . . . . . . . . . . . m2

SEUIL erreur d’intégration sous laquelle la taille du paspeut être augmentée

t temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sV (t) volume courant du corps . . . . . . . . . . . . . . . . . m3

V0 volume initial du corps . . . . . . . . . . . . . . . . . . . m3

VALRF rapport du coût d’une itération avecréactualisation de la matrice hessienne et du coûtsans réactualisation

x vecteur des positions nodales . . . . . . . . . . . . . . mx vecteur des vitesses nodales . . . . . . . . . . . m·s−1

x vecteur des accélérations nodales . . . . . . . m·s−2

αM premier paramètre libre de pondération du termed’inertie dans l’intervalle[tn, tn+1]

αF deuxième paramètre libre de pondération desforces dans l’intervalle[tn, tn+1]

β premier paramètre de Newmarkγ second paramètre de Newmarkt pas de temps :t = tn+1 − tnsδ seuil de tolérance du résidu non dimensionnelr

ε erreur d’intégration d’un système linéaire à undegré de liberté

η paramètre pour modifier la taille du pas de tempsρ masse volumique courante du système. kg·m−3

ρ0 masse volumique initiale du système . . kg·m−3

σ tenseur des contraintes de Cauchy . . . . . N·m−2

ω pulsation d’un système linéaire à un degré deliberté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s−1

Ω pulsation non dimensionnelle= ωt

1. Introduction

Les problèmes non linéaires intégrés dans le temps peu-vent être résolus par deux types d’algorithmes : les impliciteset les explicites. Pour les algorithmes explicites, les élémentsde la solution au tempstn+1 ne dépendent que de la solutionau tempstn, alors que pour un algorithme implicite, ils dé-pendent aussi (implicitement) d’autres éléments provenantde la solution au tempstn+1 elle même. Dès lors, le pro-blème doit être résolu itérativement. La nécessité d’avoir unschéma stable (amortissement positif d’une perturbation ini-tiale) impose des restrictions pour ces deux familles d’algo-rithme. En effet, moyennant un choix adapté des paramètresd’intégration, la durée du pas de temps peut être beaucoupplus grande pour un schéma implicite que pour un schémaexplicite. Le nombre total de pas de temps est alors plusfaible, et malgré un coût de calcul plus important par pas(venant de l’inversion de la matrice hessienne et du nombred’itérations par pas), le temps de calcul est généralementplus faible pour un schéma implicite. Si le pas de temps

est choisi trop petit, le temps de calcul devient très onéreux,alors que si il est choisi trop grand, la solution obtenue n’estpas assez précise ou le calcul diverge (lors de la résolutiondes équations d’équilibre). Dès lors la durée du pas de tempsdoit être judicieusement choisie. Et puisque le problème évo-lue avec le temps, le pas de temps doit évoluer avec le pro-blème. Un schéma de gestion automatique est donc la seulesolution conduisant à une précision acceptable en un tempsde calcul réduit.

Pour un problème industriel, dont le nombre de degrésde liberté est important, l’opération la plus coûteuse de l’al-gorithme implicite est l’évaluation et l’inversion de la ma-trice hessienne. Lorsque le problème est non linéaire, cettematrice évolue à chaque itération, mais les itérations deNewton–Raphson peuvent parfois converger même si l’an-cienne matrice inversée est utilisée. Cependant, il est né-cessaire de recalculer et d’inverser régulièrement la matricehessienne sous peine de divergence des itérations. Dans unestratégie habituelle, cette réactualisation a lieu pour chaquepremière itération d’un nouveau pas et pour des numéros

Page 3: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 65

d’itérations choisis par l’utilisateur. Mais si cette réactuali-sation n’a pas lieu assez souvent, le problème diverge, alorsque dans le cas contraire, le coût de calcul est beaucoup plusélevé. Puisque le problème évolue avec le temps, un algo-rithme qui choisit si la matrice doit être réactualisée ou nonpermet d’économiser un temps de calcul important.

Même si la matrice hessienne est régulièrement recalcu-lée, les itérations peuvent quand même diverger. Le pas detemps doit alors être rejeté puis réduit. Un problème est dedéterminer le moment où les itérations divergent. La diver-gence peut provenir d’un jacobien négatif. Dans ce cas, ledétection de cette divergence est triviale. Mais même si lejacobien reste positif, la convergence n’est pas assurée. Eneffet, il n’existe aucune garantie quant à la décroissance durésidu. Dans ce cas, la détection de la divergence est plus dif-ficile. Classiquement, l’utilisateur fournit un nombre maxi-mum d’itérations au-delà duquel le processus est considérécomme ayant divergé. Si ce nombre maximal est trop grand,certaines itérations sont inutiles quand la divergence a eu lieuaprès quelques itérations. Par contre, s’il est trop petit, un paspeut-être rejeté alors que le problème converge lentement. Ilest dès lors intéressant de déterminer la divergence en fonc-tion de l’évolution du résidu. Cela est d’autant plus vrai quele nombre maximum d’itérations perd de son sens quand lamatrice hessienne n’est pas remise à jour à chaque itération.En effet, le nombre d’itérations qui amène la convergencedépend du nombre de remise à jour.

Cette contribution propose une gestion automatique de ladurée du pas de temps basée sur la mesure de l’erreur d’in-tégration. L’algorithme présenté modifie la durée du pas detemps seulement si des changements physiques et durablesse produisent dans l’évolution du problème. L’estimation del’erreur est rendue indépendante des paramètres, ainsi quedu schéma d’intégration utilisés. Trois estimateurs de l’er-reur sont comparés. Un algorithme décidant si la matricehessienne doit être réévaluée et inversée est alors proposé.Le critère de décision est basé sur l’évolution du résidu avecles itérations. Enfin, un critère de divergence, aussi basé surl’évolution du résidu, est implémenté. Des problèmes acadé-miques ainsi qu’industriels sont alors présentés afin d’illus-trer l’efficacité des algorithmes proposés.

2. Intégration numérique des problèmes transitoires

2.1. Équations d’équilibre

La modélisation du type éléments finis (discrétisationspatiale), conduit à un système couplé d’équations dudeuxième ordre [1–5] :

R = Mx + F int(x, x)− F ext(x, x) = 0 (1)

où R est le vecteur résidu,x le vecteur des positionsnodales,x le vecteur des vitesses nodales etx le vecteurdes accélérations nodales.M est la matrice des masses,F int

le vecteur des forces internes résultant de la déformation

du corps etF ext le vecteur des forces extérieures. Cesdeux vecteurs sont non linéaires enx et en x à cause desphénomènes de plasticité, de contact ou encore des non-linéarités géométriques.

Le système d’équations (1) est complété par les deuxsystèmes de conditions initiales du temps zéros :

x0 = x(t0) et x0 = x(t0) (2)

Les forces internes et externes sont définies par (N est lamatrice des fonctions de forme etB sa dérivée) :

F int(x, x) =∫

V (t)

[B]Tσ dV (3)

F ext(x, x) =∫

V (t)

ρ[N]TbdV +∫

S(t)

[N]Tf dS (4)

L’expression (4) regroupe tous les types de charges (ap-pliquées directement ou provenant de déplacements imposésou encore de contacts), et la matrice consistante des massess’écrit :

M =∫

V (t)

ρ[N]T[N]dV =∫V0

ρ0[N]T[N]dV0 (5)

2.2. Schéma implicite : le schéma α-généralisé du trapèze

Le schéma le plus répandu pour intégrer (1) est le schémagénéralisé du trapèze [1,2,6]. Dans ce schéma, les positionset les vitesses sont calculées à partir d’une accélérationmoyenne obtenue à partir des accélérations au tempstn etau tempstn+1. Il vient donc :

xn+1 = xn + (1− γ )txn + γtxn+1 (6)

xn+1 = xn +txn +(

1

2− β

)t2xn + βt2xn+1 (7)

ou, écrit autrement :

xn+1 = 1

βt2

[xn+1 − xn −txn

−(

1

2− β

)t2xn

](8)

xn+1 = γ

βt

[xn+1 − xn +

γ− 1

)txn

+(β

γ− 1

2

)t2xn

](9)

Le système d’équations se réécrit sous une forme intro-duite par Chung et Hulbert [6] :

Rn,n+1 = 1− αM

1− αF

Mxn+1 + αM

1− αF

Mxn

+ (F intn+1 − F ext

n+1

)+ αF

1− αF

(F intn − F ext

n

)= 0 (10)

Des choix particuliers des paramètres conduisent auxschémas bien connus [1,2,6] :

Page 4: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

66 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

• αM = αF = 0 pour le schéma de Newmark,• αM = 0 pour le schéma de Hilber–Hughes–Taylor,• αF = 0 pour le schéma de Wood–Bossak–Zienkiewicz.

La stabilité inconditionnelle des schémas, ainsi qu’uneprécision au second ordre, est acquise pour les problèmeslinéaires [1,2,6] si :

γ ≥ 1

2− αM + αF

αM ≤ αF ≤ 1

2

β ≥ 1

4(1+ αF − αM)2

(11)

Ces lois réécrites pour le schéma de Newmark donnent :γ ≥ 1

2β ≥ 1

4

(γ + 1

2

)2(12)

Les schémas classiques nécessitent 0< αF < 1/2 (c’est-à-dire évaluer les forces dans l’intervalle[tn, tn+1]), maisil n’existe pas de loi similaire pourαM , le terme depondération des forces d’inerties : il peut même être négatif,il s’agit alors d’extrapoler au delà du tempstn+1 plutôt qued’interpoler.

La résolution itérative du système (10) nécessited’abord l’élimination des accélérations et des vitesses dutempstn+1 à partir des relations (8) et (9). Il faut alors définirla matrice hessienne :

S =[

1

βt2

(1− αM

1− αF

)M + γ

βtCT +KT

](13)

où KT,CT sont respectivement la matrice tangente desraideurs et la matrice d’amortissement. Elles sont définiespar :

KT = ∂

∂x

(F int − F ext) (14)

CT = ∂

∂x

(F int − F ext) (15)

Le résidu de l’itérationi + 1 se défini par :

R = 1− αM

1− αF

Mxin+1 + αM

1− αF

Mxn

+ (F int(xi

n+1, xin+1

)− F ext(xin+1, x

in+1

))+ αF

1− αF

(F intn − F ext

n

)(16)

En utilisant les relations (13) à (16) et une techniquede Newton–Raphson, la résolution itérative du système(8)–(10) peut s’écrire :

S ·x = −R (17)

Les itérations sont arrêtées quand le résidu adimensionnelr

devient inférieur au seuil de toléranceδ défini par l’utilisa-teur. La relation suivante est alors vérifiée :

r = ‖R‖‖F ext‖ + ‖F int‖ < δ (18)

2.3. Schéma implicite : le schéma θ -généralisé du pointmilieu (SMG)

Une alternative aux schémas précédents est un schémadu point milieu pour lequel l’accélération est constante sur lepas de temps [3–5]. Dans ce cas les équations du mouvement(1) sont résolues au temps :tn+θ = tn + θ(tn+1 − tn) avecθ > 0, c’est à dire :

Rθ = Mxn+θ + F int(xn+θ , xn+θ )− F ext(xn+θ , xn+θ )

= 0 (19)

xn+θ = 2

(θt)2[xn+θ − xn − θtxn] (20)

xn+θ = 2

θt

[xn+θ − xn − θt

2xn

](21)

La solution itérative du système non linéaire (19) néces-site l’évaluation de la matrice hessienne du système donnéepar :

S =[

2

(θt)2M + 2

θtCT +KT

](22)

Précisons quelques différences entre le schémaθ -SMG etles schémas de la famille-α :

• Toutes les forces (même celles de contacts) sont exacte-ment estimées au tempstn+θ plutôt que d’être moyen-nées entre les valeurs des tempstn et tn+1 commedans (10).

• Ce schéma est indépendant dexn, l’accélération finaleprovient d’un post traitement de (19) :

xn+1 = xn+1 − xn

t= xn+θ

• Pourθ = 1, le schémaθ -SMG correspond à un schémade Newmark avecγ = 1 et β = 0,5. Ce schéma estconditionnellement stable avec un fort amortissementnumérique. Cependant, ce schéma s’est montré efficacequand le paramètreθ a été choisi supérieur à l’unité,c’est-à-dire lorsque l’évaluation des forces se fait horsde l’intervalle[tn, tn+1].

3. Contrôle automatique de la durée du pas de temps

3.1. Introduction

Une méthode relativement simple proposée par Ponthot[3] repose sur un nombre optimal d’itérations. Si le nombred’itérations dépasse ce nombre optimal d’itérations, la du-rée du nouveau pas de temps est réduite alors que dans lecas contraire, la durée est augmentée. Givoli et Henisberg[7] proposent de modifier la durée du pas de temps pourgarder la différence entre deux positions successives infé-rieure à une limite donnée. Géradin [8] (Fig. 1) estime l’er-reur d’intégration à partir du saut d’accélération et du saut

Page 5: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 67

Fig. 1. Gestion du pas de temps proposé par Géradin [8].

Fig. 1. Time step size control proposed by Géradin [8].

d’inertie entre deux temps successifs multipliés par le carrédu pas de temps. Cette erreur est divisée par une constantedépendant des positions initiales et par l’erreur moyenned’un système linéaire à un degré de liberté (définie comme àla section 3.2). Le résultat est l’erreur d’intégratione uti-lisée. L’erreur doit être inférieure à une tolérance donnée(PRCU). Si elle est plus grande, le pas est rejeté et sa du-rée est divisée par deux. Si l’erreur est inférieure à la to-lérance mais supérieure à sa moitié, le pas est accepté etdivisé par le rapport, à la puissance un tiers, entre l’erreuret la demi tolérance. Si l’erreur est inférieure au seizièmede la tolérance, le pas de temps est doublé. Pour Cassanoet Cardona [9], le contrôle du pas de temps est le mêmeque pour Géradin, mais l’erreur n’est calculée qu’à partirdu saut d’accélération et n’est pas adimensionalisée par uneconstante (positions initiales) mais par un terme évoluantavec le temps. Hulbert et Jang [10] (Fig. 2) estiment l’er-reur à partir du saut d’accélération multiplié par le carré dupas de temps. L’erreur est divisée par un terme qui dépendde la différence des positions. Le contrôle du pas est carac-térisé par deux paramètres (TOL1 et TOL2) et par un comp-

Fig. 2. Gestion du pas de temps proposé par Hulbert et Jang [10].

Fig. 2. Time step size control proposed by Hulbert and Jang [10].

teur d’index maximalLCOUNT. Si l’erreur est supérieureà TOL2, le pas de temps est rejeté et sa durée réduite. Sil’erreur est inférieure àTOL2 mais supérieure àTOL1, lepas est accepté et sa durée est gardée constante. Si l’erreurest inférieure àTOL1, le pas est accepté. Si cela se produitLCOUNT fois successivement, la durée du pas est augmen-tée. Le compteur évite des changements indésirables du pasprovenant de la nature périodique de l’erreur. Dutta et Rama-krishnan [11] calculent aussi l’erreur à partir du saut d’ac-célération multiplié par le carré du pas de temps. Elle estadimensionalisée par la norme maximale du vecteur posi-tion pour les précédents pas. L’intervalle temporel est diviséen sous-domaines regroupant chacun un certain nombre depas de temps de taille constante. Chaque fois que tous lespas de temps d’un sous-domaine ont été calculés, une er-reur moyenne de ce sous-domaine est calculée. Cette erreurmoyenne permet de calculer le pas de temps pour le sous-domaine suivant.

L’algorithme de contrôle automatique du pas de tempsproposé ici est basé sur le schéma de Géradin [8]. Néan-moins, pour tenir compte des non-linéarités du problème,le pas de temps n’est modifié que si des changements phy-

Page 6: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

68 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

siques et durables du problème interviennent. Ainsi, le pasne réagit pas à des modes numériques. Le pas de tempsdéterminé est alors constant pour plusieurs pas successifs.De plus, l’estimateur de l’erreur basé sur le saut des forcesd’inerties (proposé par Géradin [8] et basé sur des problèmeslinéaires) est comparé à un estimateur basé sur le saut d’ac-célération (établi en toute généralité). Il apparaîtra que pourdes problèmes non linéaires, une théorie linéaire n’est plustoujours adéquate.

3.2. Estimateur de l’erreur

L’estimation de l’erreur provient de l’erreur de troncaturedes équations (6) et (7) ou (20) et (21). En effet, l’erreur dudéveloppement est du troisième ordre :

e = O

(1

6t3 ˙x

)≈ O

(1

6t2x

)

Il vient donc :

e = t2

6‖x‖ (23)

Dans un premier temps, cette erreur doit être rendue indé-pendante du problème. Elle est donc adimensionalisée (x0

est le vecteur des positions initiales) :

e = t2

6‖x0‖‖x‖ (24)

Afin d’obtenir un estimateur de l’erreur d’intégration quipuisse être utilisé pour tous les schémas (le schémaα-généralisé du trapèze ou le schémaθ -généralisé du pointmilieu (SMG)), ainsi que pour tout choix des paramètresd’intégration (αF , αM, β, γ ou θ ), et ce sans modifier latolérance sur l’erreur (section 3.3), l’expression (24) doitêtre divisée par une référence. Cette référence est l’erreurmoyenne (sur une période) pour un système linéaire àun degré de liberté. Pour un pas de temps constant, endéfinissant la pulsationω, la pulsation adimensionnelle estalors donnée parΩ = ωt . Les équations (8) à (10) peuventse réécrire pour ce problème :

xn+1 = xn +txn +

(1

2− β

)t2xn + βt2xn+1

xn+1 = xn + (1− γ )txn + γtxn+1(1− αM)xn+1 + αMxn + (1− αF )ω

2xn+1+ αF xn = 0

(25)

ou encore :(xn+1

txn+1t2xn+1

)= A(Ω)

(xn

txnt2xn

)(26)

avec :

A(Ω)= 1

D(Ω)

·

1− αM − 1− αFΩ2β

1− αM (1− αM − 2β)/2

−γΩ2 (1− αF )(β − γ )Ω2

+ 1− αM1− γ − αM

+Ω2(β − γ/2)(1− αF )

−Ω2 (αF − 1)Ω2 −αM + (1− αF )· (β − 1/2)Ω2

où :

D(Ω) = 1− αM + (1− αF )Ω2β

Finalement, il vient :(x

tx

t2x

)= [

A(Ω)− I]( x0 cos(ωt)

−Ωx0 sin(ωt)−Ω2x0 cos(ωt)

)(27)

Enfin l’expression (24) pour un système linéaire à un degréde liberté s’écrit :

e = ‖t2x‖6‖x0‖

= (1− αF )Ω2‖sin(ωt) +Ω cos(ωt)/2‖

6(1− αM + (1− αF )Ω2β)(28)

La référence est l’erreur moyenne pour une période, elle estnotéeε et s’écrit :

ε = ω

t=2π/ω∫t=0

edt (29)

En utilisant l’expression (28) dans la définition (29), laréférence s’écrit :

ε(Ω)= (1− αF )Ω3√

1+Ω2/4

3π[1− αM + (1− αF )Ω2β] (30)

Si αM = 0, la relation calculée par Géradin [8] pour leschéma HHT est retrouvée. L’expression (30) est établiepour le schémaα-généralisé du trapèze, pour le schémaθ -généralisé du point milieu (SMG), le système (25) estremplacé par :xn+1 = xn +txn + t2

2xn+θ

txn+1 = txn +t2xn+θ

t2xn+1 = t2xn+θ

(31)

avec :xn+θ = xn + θtxn + θ2t2

2xn+θ

txn+θ = txn + θt2xn+θ

xn+θ +ω2qn+θ = 0

Dès lors, la matriceA(Ω) dans l’expression (26), (27)devient :

A(Ω) = 2

2+ θ2Ω2

·(1+Ω2(θ2 − 1)/2 1+Ω2(θ2 − θ)/2 0

−γΩ2 1+Ω2(θ2 − 2θ)/2 0−Ω2θ2 −Ω2θ 0

)

(32)

Page 7: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 69

Enfin, l’erreur de référence (30) se réécrit :

ε(Ω) = Ω2√

[θ2Ω2 + 2(1− θ2)]2 + 4θ2Ω2

3π[2+ θ2Ω2] (33)

L’erreur (24) est alors divisée parε (expression (30)ou (33)) pour avoir une expression indépendante du schémautilisé. Cependant,Ω doit être connu pour pouvoir estimerε. Pour un système linéaire à un degré de liberté, dixpas de temps représentent avec une bonne précision unepériode. Dès lors la pulsation adimensionnelle de référencecorrespondant à une fréquence de 0,1 Hz est donnée parΩk = 0,6, et il vient en utilisant (24) :

e1 = t2

6ε(Ωk)‖x0‖‖x‖ (34)

Pour des système linéaire, Géradin a démontré [8] quel’erreur peut être évaluée par l’expression suivante :

e2 = t2

6ε(Ωk)[xT0Mx0]1/2

[xT(Mx)

]1/2(35)

Cette dernière expression est similaire à la relation (34)mais cette fois la différence des force d’inertie est utiliséepréférentiellement à la différence des accélérations. Cetteerreur permet de filtrer les modes de hautes fréquences(comme les modes numériques). Cependant, en non linéaire,aucun avantage n’a été observé (cas académiques 1 et 2) parrapport à l’expression (34). Une autre possibilité, consiste àgarder le terme de module maximum plutôt que le moduledu vecteur (Cassano et Cardona [9]), pour évaluer l’erreur.L’erreur e3 est alors définie par (nddl étant le nombre dedegrés de liberté) :

e3 = t2

6ε(Ωk)maxj=1,nddl(x0)jmax

i=1,nddl(x)i (36)

Ces trois indicateurs de l’erreur seront comparés dans lesapplications numériques.

3.3. Contrôle de la durée du pas de temps

L’erreur obtenue doit être de l’ordre de grandeur d’unetolérance définie par l’utilisateur. Celle-ci est notéePRCU.Une valeur de cette tolérance égale à un millième amène engénéral un bon compromis précision–prix. Une faible valeurde PRCU amène une bonne précision des calculs mais untemps de calcul important. Une valeur plus élevée dePRCUdonne une moins bonne précision, mais le temps de calculest réduit. Si la tolérancePRCU est trop grande, le pas detemps amène une erreur inférieure àPRCU, mais ne permetpas aux itérations de converger au pas suivant. Dès lors siun problème de convergence apparaît (Fig. 3), l’algorithmepasse à la boîte 1 et réduit automatiquementPRCU (Fig. 4).De plus, la durée du pas de etmps est divisée parRDOWNqui peut valoir 3 par défaut. Après plusieurs itérations,cette valeur peut être ré-augmentée si aucun problème deconvergence n’est survenu.

Fig. 3. Test de convergence des itérations.

Fig. 3. Iterations convergence test.

Fig. 4. Description de la boîte 1, gestion du pas lors de la divergence desitérations.

Fig. 4. Description of box 1, step size control when iterations diverge.

Fig. 5. Description de la boîte 2, gestion du pas lors de la convergence desitérations.

Fig. 5. Description of box 2, step size control when itrations converge.

Si les itérations convergent, l’algorithme passe à la boîte2 et essaye d’ajuster la durée du pas de temps pour avoir uneerreur égale à la moitié dePRCU. Trois possibilités peuventse présenter (Fig. 5) :

• L’erreur est supérieure àPRCU/2. Elle est considéréecomme étant trop grande. Afin d’assurer une bonneprécision, la durée du pas de temps suivant doit êtreréduite. L’algorithme passe à la boîte 3.

• L’ erreur est dans l’intervalle [SEUIL; PRCU/2]. Lataille du pas de temps permet d’avoir une bonne pré-cision en un temps de calcul court. L’algorithme passe àla boîte 4.

• L’erreur est inférieure à une limiteSEUIL. Elle estconsidérée comme étant trop petite. Afin de s’assurerque le temps de calcul reste réduit, la durée du pas doitêtre augmentée. L’algorithme passe à la boîte 5.

Page 8: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

70 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

Fig. 6. Description de la boîte 3, gestion du pas lorsque l’erreur est tropgrande.

Fig. 6. Description of box 3, step size control when error is too large.

Examinons dans un premier temps (boîte 3) le cas oùl’erreur est trop grande (Fig. 6). La taille du pas de tempssuivant doit alors être réduite. Cependant, afin d’éviter deschangements inutiles du pas, nous nous assurons que lavariation de l’erreur provient d’une évolution physique etdurable du problème. Le pas de temps est alors réduitseulement après un nombre (CO) de pas successifs quiamènent une erreur supérieure àPRCU/2. Ce nombreCOpeut être pris égal à trois. Le facteur de réduction du pasdépend de l’erreur maximale (ERRO) desCO pas successifs.Géradin [8] a démontré que pour un système linéaire à undegré de liberté, le facteur qui doit multiplier le pas de tempspour ramener l’erreure à PRCU/2, s’écrit :

RAT =[

PRCU

2e

]1/η

η ∈ [2,3] (37)

Pour des systèmes non linéaires,η peut sortir de cetintervalle. Pour s’assurer que le pas est suffisamment réduit,η est pris plus petit que deux. Le facteur qui multipliela durée du pas est alors :RAT = [0,5PRCU/ERRO]2/3.Cependant, s’il survient un changement rapide dans laphysique du problème (comme une prise de contact, unimpact. . .), le pas de temps n’est pas immédiatement adaptéà cause du compteur. C’est pourquoi, si l’erreure estsupérieure àPRCU, la durée du pas est immédiatementréduite. Elle est multipliée parRAT = [0,5PRCU/e]2/3.Enfin, si l’erreure est supérieur à une limiteREJL, le pasest rejeté (alors que dans les cas précédents il était accepté)

Fig. 7. Description de la boîte 4, gestion du pas lorsque l’erreur est dans lebon intervalle.

Fig. 7. Description of box 4, step size control when error is correct.

Fig. 8. Description de la boîte 5, gestion du pas lorsque l’erreur est troppetite.

Fig. 8. Description of box 5, step size control when error is too small.

et le nouveau pas est réduit par un facteur égal àRAT =[0,5PRCU/e]2/3. La limite REJL peut être prise égale à1,5PRCU.

Si l’erreur est plus petite quePRCU/2 mais plus grandequeSEUIL (boîte 4), la durée du pas est gardée constante(Fig. 7). Une discussion sur la valeur deSEUIL est donnéeau paragraphe suivant.

Examinons maintenant le cas de la boîte 5 pour laquellel’erreur est trop petite (Fig. 8). La durée du pas peut êtreaugmentée sans dégrader la précision de la solution. Afind’éviter des modifications inutile, un autre compteur estintroduit. SiCT pas successifs amènent une erreur inférieureà SEUIL, la durée du pas est alors augmentée. SoitERRTl’erreur maximale desCT pas. Pour ne pas augmentertrop la durée du pas, l’exposantη de l’équation (37) estpris supérieur à trois. Le facteur multipliant la durée dupas est alorsRAT = [0,5PRCU/ERRT]1/5. Un inconvénientde l’introduction du compteur apparaît quand la physiquedu problème s’adoucit (les forces externes diminuent. . .).

Page 9: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 71

En effet, SEUIL est pris petit (PRCU/16 par exemple),et CT relativement grand (5 par exemple) pour assurerune bonne précision. Dans ces conditions, la durée du pasaugmente lentement. Pour diminuer le coût des calculs,SEUIL peut être augmenté (multiplié par 1,3 par exemple)et CT diminué (à 4 puis 2 pas exemple) quand la durée dupas augmente. Bien entendu, une fois que la durée du pasdoit être réduite, les paramètresSEUIL etCT reprennent leurvaleur initiale, à savoir respectivementPRCU/16 et 5. Danscertains problèmes (translation à vitesses constante), l’erreurest nulle. Pour éviter une division par zéros,ERRT est limité(à SEUIL/10 par exemple).

Pour compléter le schéma (boîtes 1–5), il faut remarquerque : Les paramètresICO et ERRO sont réinitialisés à leursvaleurs initiales si le schéma passes par la boîte 1, 4 ou 5, etles paramètresICT et ERRT aussi si le schéma passe par laboîte 1, 3 ou 4.

4. Remise à jour de la matrice hessienne

Pour les problèmes non linéaires, lorsque la matrice hes-sienne n’est pas remise à jour, les itérations convergent pluslentement que quand la matrice hessienne est réactualisée àchaque itération [12]. Pour certains pas, le phénomène dedivergence peut même se produire. Dès lors, le critère de ré-actualisation doit considérer deux faits :

• La convergence des itérations doit être assurée.• Ne pas réadapter la matrice hessienne doit réduire

le coût total des calculs. En fait, un petit problèmeavec de fortes non linéarités peut converger en un trèspetit nombre d’itérations quand la matrice hessienneest recalculée et inversée à chaque itération mais enbeaucoup plus d’itération dans le cas contraire. Quand lenombre de degré de liberté est réduit, une itération sansréactualisation n’est pas fortement moins chère qu’uneavec réactualisation. Le coût total des calculs est alorsmoins élevé quand il y a de fréquentes réactualisations.D’autre part, si le problème présente un grand nombrede degrés de liberté et seulement quelques éléments nonlinéaires, réduire le nombre de réactualisations diminuefortement le coût des calculs.

L’évolution du résidu adimensionnelr (18), peut indiquersi le problème converge ou pas. Tant quer diminue avecles itérations, le problème converge même si la matrice hes-sienne n’a pas été remise à jour. Un indicateur pour savoirs’il est intéressant de recalculer la matrice hessienne ou nonest le rapportVALRF entre le temps nécessaire à une itéra-tion avec remise à jour de la matrice hessienne, et le tempsnécessaire à une itération sans remise à jour de cette matrice.Ce rapport indique le nombre d’itérations sans réactualisa-tion qui peuvent être avantageusement remplacées par uneitération avec réactualisation. Cette valeur est un entier (li-mité entre 2 et 15 par exemple).

L’algorithme proposé est le suivant :

• La matrice hessienne est recalculée à la première itéra-tion si la taille du pas de temps a changé. Effectivement,S dépend det (13). La variation introduite dans la ma-trice hessienne risque fortement d’altérer la convergencedes itérations.

• Si le numéro de l’itération est supérieur àVALRF,elle s’effectue avec une remise à jour de la matricehessienne. Dès lors les itérations se font sans remise àjour, seulement si cela revient moins cher. Si le numérode l’itération est inférieur àVALRF, la matrice hessienneest recalculée si le résidu non dimensionnelr n’a pas étémultiplié par un rapport égal àRAPRES = VALRF/10∈[0,2;0,95].

• Si le résidu non dimensionnelr n’a pas été divisé parRAPRES, l’itération suivante se fait avec remise à jourde la matrice hessienne. Idéalement, cette itération re-part des valeurs initiales (x, x, x), non pas de l’itérationprécédente, mais bien de la pénultième itération. Cer-taines divergences des itérations sont alors évitées. Ce-pendant, pour des raisons pratiques, cette dernière re-marque n’a pu être implémentée dans MECANO [13],un des logiciels ayant servi à valider les algorithmes pro-posés. Dès lors, la solution suivante a été adoptée : si lerésidu adimensionnel n’a pas été réduite, l’itération sui-vante se produit avec réactualisation, mais à partir desvaleurs de prédiction.

• Si une itération ayant un numéro compris dans l’inter-valle ]1; VALRF[ doit se faire avec réactualisation, lesitérations suivantes se font avec réactualisation. Ne pasréactualiser risque de conduire à une stratégie qui di-verge, ou qui converge avec un coût de calcul plus im-portant qu’en réactualisant.

• Enfin, si la dernière itération du pas précédent s’est faiteavec réactualisation, la première itération se fait aussiavec réactualisation.

Cet algorithme évite ainsi un certain nombre de remisesà jour inutiles et d’inversions de la matrice hessienne. Pourles petits problèmes avec de fortes non-linéarités, cet algo-rithme reste au pire au même coût qu’un algorithme avecune réactualisation à chaque itération. Pour les problèmesavec plus de degrés de liberté, cet algorithme est moins cherqu’un algorithme avec lequel l’utilisateur décide, plus oumoins arbitrairement, des numéros d’itérations avec remiseà jour. En fait, l’algorithme proposé évite, tant que possible,les remises à jour mais réactualise quand cela est néces-saire.

5. Critère de divergence

Deux cas de divergences existent. Le premier est qu’unélément voit son jacobien devenir négatif. Dans ce cas la dé-tection de la divergence est évidente, il suffit de vérifier les

Page 10: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

72 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

jacobiens. Un problème plus délicat à résoudre est d’iden-tifier la divergence lorsque les jacobiens restent positifs,mais que l’évolution des résidus des itérations de Newton–Raphson ne conduit pas à un résidu inférieur à la tolérancesouhaitée. Habituellement, l’utilisateur décide d’un nombremaximal d’itérations. Si, une fois ce nombre atteint, le résiduadimensionnelr n’est pas devenu inférieur à la toléranceδ,le pas est rejeté et sa durée est réduite. Mais lorsque le ré-sidu diminue lentement, le nombre maximal d’itérations estdépassé avant quer devienne inférieur àδ. D’autre part, lesitérations peuvent diverger après quelques itérations. Les ité-rations suivantes (jusqu’au nombre maximal) sont alors in-utiles. Enfin, si le problème est résolu sans remise à jour dela matrice hessienne à chaque itération, le nombre d’itéra-tions est plus important que s’il y a remise à jour à chaqueitération. Une solution consiste à considérer qu’il y a diver-gence si après cinq itérations successives avec remise à jour,le résidu adimensionnel n’a pas été divisé par deux. Il fautconsidérer plusieurs itérations car, en cas de divergence, lerésidu peut osciller.

6. Exemples numériques

Des problèmes académiques sont étudiés dans un premiertemps. Le schéma du contrôle du pas de temps est comparéavec celui, proposé par Ponthot [3], qui est décrit à lasection 3.1. Les trois estimateurs de l’erreur sont comparésen étant associés à l’algorithme développé. Le premier estdéfini par l’expression (34), le second par l’expression (35)et le troisième par l’expression (36). Les problèmes étudiéssont résolus dans le formalisme des grands déplacements etdes grandes déformations. Ces problèmes académiques sontmodélisés dans le code de recherche METAFOR [3], danslequel l’algorithme de gestion du pas a été implémenté [14].

Ensuite, des problèmes industriels sont étudiés. Les troisalgorithmes (pas de temps automatique, sélection de la re-mise à jour de la matrice hessienne et critère de divergence)ont été implémentés dans le module MECANO de SAMCEF[13]. Dans la version commerciale de MECANO, le pas detemps est choisi selon le schéma proposé par Géradin [8].L’utilisateur définit le numéro des itérations avec remise àjour de la matrice hessienne, et le nombre maximal d’ité-ration pour chaque pas de temps. Il y a réactualisation pourchaque première itération d’un nouveau pas puisque la duréedu pas peut changer. Deux problèmes industriels venant de laSNECMA [15] sont résolus par les nouveaux algorithmes etpar les anciens (version commerciale). Ces problèmes sonttridimensionnels et comprennent plusieurs milliers de de-grés de liberté. Certains éléments sont non linéaires et mo-délisent des contacts, des ruptures. . . Pour comparer les an-ciens et les nouveaux algorithmes, les paramètres de préci-sion (δ,PRCU) sont pris identiques. Pour les anciens algo-rithmes, les numéros des itérations avec remise à jour de lamatrice hessienne sont choisis afin de minimiser le coût totaldes calculs. Plusieurs essais ont été nécessaires pour déter-

Tableau 1Propriétés de la barre de Taylor

Diamètre d = 6,4 mmLongueur l = 32,4 mmMasse volumique ρ = 8930 kg·m−3

Module de Young E = 117·109 kg·m−2

Coefficient de Poisson ν = 0,35Contrainte élastique initiale σ0 = 4·108 N·m−2

Paramètre d’écrouissage h = 1·108 N·m−2

Vitesse initiale x0 = 227 m·s−1

Tableau 2Propriétés du cylindre en flambement

Diamètre interne di = 27 mmDiamètre externe de = 31,17 mmLongueur l = 180 mmMasse volumique ρ = 7850 kg·m−3

Module de Young E = 210·109 kg·m−2

Coefficient de Poisson ν = 0,3Contrainte élastique initiale σ0 = 700 N·mm−2

Paramètre d’écrouissage h = 808 N·mm−2

Vitesse initiale x0 = 9,09 m·s−1

miner ces paramètres sans rencontrer de divergence malgréun coût le plus réduit possible.

6.1. Cas académique 1 : La barre de Taylor

Une barre cylindrique (propriétés reportées au Tableau 1)avec une vitesse initiale entre en contact avec un mur rigide.Un calcul de référence est défini. Il s’agit de la résolution duproblème avec un pas de temps fixe et petit (t = 0,17 µs).Ensuite le problème est résolu avec l’algorithme de gestiondu pas proposé. Les estimateurs de l’erreur utilisés sontsuccessivement l’estimateur (34), puis (35), et enfin (36),respectivement dénotés « e1 », « e2 » et « e3 ». Pour finir, leproblème est aussi résolu par la méthode de Ponthot [3](méthode « opti »), décrite à la section 3.1. Dans tous les cas,le problème est résolu par le schémaθ -généralisé du pointmilieu (SMG) (θ = 1,1).

La solution obtenue après 80 µs est illustrée à la Fig. 9.La contrainte obtenue avec le nouvel algorithme est similaireà la configuration de référence à 2,5 % près. La différenceentre la méthode de Ponthot et la référence est de l’ordre de5 %. Les coûts de calcul sont illustrés à la Fig. 10. Il apparaîtqu’une gestion automatique du pas permet de réduire letemps de calcul. L’algorithme proposé introduit 10 % à 25 %d’itérations (selon l’erreur « e1 », « e2 » ou « e3 » utilisée) parrapport à la méthode « opti ».

6.2. Cas académique 2 : Flambement dynamique d’uncylindre

Un cylindrique creux [16–18] (propriétés reportées au Ta-bleau 2) entre en contact avec une matrice rigide (Fig. 11).Le bord gauche du cylindre est contraint de se mouvoir avecune vitesse constante de 9 090 mm·s−1. Un calcul de réfé-

Page 11: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 73

Fig. 9. Déformée et contraintes de von Mises (N·mm−2) pour la barre deTaylor.

Fig. 9. Configuration and von Mises stress (N·mm−2) for Taylor’s bar.

rence est défini. Il s’agit de la résolution du problème avecun pas de temps fixe et petit (t = 0,25 µs). Ensuite le pro-blème est résolu avec l’algorithme de gestion du pas pro-posé. Les estimateurs de l’erreur utilisés sont successive-ment l’estimateur (34), puis (35), et enfin (36), respective-ment dénotés « e1 », « e2 » et « e3 ». Pour finir, le problèmeest aussi résolu par la méthode de Ponthot [3] (méthode« opti ») décrite à la section 3.1. Dans tous les cas, le pro-blème est résolu le schémaα-généralisé du trapèze(αM =−0,87, les autres paramètres sont calculés pour avoir unschéma inconditionnellement stable, i.e.αF = 0,1,γ = 1,48etβ = 0,98). Le contact est traité par la méthode de la péna-lité [16].

L’évolution de la déformée (toute les 1,1 ms) est reprise àla Fig. 12. La solution obtenue après 11 ms est illustrée à laFig. 13. Les contraintes obtenues avec le nouvel algorithmeet l’erreur « e1 » sont pratiquement identiques à la référence.Quand les erreurs « e2 » ou « e3 » sont utilisées, la différenceest de 1 %. La différence entre la méthode «opti » et laréférence est de l’ordre de 3 %. Les coûts des calculs sontillustrés à la Fig. 14. Une gestion automatique du paspermet de réduire les coûts de calcul. Dans cet exemple, lenombre d’itérations avec l’algorithme proposé est de 70 %

Fig. 10. Coût des calculs pour la barre de Taylor.

Fig. 10. Computation cost for Taylor’s bar.

Fig. 11. Modèle du cylindre en flambement dynamique.

Fig. 11. Model of dynamic buckling of a cylinder.

(remarquons l’échelle logarithmique) inférieur au nombred’itérations avec la méthode « opti ».

Suite aux deux cas académiques présentés, nous pouvonsdire que l’algorithme présenté est plus précis que la mé-thode « opti ». En effet il comporte une garantie de préci-sion, qui dépend de la valeurPRCU donnée par l’utilisa-teur. Les solutions obtenues peuvent même être significati-vement (voir le problème académique 2) moins onéreusesque la méthode « opti ». Les meilleurs résultats ont été obte-nus quand l’estimateur « e1 » (34) est utilisé plutôt que l’esti-

Page 12: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

74 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

Fig. 12. Déformée toute les 1,1 ms pour le cylindre en flambementdynamique.

Fig. 12. Configuration (at each 1.1 ms) for dynamic buckling of a cylinder.

Fig. 13. Déformée et contraintes de von Mises (N·mm−2) pour le cylindreen flambement dynamique.

Fig. 13. Configuration and von Mises stress (N·mm−2) for dynamicbuckling of a cylinder.

Fig. 14. Coûts des calculs du cylindre ne flambement dynamique.

Fig. 14. Computation costs for dynamic buckling of a cylinder.

mateur « e2 » (35). L’erreur « e3 » est plus sévère mais aussiplus chère que « e1 ». En fait, l’estimateur «e2 » a été dé-veloppé pour des problèmes linéaires [8] alors que les indi-cateurs « e1 » et « e3 » restent appropriés pour des cas nonlinéaires, le coût de « e3 » étant toujours supérieur à «e1 ».

6.3. Cas académique 3 : Barre de Taylor en troisdimensions

Ce problème est similaire au problème académique 1mais est traité en trois dimensions afin de valider nos algo-rithmes. Les propriétés de la barre sont celles du Tableau 1.En se reportant aux conclusions relatives aux problèmes pré-cédents, seule l’erreur « e1 » est utilisée. Cependant le critèreautomatique de réactualisation de la matrice hesienne est in-troduit. Dès lors, les quatre résolutions suivantes sont com-parées : la méthode « opti », le nouvel algorithme de ges-tion du pas de temps avec réactualisation de la matrice hes-sienne à chaque itération, le nouvel algorithme de gestiondu pas de temps avec le nouveau critère de réactualisationde la matrice hessienne et finalement une résolution de ré-férence avec un pas de tempst = 3,2·10−7 s avec réac-tualisation de la matrice hessienne à chaque itération. Danstous les cas, le problème est résolu le schémaα-généralisédu trapèze (αM = −0,87, les autres paramètres sont calcu-lés pour avoir un schéma inconditionnellement stable, i.e.αF = 0,1, γ = 1,48 etβ = 0,98). Le contact est traité parla méthode de la pénalité [14].

Page 13: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 75

Fig. 15. Déformée et contraintes de von Mises (N·mm−2) pour la barre deTaylor tridimensionnelle.

Fig. 15. Configuration and von Mises stress (N·mm−2) for 3D-Taylor’s bar.

La solution obtenue après 80 µs est illustrée à la Fig. 15.La contrainte maximale obtenue avec le nouvel algorithme(avec réactualisation automatique ou non) est similaire àcelle de référence à 2 % près. La différence entre la solutionobtenue par la méthode de Ponthot (« opti ») est de 4 %. Lescoûts des calculs sont illustrés à la Fig. 16. La méthode quiminimise le nombre de pas de temps est la méthode « opti ».Néanmoins elle est moins précise. De plus grâce au critère

Fig. 16. Coût des calculs pour la barre de Taylor tridimensionnelle.

Fig. 16. Computation cost for 3D-Taylor’s bar.

de re-calcul de la matrice hessienne, le nouvelle algorithmede gestion du pas est moins chère (7 %) que la méthode« opti » en terme de CPU. Remarquons que le critère deréactualisation est efficace quand il est associé avec lanouvelle gestion du pas. En effet, cette gestion garde la duréedu pas constante sur de plus long intervalles, ce qui évite dedevoir recalculer la matrice hessienne seulement parce quela durée du pas a été modifiée.

6.4. Cas industriel 1

Il s’agit de la modélisation tridimensionnelle d’un ba-lourd dans un moteur d’avion, comportant plusieurs milliersde degrés de liberté. Ce problème est résolu par les anciensalgorithmes (version commerciale de MECANO) et par lesnouveaux (gestion du pas de temps, remise à jour de la ma-trice hessienne et critère de divergence). Dans les deux cas,la toléranceδ du résidu non dimensionnelr (18) est priseégale à 10−3. La tolérancePRCU sur l’erreur d’intégrationest prise égale à 10−3. Le pas de temps initial est le même.Avec l’ancien algorithme, il y a remise à jour de la matricehessienne aux itérations 1, 3, 6, 7, 8, 9. . .

La Fig. 17 montre l’évolution du déplacement d’un de-gré de liberté représentatif avec le temps. Les nouveaux al-gorithmes donnent la même solution que les anciens. LaFig. 18 représente le bilan d’énergie. Il s’agit de la sommedes énergies potentielles et cinétiques, de laquelle le travaildes forces extérieures est soustrait. Lorsque ce bilan est po-

Page 14: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

76 L. Noels et al. / Mécanique & Industries 3 (2002) 63–77

Fig. 17. Déplacement du cas industriel 1.

Fig. 17. Displacement of industrial case 1.

Fig. 18. Bilan d’énergie du cas industriel 1.

Fig. 18. Energy balance of industrial case 1.

Fig. 19. Coût des calculs du cas industriel 1.

Fig. 19. Computation costs of industrial case 1.

sitif, de l’énergie est crée numériquement et l’intégrationest instable. Par contre si ce bilan est négatif, de l’énergieest dissipée numériquement ou physiquement. Si la dissipa-tion numérique est trop importante, l’intégration est peu pré-cise. Sur la Fig. 18, il apparaît que les nouveaux algorithmesproduisent légèrement plus de dissipation numérique (moinsde 0,3 %) que les anciens algorithmes. Les nouveaux algo-rithmes donnent donc une précision suffisante. Les coûts res-pectifs des calculs sont donnés à la Fig. 19. Les nouveauxalgorithmes réduisent le temps de calcul (CPU) de 40 % parrapport aux anciens.

6.5. Cas industriel 2

Il s’agit de la modélisation tridimensionnelle d’une rup-ture dans un moteur d’avion, comportant plusieurs milliers

Fig. 20. Force pour le cas industriel 2.

Fig. 20. Force for industrial case 2.

Fig. 21. Évolution de la durée du pas de temps pour le cas industriel 2.

Fig. 21. Time step size evolution for industrial case 2.

de degrés de liberté. Ce problème est résolu par les anciensalgorithmes (version commerciale de MECANO) et par lesnouveaux (gestion du pas de temps, remise à jour de la ma-trice hessienne et critère de divergence). Dans les deux cas,la toléranceδ du résidu non dimensionnelr (18) est priseégal à 10−4. La tolérancePRCU sur l’erreur d’intégrationest prise égale à 10−3. Le pas de temps initial est le même.Avec l’ancien algorithme, il y a remise à jour de la matricehessienne aux itérations 1, 3, 5, 6, 7, 8. . .

La Fig. 20 représente l’évolution avec le temps de laforce sur un degré de liberté représentatif. Les nouveauxalgorithmes donnent la même solution que les anciens. LaFig. 21 montre l’évolution de la durée du pas de temps.Avec le nouvel algorithme de gestion, cette durée est gardéeconstante sur de longues périodes. Des remises à jouronéreuses de la matrice hessienne, uniquement parce que lataille du pas a changé, sont alors évitées. La Fig. 22 donnele coût des calculs. Les nouveaux algorithmes réduisent letemps des calculs (CPU) à 60 % du temps nécessaire pourles anciens algorithmes.

7. Conclusions

Un nouvel algorithme de contrôle de la durée du pas detemps a été présenté. Cet algorithme est basé sur une me-sure de l’erreur d’intégration. En introduisant des compteurs,le pas de temps est modifié seulement lorsque des varia-

Page 15: Détermination automatique de la taille du pas de temps pour les schémas implicites en dynamique non linéaireAutomatic time-stepping algorithms for implicit schemes in non-linear

L. Noels et al. / Mécanique & Industries 3 (2002) 63–77 77

Fig. 22. Coût des calculs du cas industriel 2.

Fig. 22. Computation costs for industrial case 2.

tions durables et physiques du phénomène dynamique appa-raissent. Cependant, pour des changements brutaux commel’impact ou le contact, l’erreur d’intégration augmente forte-ment en un seul pas de temps et l’algorithme réduit automati-quement la taille du pas. En modifiant la limite sous laquellela durée du pas peut être augmentée, lorsque le problèmedevient moins critique, la taille du pas peut augmenter rapi-dement. Cet algorithme donne une bonne précision avec untemps de calcul réduit, ainsi que des pas de temps constantssur de longues périodes. Si des problèmes de convergenceapparaissent, la tolérance de l’erreur d’intégration est ré-duite pour adapter le pas de temps à ces problèmes. Despas de temps onéreux et néanmoins rejetés sont ainsi évi-tés. Cet algorithme a été appliqué pour des problèmes aca-démiques avec des contacts et de grandes déformations. As-socié à un estimateur d’erreur basé sur le saut d’accéléra-tion (relation (34)), l’algorithme a donné une bonne préci-sion avec un coût faible.

Ensuite, un algorithme décidant si la matrice hessiennedoit être réévaluée a été proposé. Cet algorithme recalculecette matrice si cela est nécessaire à la convergence des itéra-tions de Newton–Raphson. Dans le cas contraire, l’anciennematrice est utilisée lors du processus itératif et le temps decalcul est réduit. Enfin, un critère de divergence a été im-plémenté. Il considère que le problème ne converge pas sile résidu adimensionnel ne diminue pas avec les itérations.Nombre d’itérations inutiles sont ainsi évitées. Ils ont été va-lidés sur un problème académique tridimensionnel.

Les algorithmes proposés (contrôle du pas de temps, réac-tualisation de la matrice hessienne et critère de divergence)ont été implémentés dans le module MECANO de SAMCEF[13] et deux cas industriels ont été envisagés. La solutionobtenue avec les nouveaux algorithmes est aussi précisequ’avec ceux existants, mais les coûts sont réduits d’envi-ron 50 %.

Références

[1] T. Belytschko, T.J.R. Hughes (Eds.), Computational Methods forTransient Analysis, North Holland, 1983.

[2] T.J.R. Hughes, The Finite Element Method, Prentice-Hall, 1987.[3] J.-P. Ponthot, Traitement unifié de la Mécanique des Milieux Continus

solides en grandes transformations par la méthode des éléments finis,Thèse, Université de Liège, 1995.

[4] J.-P. Ponthot, M. Hogge, On relative merits of implicit/explicitalgorithms for transient problems in metal forming simulation, in :International Conference on Numerical Methods for Metal Formingin Industry, Baden-Baden, Allemagne, Vol. 2, 1994, pp. 128–148.

[5] M. Hogge, J.-P. Ponthot, Efficient implicit schemes for transientproblems in metal forming simulation, in : Numerical and PhysicalStudy of Material Forming Processes NUPHYMAT’96, CEMEF,École Nationale Supérieure des Mines de Paris, Sophia-Antipolis,France, 1996.

[6] J. Chung, G.M. Hulbert, A time integration algorithm for structuraldynamics with improved numerical dissipations : the generalized-α

method, J. Appl. Mech. 60 (1993) 371–375.[7] D. Givoli, I. Henisberg, A simple time-step control scheme, Comm.

Numer. Methods Engrg. 9 (1993) 873–881.[8] M. Géradin, Analyse, simulation et conception de systèmes polyarti-

culés et structures déployables, Cours IPSI, Paris, 1997.[9] A. Cassano, A. Cardona, A comparison between three variable-step

algorithms for the integration of the equations of motion in structuraldynamics, Latin American Research 21 (1991) 187–197.

[10] G.M. Hulbert, I. Jang, Automatic time step control algorithms forstructural dynamics, Comput. Methods Appl. Mech. Engrg. 126(1995) 155–178.

[11] A. Dutta, C.V. Ramakrishnan, Accurate computation of design sensiti-vities for structures under transient dynamic loads using time marchingscheme, Int. J. Numer. Methods Engrg. 41 (1998) 977–999.

[12] M. Géradin, D. Rixen, Théorie des vibrations, Application à ladynamique des structures, Masson, Paris, 1993.

[13] SAMTECH, Manuel d’utilisation de SAMCEF, v8.0, Liège, Belgique,1999.

[14] Noels L., Détermination automatique de la taille du pas de tempspour les schémas implicites en dynamique non-linéaire, Travail de find’études, Université de Liège, Liège, Belgique.

[15] I. Guilloteau, B. Peseux, J. Bonini, Simplified dynamic contactmodel — Application to the rotor/stator interaction, in : Proceedings ofthe European Conference on Computational Mechanics (CD-ROM),ECCM’99, Munich, Allemagne, Vol. 592, 1999, pp. 1–13.

[16] D. Graillet, Modélisation tridimensionnelle du contact entre structuresà parois minces dans les phénomènes d’impacts et de mise à forme,Thèse, Université de Liège (à paraître).

[17] D. Graillet, J.-P. Ponthot, Efficient implicit schemes for the treatmentof the contact between deformable bodies : Application to schock-absorber devices, IJCrash 4 (3) (1999) 273–286.

[18] T.-A. Laursen, Formulation and treatment of frictional contact pro-blems using finite elements, Thesis, Department of Mechanical Engi-neering, Stanford University, 1992.