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.
- 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
- 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\hwsolvers\scripts
Comment mettre en place une optimisation de forme libre dans Flux
- 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édemmentRemarque : 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
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.
- 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.
- Une symétrie un axe
- Une contrainte sur le volume du rotor afin d'en diminuer son poids
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) :
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.
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% |