Optimisation de forme

Introduction

Dans Flux une optimisation de forme peut être lancée dans les applications Magnéto Statique ou Magnétique Transitoire de Flux 2D en mode Bêta seulement sur Windows, pour ce faire, un problème d'optimisation devra être définit. 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 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éfinit 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 complète, un couplage avec OptiStruct doit être fait avant de commencer quoi que ce soit :
  • Installer OptiStruct 2021.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_2021\hwsolvers\scripts

Comment mettre en place une optimisation de forme dans Flux

La première étape pour lancer une optimisation de forme 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 dans Flux.
  • Sélectionner le nœud Problème d'optimisation:
    • Régler le champ Minimisation ou maximisation sur la valeur choisi, ce champ permet de choisir si la fonction objective doit être minimiser ou maximiser.
    • 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 utiliser pour définir une fonction objecetive et plusieurs contraintes.
      Note: 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
      Note: 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.
      Note: Plusieurs contraintes peuvent aussi être sélectionnées en même temps
  • Dans le menu Résolution, sélectionner Lancer une Optimisation de forme, 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
  • Différentes options sont disponibles dans le nœud Options d'optimisation, plus d'informations sont disponibles à cette page
Note: Un algorithme similaire existe également en mode Avancé et s'appelle : Lancer Optimisation de forme (différences finies), cet algorithme n'est pas basée 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 avec tous types de capteurs et formules comme Réponses cependant, la désavantage de cette méthode est quelle est très gourmande en temps de calcul.

Limitations

Comme cette fonctionnalité n'est disponible qu'en mode bêta, elle comporte encore quelques limitations :
  • Pas de remaillage pendant le scénario de résolution (incluant la variation de paramètres géométriques, 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 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, la réponse choisie est le couple comme vu dans cette page, un chemin nécessaire au calcul du couple est montré dans la figure suivante :



Figure 2. Description du chemin nécessaire au calcul du couple avec les tenseurs de Maxwell
Définit avec un point par degré et un rayon dans l'entrefer du côté stator, ce chemin assure un bon calcul de couple, cette machine a quatre pôles.
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 3. Origine de l'axe de symétrie et axe 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és comme montré dans la figure ci-dessous :



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

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, 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 5. Design initial de la machine synchro-reluctante (a) et design finale 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 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 5 montre les configurations initiales et optimisées du rotor.
Table 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 6. Déplacement des nœuds du maillage pendant les itérations d'optimisation

Lecture complémentaire