# Manlab : Logiciel de continuation interactif

Rémi Arquier, Bruno Cochelin, Christophe Vergez

► To cite this version:

Rémi Arquier, Bruno Cochelin, Christophe Vergez. Manlab : Logiciel de continuation interactif. 7e Colloque national en calcul des structures, May 2005, Giens, France. hal-00088396

HAL Id: hal-00088396

https://hal.science/hal-00088396v1

Submitted on 5 Apr 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
Logiciel de continuation interactif

R. Arquier — B. Cochelin — C. Vergez

Laboratoire de mécanique et d'acoustique (UPR CNRS 7051)
Ecole généraliste d'ingénieurs de Marseille (EGIM)
Technopôle de Château-Gombert
13383 MARSEILLE Cedex 13

RÉSUMÉ. Ces pages présentent un logiciel de continuation interactif destiné à la détermination numérique de solutions de systèmes non linéaires présentant des diagrammes de bifurcations complexes. Le logiciel est basé sur la méthode de continuation MAN (méthode asymptotique numérique) qui se démarque des algorithmes incrémentaux-itératifs classiques par une plus grande robustesse et une plus grande facilité de pilotage, notamment au voisinage des bifurcations. L'ensemble est implété dans l'environnement Matlab et est doté d'une interface permettant d'effectuer des opérations en direct sur l'affichage du diagramme de continuation : construction, effacement, sauvegarde, visualisation de portions de branches, fonction de saut et méthode efficace de branchement par perturbation.

ABSTRACT. This paper show an interactive continuation software for the numerical computation of solutions of non linear systems which have complex bifurcation diagrams. The software is based on the so-called MAN continuation algorithm which provides an efficient robust and automated path following of the solution curve, even around bifurcation points. The software is developed under the Matlab programming environment and has a graphical interface which allows to directly interact with the continuation diagram : computation, deletion, save, visualisation of part of branches, jump and an effective switching perturbation method.

MOTS-CLÉS : Continuation, MAN, Newton-Raphson, Bifurcation, Perturbation, Branchement

KEYWORDS: Continuation, ANM, Newton-Raphson, Bifurcation, Perturbation, Branch switching
# 1. Introduction

Dans le domaine des sciences, on est souvent conduit à résoudre des systèmes d'équations non linéaires algébriques de la forme<fnref n="1" />

$$R(U) = 0 \qquad (1)$$

où le vecteur d'équations R appartient à $\mathbb{R}^n$ et le vecteur inconnu U appartient à $\mathbb{R}^{n+1}$. Lorsque R est régulier, les solutions sont des réseaux de branches continues et le tracé de ces branches dans un plan $U_i, U_j$ s'appelle un diagramme de bifurcation ou un diagramme de réponse. $U_i$ et $U_j$ désignent ici deux composantes quelconques du vecteur U, voir figure 1.

<figure><img src="image_2.png" /><figcaption>**Figure 1.** Exemple de diagramme de bifurcation.</figcaption></figure>

Effectuer la continuation de ces branches est une tâche qui s'avère parfois fastidieuse lorsque l'on désire obtenir le tracé complet (ou même partiel) du réseau. Lorsque le graphe possède de nombreux points de bifurcations, la sélection de la "direction à suivre" aux points de branchements, le stockage numérique des différentes portions de branches, la visualisation d'un point solution en particulier, ou plus simplement l'exploitation des résultats de calculs sont des opérations parmi d'autres qui restent relativement astreignantes.

Manlab se veut être une réponse à ces problèmes exprimée sous forme de logiciel graphique et interactif. Il repose sur la méthode de continuation "MAN" dont la robustesse à déjà été démontrée [COC 94], voir [POT 04] pour une bibliographie complète. La MAN apporte l'avantage, par rapport aux méthodes classiques de type Newton-Raphson, d'obtenir les solutions sous formes de développement en séries et d'avoir

