7. Pilotage#

Le pilotage est parfois connu sous la dénomination de méthode de continuation.

◇ PILOTAGE = _F(
     ◆ TYPE = / "ANA_LIM",
              / "DDL_IMPO",
              / "DEFORMATION",
              / "LONG_ARC",
              / "PRED_ELAS",
     ◇ COEF_MULT = float (défaut: 1.0),
     ◇ EVOL_PARA = / "CROISSANT",
                   / "DECROISSANT",
                   / "SANS" (par défaut),
     ◇ ETA_PILO_MAX = float,
     ◇ ETA_PILO_MIN = float,
     ◇ ETA_PILO_R_MAX = float,
     ◇ ETA_PILO_R_MIN = float,
     ◇ PROJ_BORNES = / "NON",
                     / "OUI" (par défaut),
     # Si: equal_to("TYPE", 'LONG_ARC') or equal_to("TYPE", )
         ◇ SELECTION = / "ANGL_INCR_DEPL",
                       / "MIXTE",
                       / "NORM_INCR_DEPL" (par défaut),
                       / "RESIDU",
     # Si: not equal_to("TYPE", 'LONG_ARC')
         ◇ SELECTION = / "MIXTE",
                       / "NORM_INCR_DEPL" (par défaut),
                       / "RESIDU",
     ◇ / TOUT = "OUI" (ou non renseigné),
       / GROUP_MA = list[grma],
     ◇ / NOEUD = list[no],
       / GROUP_NO = list[grno],
     ◇ NOM_CMP = list[text],
  ),

7.1. Principes généraux#

Lorsque l’intensité \(\eta\) d’une partie du chargement n’est pas connue a priori (chargement dit de référence défini dans [AFFE_CHAR_MECA] avec charge de type FIXE_PILO), le mot clé PILOTAGE permet de piloter ce chargement par l’intermédiaire d’un nœud (ou groupe de nœuds) sur lequel on peut imposer différents modes de pilotage (mot clé TYPE).

Remarques:
  • Avec FIXE_PILO, on ne peut pas utiliser pour le chargement de référence le mot clé FONC_MULT.

  • Lorsque le chargement de référence est défini par [AFFE_CHAR_MECA_F], ce chargement peut être fonction des variables d’espace mais pas du temps. De même, les changements issus de variables de commande (comme la température) qui dépendent du temps ne sont pas utilisables avec le pilotage.

  • Le pilotage est interdit avec le contact.

  • Il n’est pas possible de faire du pilotage avec PREDICTION=”DEPL_CALCULE” ou PREDICTION=”EXTRAPOLE”

7.2. Les types de pilotage#

Le type de pilotage effectué est donné par le mot-clé TYPE. Sept modes de pilotage sont disponibles (Confer [R5.03.80] pour plus de détails).

7.2.1. Pilotage pour les déplacements#

Le pilotage pour les déplacements va contrôler l’intensité du chargement pour contrôler un déplacement ou équivalent.

Le TYPE=”DDL_IMPO” permet d’imposer une valeur donnée d’incrément de déplacement (une seule composante \(i\) possible) en un unique nœud (ou d’un groupe de nœuds ne comportant qu’un seul nœud) donnés par les mots-clés NOEUD ou GROUP_NO. À chaque incrément de temps, on cherche l’amplitude \(\eta\) du chargement de référence qui permettra de satisfaire la relation incrémentale suivante

\[C \, \Delta {u}_{i} (\text{noeud}) = \Delta t\]

Le TYPE=”LONG_ARC” permet de piloter l’intensité \(\eta\) du chargement de référence par la longueur (abscisse curviligne) de la réponse en déplacement d’un groupe de nœuds (à utiliser par exemple lorsqu’on veut contrôler le flambement d’une éprouvette). On vérifie la relation suivante:

\[C \, \parallel \Delta u\parallel =\Delta t\]

avec \(\parallel (\Delta u)\parallel =(\sqrt{\sum_{n}\sum_{c}({\Delta u}_{n,c}^{2})})\)

