Optimisation de forme libre

Introduction

Dans Flux une optimisation de forme libre peut être lancée dans les applications Magnéto Statique ou Magnétique Transitoire de Flux 2D, pour ce faire, un problème d'optimisation devra être défini. Un problème d'optimisation permet de définir la fonction objective et les contraintes comme vu dans cette partie.

Cette page abordera les sections suivantes :
  • Méthode adjointe
  • Couplage avec OptiStruct
  • Comment mettre en place une optimisation de forme libre dans Flux
  • Limitations
  • Exemple d'application

Méthode adjointe

Basé sur le mouvement des nœuds du maillage et non pas sur le mouvement des entités géométriques telles que les lignes et les points, la méthode adjointe permet le calcul semi-analytique de sensibilités ce qui permet de gagner énormément de temps en comparaison avec d'autres méthodes numériques telles que les différences finies. Tout en conservant les frontières des matériaux et des régions et sans que les éléments du maillage ne se chevauchent les nœuds du maillage vont se déplacer dans la direction la plus attractive qui est définie avec le calcul des sensibilités sur la fonction objective pour un scénario donné. Dans Flux, cette méthode requiert plusieurs informations structurelles telles que les lignes du dispositif électromagnétique où les nœuds du maillage peuvent bouger, cette méthode requiert également la définition d'un problème d’optimisation (réponse, fonction objective, contraintes) ainsi qu'un scénario de résolution. Il est à noter que c'est seulement le maillage qui se déplace et pas les entités géométriques, cependant il est toutefois possible de reconstruire la géométrie à partir du maillage avec la macro : CreateGeomFromOS.PFM disponible au chemin suivant .../Extensions/Macros/Macros_Flux2D_Shape_Optimization. Pour plus d'informations avec la méthode adjointe, voir cette page.

Couplage avec OptiStruct

Comme vu précédemment, le déplacement des nœuds est géré par le calcul des sensibilités calculé par Flux mais aussi par OptiStruct qui permet au maillage de bouger. Afin de compléter une optimisation de forme libre complète, un couplage avec OptiStruct doit être fait avant de commencer quoi que ce soit :
  • Installer OptiStruct2021.1 disponible sur https://altairone.com/Marketplace
  • Renseigner le chemin d'installation pour OptiStruct dans Superviseur Flux > Options > Logiciels couplés comme C:\Programmes\Altair\hwsolvers\scripts

Comment mettre en place une optimisation de forme libre dans Flux

La première étape pour lancer une optimisation de forme libre dans Flux est de définir un problème d'optimisation :
  • Dans l'arbre de données sur la gauche, dans le nœud Résolution, puis dans le nœud Optimisation, choisir le nœud Réponses, choisir ensuite une des réponses proposées dans la liste, une réponse est une quantité physique qui sera optimisé dans le problème, la liste de toutes les réponses est disponible dans cette page.
  • Choisir ensuite le nœud Contraintes dans l'arbre de données, trois types de contraintes peuvent être définies : une contrainte structurelle sur le volume, une contrainte de déplacement sur les nœuds du maillage (symétrie sur un axe ou sur deux axes perpendiculaires) et une contrainte physique utilisant une ou plusieurs Réponses. Pour plus d'information sur la liste des contraintes, veuillez consulter cette page. Il n'est pas obligatoire d'avoir des contraintes de définies pour lancer une optimisation de forme libre dans Flux.
  • Sélectionner le nœud Problème d'optimisation :
    • Régler le champ Minimisation ou maximisation sur la valeur choisie, ce champ permet de choisir si la fonction objective doit être minimisée ou maximisée.
    • Dans le champ Fonction objective à optimiser, choisir l'opération à effectuer sur la fonction objective, elle peut être faite soit dans la liste des opérations prédéfinies soit via une fonction personnalisée en utilisant Compose, si la fonction est définie avec Compose, un paramètre additionnel définissant le nom de la fonction Compose est requis. Un fichier de type oml peut être utilisé pour définir une fonction objective et plusieurs contraintes.
      Remarque : Plus d'informations sur les opérations prédéfinies et à propos de la fonction Compose sont disponibles dans cette page.
    • Sélectionner les Réponses et les Contraintes définies précédemment
      Remarque : Plusieurs réponses peuvent être sélectionnées en même temps, dans Flux cette fonctionnalité est appelée Multi-réponses où une concaténation des valeurs est effectuée. Pour plus de cohérence bien veiller à ce que les réponses sélectionnées soient du même ordre de grandeur.
      Remarque : Plusieurs contraintes peuvent aussi être sélectionnées en même temps
  • Dans le menu Résolution, sélectionner Lancer une Optimisation de forme libre, cette action requiert quelques actions :
    • Sélectionner les lignes où les nœuds du maillage peuvent bouger
    • Choisir un scénario de résolution
    • Choisir un répertoire de travail pour les fichiers temporaires qui seront créés au cours de l’optimisation
    • Sélectionner le problème d'optimisation défini précédemment
    • Sélectionner la stratégie de remaillage (avec ou sans), cette option permet d'améliorer l'optimisation en rajoutant des noeuds et des éléments lorsque ceux-ci deviennent de trop mauvaise qualité suite aux déplacements. Un réglage plus fin de cette option peut être effectué dans les Options d'optimisation.
  • Différentes options sont disponibles dans le nœud Options d'optimisation, plus d'informations sont disponibles dans cette page