<footnote n="1">1. Dans la littérature dédiée aux méthodes de continuation, le système (1) est souvent écrit sous la forme $R(U, \lambda) = 0$ avec $R$ appartenant à $\mathbb{R}^n$, $U$ appartenant à $\mathbb{R}^n$, et $\lambda$ appartenant à $\mathbb{R}$. Il s'agit d'un système non linéaire de n équations à n inconnues qui dépend d'un paramètre de continuation $\lambda$. Cette écriture à l'inconévénient de privilégier une inconnue $\lambda$ devant les n autres de $U$.</footnote>
une sélection de longueur de pas automatique. Cette particularité facilite grandement le passage des lieux à très forte courbure et permet donc de redécouvrir la méthode de perturbation, [ALL 90], comme moyen de branchements aux points de bifurcations.

Manlab est implémenté en orientation objet sous environnement Matlab. Il est doté d'une interface graphique permettant le contrôle interactif de la continuation : calcul d'une portion de branche, choix d'une direction lors d'un point de bifurcation, changement de sens, saut, "visualisation utilisateur" d'un point solution, choix puis effaçement d'une portion de branche non désirée. Cet ensemble de fonction apporte une souplesse et une efficacité très appréciable lors de la continuation.

## 2. Type de problèmes traités

La méthode de continuation MAN utilisée dans Manlab repose sur la recherche des branches de solutions sous la forme de séries entières en fonction d'un paramètre de chemin $a$ :

$$U(a) = \sum_{i=0}^{ordre} a^i U^i \qquad (2)$$

Tout l'intérêt est de pousser le calcul des séries à des ordres élevés, ce qui fournit des représentations riches en information sur la branche. Ceci n'est possible que si le vecteur d'équation $R$ est écrit dans un formalisme simple et adapté. Lorsque $R$ est quadratique par rapport à $U$, le calcul des séries est simple et efficace. C'est ce formalisme quadratique que nous adaptons ici :

$$R(U) = L0 + L(U) + Q(U, U) = 0 \qquad (3)$$

avec $R$ étant le vecteur résidu du système d'équation, $dim(R) = n$, $U$ le vecteur inconnu $dim(U) = n + 1$, $L0$ étant un vecteur constant, $L$ un opérateur linéaire en $U$, et $Q$ un opérateur bilinéaire en $U$. Le formalisme de (3) pourrait paraître restrictif, mais en fait, il n'en est rien. Nous renvoyons le lecteur aux articles du numéro spécial de la Revue Européenne des Eléments Finis consacré à la MAN Vol 13 °1&2 2004 pour voir comment de nombreux problèmes de mécanique et de physique s'écrivent dans ce formalisme. Avec quelques aménagements supplémentaires, voir [ARQ 05] et [POT 97], il est possible de traiter une large classe de systèmes non linéaires algébriques réguliers.

## 3. Mise en donnée

La mise en donnée se réduit à l'écriture des fonctions $L0$, $L$ et $Q$, dont la somme permet d'évaluer le vecteur résidu $R$. On note que l'utilisateur n'a pas à fournir la matrice jacobienne $\frac{\partial R}{\partial U}$, celle-ci étant automatiquement évaluée de façon exacte. La souplesse apportée par le langage interprété Matlab apporte une grande ouverture et une prise en main rapide de l'ensemble de la solution proposée. Des appels à des routines externes provenant par exemple de code éléments finis sont envisageables.
# 4. Interactivité

Une fois le problème utilisateur défini et l'interface de Manlab lancée (voir figure 2), Manlab recherche un point de départ solution en corrigant un point approché donné par l'utilisateur. Ensuite, les boutons de l'interface permettent de commander le calcul des branches qui s'affichent au fur et à mesure. Le point courant de calcul est matérialisé graphiquement par un carré et une flèche, la flèche indiquant la tangente à la courbe et le sens de parcourt de cette dernière. Il est possible à tout moments de repositionner le point courant sur n'importe quelles zones des courbes déja existantes et de lancer la construction des branches dans le sens inverse ou d'effectuer un saut<fnref n="2" />. Le repositionnement du point courant sur une zone quelconque permet aussi de "consulter" l'ensemble du vecteur *U* solution en executant par exemple une procédure d'affichage définie par l'utilisateur (voir figure 2 en bas).