où \(n\) sont les nœuds du pilotage et \(c\) les composantes du déplacement des nœuds considérés. Même si le groupe de nœuds du pilotage est réduit à un seul nœud, il faut quand même utiliser GROUP_NO.

Pour les deux types, \(C\) est donné par le mot-clé COEF_MULT et NOM_CMP donne le nom de la composante (correspondant au degré de liberté \(i\) ) utilisée pour le pilotage (“DX” par exemple).

7.2.2. Pilotage pour l’analyse limite#

Le pilotage TYPE=”ANA_LIM” est spécifique au calcul de charge limite (loi NORTON_HOFF) par approche cinématique ( cf. [ref:R7.07.01 <R7.07.01>] pour plus de détails). Si \(F\) désigne le chargement assemblé piloté (indiqué par TYPE_CHARGE=”FIXE_PILO”), alors la fonction de pilotage s’écrit simplement:

\[P(u)=F \cdot u = 1\]

Excepté pour le calcul de charge limite, cette fonctionnalité ne présente pas d’intérêt a priori. Pour ce mode de pilotage, aucun autre mot clé n’est à préciser.

7.2.3. Pilotage pour les comportements adoucissants#

L’utilisation de lois de comportement adoucissantes peut conduire à des snap-backs brutaux qui rendent délicat le déroulement du calcul. Les deux modes de pilotage suivants y remédient : (Cf. [R5.03.80] pour plus de détails).

Le pilotage TYPE=”DEFORMATION” garantit qu’au moins un point de Gauss de la structure voit sa déformation évoluer de façon monotone. On vérifie la relation:

\[C \,\underset{\mathrm{Pg}}{\max} \left( \frac{\dot{\varepsilon}}{\parallel \dot{\varepsilon}\parallel } \cdot \Delta \varepsilon \right) =\Delta t\]

Ce mode de pilotage est valable pour toutes les lois de comportement y compris en grandes déformations SIMO_MIEHE.

Lorsqu’on veut utiliser ce mode de pilotage, il est indispensable de faire un premier calcul sans le mot clé PILOTAGE pour amorcer le problème et obtenir un état initial \({\varepsilon}^{-}\) différent de zéro (sinon division par zéro). On effectue après une reprise à partir de cet état initial non nul et on utilise le pilotage.

Le pilotage TYPE=”PRED_ELAS” assure qu’au moins un point de Gauss de la structure sorte du seuil d’élasticité linéarisé \({f}_{\text{pred-elas}}\) d’une quantité \(\frac{\Delta t}{C}\) .

On vérifie la relation:

\[C \, \underset{\mathrm{Pg}}{\max} \left( {f}_{\mathrm{PRED\_ELAS}} \right) =\Delta t\]

Ce mode de pilotage est valable uniquement pour les lois ENDO_SCALAIRE (avec la version non locale), VMIS_ISOT_NL (avec la version locale uniquement), ENDO_FISS_EXP (non locale uniquement), ENDO_ISOT_BETON et ENDO_ORTH_BETON (avec la version locale et la version non locale), BARENBLATT, BETON_DOUBLE_DP, CZM_EXP (avec les éléments à discontinuité interne *_ELDI) , CZM_OUV_MIX, CZM_TAC_MIX et CZM_LAB_MIX (éléments d’interface *_INTERFACE), CZM_EXP_REG (éléments de joint *_JOINT ou modélisation X-FEM) et CZM_LIN_REG (éléments de joint).

\(C\) est donné par le mot-clé COEF_MULT mais la fixation de ce paramètre est difficile à définir du premier coup parce que la notion de sortie de critère \(\frac{\Delta t}{C}\) n’est pas intuitive et varie selon les lois de comportement. Pour les lois ENDO_SCALAIRE, ENDO_FISS_EXP et ENDO_ISOT_BETON, une version différente de la définition de \(\frac{\Delta t}{C}\) est utilisée, où ce paramètre est lié à l’incrément d’endommagement (voir [R7.01.04]).