Remarque : Un algorithme similaire existe également en mode Avancé et s'appelle : Lancer Optimisation de forme libre (différences finies), cet algorithme n'est pas basé sur la méthode adjointe comme vu précédemment mais sur la méthode des différences finies. Cette approche permet de lancer une Optimisation de forme libre avec tous types de capteurs et formules comme Réponses cependant, le principal inconvénient de cette méthode est son temps de calcul très élevé.

Limitations

  • Pas de remaillage pendant le scénario de résolution (incluant la variation de paramètres géométriques, et les ensembles mécaniques compressibles)
  • Pas de pas temps adaptatif en résolution
  • Quelques restrictions sur les lignes à sélectionner (pas de lignes entre deux faces avec le même matériau, pas de lignes sur le cylindre de glissement)
  • Le maillage dans la zone à optimiser doit être fin et régulier

Exemple

Cet exemple peut être vu comme une extension de l'exemple du superviseur disponible dans la section 2D Fiches applicatives et qui s'appelle : Optimisation de forme libre d'une machine synchro-reluctante

Considérons la modélisation de la machine électrique suivante représentée par un seul quart du dispositif complet.

Figure 1. Machine électrique a quatre pôles et trois phases de courant


Dans cet exemple, seule la forme du rotor sera optimisée dans le but de :
  • Réduire le poids du rotor
  • Augmenter la valeur moyenne du couple

Pour lancer l'optimisation de forme libre, la réponse choisie est le Couple calculée sur un chemin (Tenseur de Maxwell) comme vu dans cette page.

Dans ce problème d'optimisation, deux contraintes ont été choisies :
  • Une symétrie un axe
  • Une contrainte sur le volume du rotor afin d'en diminuer son poids
La contrainte de symétrie peut être définie comme suit :
Figure 2. Origine de l'axe de symétrie et axe de symétrie pour la contrainte de symétrie


L'origine de l'axe de symétrie est placé en (0,0) et l'axe de symétrie est placé en (0.5,0.5).

Pour les contraintes sur le volume, l'objectif est de réduire le volume de fer de 20%, dans la borne supérieure nous mettons donc 80% du volume initial et dans la borne inférieure 60%.

Même si au point de départ, le design initial n'est pas dans les bornes des contraintes, l'algorithme détériore la fonction objective afin de pouvoir faire rentrer le design dans les bornes, une fois ces bornes atteintes, l'algorithme viendra optimiser la fonction objective.

Dans la fonction objective, nous voulons Maximiser la Valeur Moyenne du Couple, la réponse précédemment choisie.

A la fin, les lignes où les nœuds peuvent bouger sont sélectionnées comme montré dans la figure ci-dessous (les lignes sont entourées en jaune) :

Figure 3. Lignes sélectionnées pour l'optimisation de forme libre


Le scénario est piloté avec l'ensemble mécanique et couvre une période électrique complète avec deux degrés par pas de temps.

En utilisant l'Optimisation de forme libre, nous obtenons plusieurs fichiers dans le dossier temporaire (.wmv pour HyperView) pour voir les résultats, il faut afficher le maillage dans le projet Project_OptimizationResults.FLU contenu dans le dossier temporaire.
Figure 4. Design initial de la machine synchro-reluctante (a) et design final de la machine synchro-reluctante (b)


Même si le moteur initial offre déjà de bonnes performances, l'utilisation de l'Optimisation de forme libre apporte des améliorations non négligeables. La Table 1, montre une augmentation de 4.8% du couple avec une réduction de 20% de la masse du rotor. La Figure 4 montre les configurations initiales et optimisées du rotor.
Tableau 1. Comparaison entre le design final et design initial de la machine synchro-reluctante
Design initial Design final Différence
Couple moyen (N.m) 11.9 12.5 + 4.8%
Masse du rotor (kg) 0.5 0.4 - 20%
Figure 5. Déplacement des nœuds du maillage pendant les itérations d'optimisation


Lecture complémentaire