# 5. Branchement par perturbation

L'ajout temporaire d'une perturbation dans les équations du problème (1) a pour effet de tranformer les bifurcations en quasi-bifurcations [SEY 94], [ALL 90]. C'est un moyen très simple de passer d'une branche à l'autre au niveau d'une bifurcation. Toute la difficulté est de suivre la branche perturbée sans sauter sur les branches voies. Cette opération, délicate avec Newton-Raphson, se fait naturellement avec la MAN. Manlab exploite judicieusement cette propriété afin de donner à l'utilisateur un contrôle quasi-systématique du comportement de la procédure de continuation aux points de bifurcations. Ainsi il est possible, en quelques clics de souris, de tourner à gauche, à droite, ou d'aller tout droit au niveau des points de bifurcation, voir figure 3. Ceci permet une exploration rapide et simple de l'ensemble des branches de solutions du système d'équations.

# 6. Conclusion

Dans cette communication, nous avons présenté un logiciel de continuation interactif à base de MAN permettant l'obtention et l'exploration de diagrammes de bifurcations complexes. Un site web contenant une notice et de nombreux exemples lui est consacré : http://www.lma.cnrs-mrs.fr/~manlab/

<footnote n="2">2. Le saut est composé d'une phase de prédiction tangente au premier ordre, et d'une phase de correction de type Newton-Raphson. La direction du saut est donnée par la tangente au point courant, et la longueur se règle à l'aide de la souris.</footnote>
<figure><img src="image_3.png" /><figcaption>**Figure 2.** Continuation sous Manlab des orbites périodiques d'un système non linéaire à deux degres de liberté. En haut à gauche : Interface de Manlab. En haut à droite : diagramme de continuation interactif. En bas : Exemples "d'affichages utilisateur".</figcaption></figure>
<figure><img src="image_4.png" /></figure>

**Figure 3.** A gauche : Exemple de diagramme de continuation dont les solutions sont deux paraboles qui s'intersectent en deux points de bifurcation. A droite : zoom sur un des deux points de bifurcation. La branche perturbée a permi le passage d'un parabole à une autre. Grâce à la très grande robustesse de la MAN (absence de sauts), cette procédure de branchement très simple est également très fiable.

# 7. Bibliographie

[ALL 90] ALLGOWER E. L. G. K., *Numerical continuation method, an introduction*, vol. 13 de Springer Series in Computation Mathematics, Springer-Verlag, 1990.

[ARQ 05] ARQUIER R., « Manlab : logiciel de continuation interactif (Manuel utilisateur) », http://www.lma.cnrs-mrs.fr/~manlab/, 2005.

[COC 94] COCHELIN B., DAMIL N., POTIER-FERRY M., « Asymptotic numerical methods and Pade approximants for non-linear elastic structures », *International journal for numerical methods in engineering*, vol. 37, 1994, p. 1187-1213.

[POT 97] POTIER-FERRY M., DAMIL N., BRAIKAT B., DESCAMP J., CADOU J. M., CAO H.-L., EL HAGE-HUSSEIN A., « Traitement des fortes non linéarités par la méthode asymptotique numérique », *Comptes Rendus de l'Académie des Sciences de Paris*, vol. t324 Serie II b, 1997, p. 171-177.

[POT 04] POTIER-FERRY P., CADON J. M., « Basic ANM Algorithms for path solving problems », *Revue Européenne des Éléments Finis*, vol. 13, 2004, p. 9-32.

[SEY 94] SEYDEL R., *Practical Bifurcation and Stability Analysis, from equilibrium to chaos*, Springer-Verlag, second edition, 1994.