La résolution des deux équations précédentes permet d’obtenir l’intensité du chargement inconnue. Dans certains cas, la résolution de ces équations peut conduire à plusieurs solutions pour l’intensité. On choisit alors toujours la solution qui est la plus proche de \({\varepsilon}^{-}\) . C’est pourquoi, lorsqu’on veut imposer un chargement alterné, on est obligé à chaque changement de signe du chargement de réaliser un premier calcul sans le mot clé PILOTAGE afin d’obtenir un état initial \({\varepsilon}^{-}\) de traction ou de compression. On effectue ensuite un second calcul en poursuite à partir de l’état initial précédent avec le mot clé PILOTAGE.

Ces deux types de pilotage ne sont pas disponibles pour les éléments de structures.

On donne les mailles ou groupes de mailles servant à piloter le calcul par les mots-clés GROUP_MA, MAILLE ou TOUT. Intéressant pour alléger la résolution des équations de ces modes de pilotage.

7.3. Contrôle des bornes#

Ces mots-clés ETA_PILO_R_MAX et ETA_PILO_R_MIN permettent de définir l’intervalle de recherche des valeurs de pilotage. À chaque itération de Newton toutes les valeurs de pilotage en dehors de \([\eta^{R}_{min}, \eta^{R}_{max}]\) sont ignorées. Ceci peut conduire à «échec de pilotage» si cet intervalle est trop restrictif.

Si on ne précise pas de valeurs, c’est \(\eta^{R}_{min}=-\infty\) et \(\eta^{R}_{max}=+\infty\).

Une utilisation possible de cet intervalle est la suivante. On désire, par exemple, piloter une pression imposée à la structure et on s’attend à garder cette pression positive. En fixant \(\eta^{R}_{min}=-0\), cela permet d’imposer les valeurs de pilotage positives.

Les mots-clés ETA_PILO_MAX et ETA_PILO_MIN permettent de préciser l’intervalle de valeurs de pilotage souhaité. On l’utilise pour arrêter proprement le calcul lorsque ETA_PILOTAGE atteint les bornes de cet intervalle.

Cet intervalle doit être plus restrictif que l’intervalle de recherche défini précédemment, car ce dernier est appliqué dans tous les cas. Le principe de fonctionnement est le suivant : à convergence des itérations de Newton, si l’on a atteint l’une des bornes, le calcul s’arrête.

Une utilisation possible de cet intervalle est la suivante. Dans le cas de présence de snap-back, en fixant \(\eta_{min}\) à une faible valeur, cela permet d’arrêter le calcul avant une déchirure/endommagement complet de l’échantillon et éviter ainsi la divergence au dernier pas de temps.

L’autre utilisation possible est celle de \(\eta_{max}\) en tant que charge limite maximale.

Avec la loi ENDO_ISOT_BETON, ces deux mots clés sont obligatoires, car ils sont utilisés pour fixer les bornes de pilotage au niveau élémentaire.

En cas de dépassement de l’intervalle \([\eta_{min}, \eta_{max}]\), l’utilisateur peut indiquer s’il veut projeter la valeur de pilotage sur \([\eta_{min}, \eta_{max}]\) avec PROJ_BORNES=”OUI”.

Avec PROJ_BORNE=”OUI”, la projection sera effectuée (si \(\eta>\eta_{max}\) alors \(\eta=\eta_{max}\); si \(\etaw\eta_{min}\) alors \(\eta=\eta_{min}\)), ce qui permet, en cas de convergence d’arrêter le calcul précisément sur \(\eta_{min}\) ou \(\eta_{max}\).

Avec PROJ_BORNE=”NON”, on ne modifie pas les valeurs de eta, même si pendant les itérations de Newton cette dernière a une valeur supérieure à \(\eta_{max}\) ou inférieure à \(\eta_{min}\). Par contre le calcul est arrêté, si à la convergence \(\eta\) dépasse les bornes.

Une utilisation possible de l’intervalle \([\eta_{min}, \eta_{max}]\) avec l’option PROJ_BORNE=”OUI” est le suivant. On désire, par exemple, comparer plusieurs calculs pour un modèle adoucissant, qui sont pilotés en déplacement. Ces paramètres de pilotage permettent de stopper les calculs au même chargement lorsque la structure est suffisamment adoucie. Cette stratégie rend la comparaison plus aisée, grâce au contrôle du dernier point de pilotage.

Il est vivement conseillé de faire appel à l’option PROJ_BORNE=”OUI” lors de la mise en place de cas test impliquant du pilotage du chargement. Cela permet en effet d’arrêter le calcul en des points précis où l’on vient tester les valeurs, ce qui améliore la robustesse du test et facilite sa maintenance. Un exemple de cette mise en donnée est proposé dans les tests ssnp133a et ssnp133d.

Avec PROJ_BORNE=”NON” on peut dans certains cas à débloquer les calculs, qui autrement ne convergent pas avec les conditions trop restrictives imposées via l’intervalle \([\eta^{R}_{min}, \eta^{R}_{max}]\). Soit on pilote une pression imposée à la structure et on s’attend à garder cette pression positive. En fixant \(\eta^{R}_{min}=0\), le calcul s’arrête en échec de pilotage. En revanche en imposant \(\eta^{R}_{min}\) légèrement négatif, on autorise de facto le passage par un état «non physique» pendant les itérations de Newton, ce qui facilite la convergence. L’état convergé dans ce cas peut aussi bien être physique (pression positive) ou non physique. C’est la valeur de \(\eta^{R}_{min}=0\), qui gouvernera le comportement en cas de convergence hors bornes. Cette stratégie permet de ne conserver que les valeurs de pilotage positives, si on trouve au moins une valeur de pilotage positive.

7.4. Contrôle des solutions multiples#

Le mot-clé SELECTION permet de sélectionner la méthode permettant de choisir la valeur de pilotage dans le cas où plusieurs solutions sont fournies par la résolution de pilotage.

SELECTION=”NORM_INCR_DEPL” permet de sélectionner la valeur de pilotage par la plus petite norme de l’incrément de déplacement sur le pas de temps considéré.

SELECTION=”ANGL_INCR_DEPL” permet de sélectionner la valeur de pilotage par le plus petit angle entre le déplacement obtenu pour le pas de temps courant et le déplacement obtenu pour le pas de temps précédent. Ce choix est disponible uniquement avec TYPE=LONG_ARC.

SELECTION=”RESIDU” permet de sélectionner la valeur de pilotage conduisant au plus petit résidu.

SELECTION=”MIXTE” permet de sélectionner la valeur de pilotage en s’appuyant sur plusieurs stratégies. On commence avec la stratégie NORM_INCR_DEPL ci-dessus. Si les résultats de la fonction objectif (la norme de l’incrément de déplacement) sont trop proches, on bascule pour cette itération sur la stratégie RESIDU. Là encore, si les résidus sont trop proches, on revient à la stratégie NORM_INCR_DEPL et on examine si la liste des résidus RESI_GLOB_MAXI du pas de temps courant présente des cycles. Si c’est le cas, c’est la moins bonne solution de NORM_INCR_DEPL qui est choisie pour cette itération. Sinon, on choisit simplement la meilleure des deux, même si elles ne sont pas suffisamment contrastées.

Remarque:
  • Si on fait une reprise de calcul (reuse) avec le mot-clé SELECTION=”ANGL_INCR_DEPL”, il est important de garder à l’esprit que ce critère nécessite les deux pas de temps précédents. Il faudra donc bien prendre soin d’archiver correctement les résultats du précédent calcul au risque d’obtenir des résultats faux. Une alarme avertit l’utilisateur dans cette situation.

Le mot-clé EVOL_PARA permet d’imposer la croissance ou la décroissance du paramètre de pilotage.