$$$$ TOPOPTIM NOTICE FD218221 23/11/29 21:15:12 11799 DATE 23/11/29 CETTE PROCEDURE A ETE MISE GRACIEUSEMENT A DISPOSITION DE LA COMMUNAUTE CAST3M PAR Guenhael Le Quilliec Laboratoire de Mecanique Gabriel Lame Universite de Tours, Universite d Orleans, INSA Centre Val de Loire Polytech Tours, 7 avenue Marcel Dassault, 37200 Tours, France Procedure TOPOPTIM Voir aussi : TOPOACTI TOPOBOOT __________________ TOPOCHAN TOPODENS TOPOFCTR TOPOFILT TOPOINFO TOPOLOGY TOPOMATE TOPORESO TOPORSTR TOPOSAUV TOPOSENS TOPOSURF TOPOPTIM TAB1 ; TAB1. CONVERGENCE OC_L2 CRITERE OC_L2_MIN CYCLE OC_MAX_IT CYCLES_SAUVEGARDES POIDS_ENERGIE_DEFO FACTEUR_D POIDS_MECANISME FACTEUR_P POIDS_TEMPERATURE FACTEUR_Q PRECISION FRACTION_VOLUME PROCEDURE_TOPOPERS FILTRE RAPPORT_RAIDEURS_MECANIQUES FILTRE_CRITERE RAPPORT_RAIDEURS_THERMIQUES FILTRE_EXPOSANT RESOLUTION FILTRE_RAYON RESOLUTION_LINEAIRE FILTRE_TAUX RESOLUTION_PASAPAS MAILLAGE RESTRICTIONS MAX_CYCLES SEUIL MECANISME TOPOLOGIE MECANISME_ZERO_SPRING TOPOLOGIE_MAX_INC MES_SAUVEGARDES TOPOLOGIE_MIN OC_B_MIN TRAC OC_CRITERE ZERO_DIVISION OC_L1 ZONE_FIGEE Objet : _______ Cette procedure permet d effectuer une optimisation topologique d une structure soumise a un chargement mecanique et/ou thermique, en considerant un comportement lineaire ou non-lineaire, avec ou sans restrictions geometriques sur la topologie de sortie. Elle permet aussi d effectuer une synthese d un mecanisme souple. Commentaires : ______________ La premiere version de cette procedure s inspirait directement des travaux de O. Sigmund ainsi que ceux de W. Hunter. La version actuelle (3.0) a ete adaptee pour traiter les non-linearites (contact, plasticite, grandes deformations, grands deplacements et grandes rotations), sous chargements multiphysiques. Il est possible d ajouter des restrictions geometriques sur la topologie de sortie (e.g. une periodicite). Elle est entierement ecrite en Gibiane afin de faciliter les developpements pour les utilisateurs avances. Deux filtres differents sont proposes : - Le filtre GIBIANE qui, comme son nom l indique, est ecrit en language Gibiane et qui correspond a des interpolations successives entre les noeuds et les points d integration afin d assurer des performances correctes meme sur des maillages denses. - Le filtre MATRICE qui fait appel a l operateur MFIL et qui est particulierement adapte au cas des maillages de mailles de tailles heterogenes. Quand l exposant vaut 1.0, ce filtre est identique a celui propose dans les travaux de O. Sigmund. L operation de filtrage est assuree par la procedure TOPOFILT que les utilisateurs avances peuvent redefinir avant de faire appel a TOPOPTIM. L etape de resolution, les restrictions geometriques, les mises a jour du materiau (pour tenir compte de la densite), de la sensibilite et de la topologie sont elles aussi assurees par des procedures externes : TOPORESO, TOPORSTR, TOPOMATE, TOPOSENS et TOPOLOGY respectivement. La encore, les utilisateurs avances peuvent redefinir ces procedures avant de faire appel a TOPOPTIM. Enfin, une procedure personnelle TOPOPERS peut etre appelee a chaque cycle d optimisation, juste apres la resolution, donnant a l utilisateur la possibilite d intergir avec TOPOPTIM au cours du processus d optimisation. Il peut par exemple appliquer sa propre fonction objectif et calculer son propre champs de sensibilite, ou bien encore creer ses propres restrictions geometriques... Remarques : ___________ Le facteur d amortissement (FACTEUR_D) permet d attenuer les phenomenes oscillatoires lors des cycles d optimisation mais ralentit en contrepartie la convergence. Le facteur de penalite (FACTEUR_P) a en quelque sorte pour role de favoriser la creation de branches dans la topologie en amplifiant les valeurs proches de 0 ou 1 et d atenuer les zones de valeurs intermediaires. Le facteur d echelle de gris (FACTEUR_Q) a pour role d eliminer les valeurs intermidaires pour obtenir au final une topologie binaire constituee essentiellement de 0 et de 1. L etape de filtrage a pour role de flouter la sensibilite afin d attenuer l influence du maillage sur le resultat de l optimisation topologique. Pour debuter, il est preferable de garder a 1 les facteurs de penalite et d echelle de gris pour ajuster convenablement les parametres de filtrage. Puis on ajustera dans un second temps le facteur de penalite pour terminer par ajuster le facteur d echelle de gris. Les valeurs des trois facteurs FACTEUR_D, FACTEUR_P and FACTEUR_Q sont mises a jour au debut de chaque cycle par la procedure TOPOFCTR que les utilisateurs avances peuvent redefinir avant de faire appel a TOPOPTIM. Il est possible de stopper le processus a tout instant avec Ctrl+C et analyser/modifier/sauvegarder les donnees de TAB1 (en mode interactif) puis eventuellement continuer l optimisation en redonnant TAB1 a TOPOPTIM. Apres avoir utilise TOPOPTIM, la procedure TOPOSURF peut etre lancee afin d obtenir une surface maillee lissee de la topologie de sortie. Finallement, ce maillage peut etre sauve au format STL en utilisant la directive SORTIR. Ce format de fichier est souvent prefere pour les applications d impressions 3D. En entree : ___________ En entree, TAB1 sert a definir les options et les parametres de l optimisation. Les indices de l objet TAB1 sont des mots (a ecrire en toutes lettres, et en majuscules s ils sont mis entre cotes) dont voici la liste : CRITERE : critere de convergence. Cette donnee est facultative et est egale a 0.01 par defaut. CYCLE : numero du precedent cycle a partir duquel l optimisation doit se poursuivre. Cette donnee est facultative et est egale a 0 par defaut. CYCLES_SAUVEGARDES : LISTENTI contenant la liste des cycles pour lesquels la procedure TOPOSAUV sauvegardera les resultats specifies par MES_SAUVEGARDES. Cette donnee est facultative et une LISTENTI vide par defaut. Le dernier cycle est toujours sauvegarde, qu il fasse ou non partie de LISTENTI. FACTEUR_D : FLOTTANT si constant ou EVOLUTION du facteur d amortissement au cours des cycles (fonction contenant en abscisse les cycles et en ordonnee les valeurs du facteur d amortissement). Cette donnee est facultative et est egale a 0.5 par defaut. Une valeur plus faible est generalement souhaitable dans le cas d une synthese de mecanisme souple. FACTEUR_P : FLOTTANT si constant ou EVOLUTION du facteur de penalite au cours des cycles (fonction contenant en abscisse les cycles et en ordonnee les valeurs du facteur de penalite). Cette donnee est facultative et est egale a 3.0 par defaut. FACTEUR_Q : FLOTTANT si constant ou EVOLUTION du facteur d echelle de gris au cours des cycles d optimisation (fonction contenant en abscisse les cycles et en ordonnee les valeurs du facteur d echelle de gris). Cette donnee est facultative et est egale a 1.0 par defaut. FRACTION_VOLUME : fraction de volume autorisee. Cette donnee est facultative et est egale a 0.4 par defaut. FILTRE : MOT indiquant le type de filtre a appliquer. Les valeurs possibles sont : 1 - GIBIANE : pour utiliser le filtre ecrit en Gibiane. 2 - MATRICE : pour utiliser le filtre faisant appel a une matrice de filtrage generee via MFIL. Cette donnee est facultative et est egale a GIBIANE par defaut. FILTRE_CRITERE : FLOTTANT correspondant au seuil de poids minimum a considerer lors de la construction de la matrice de filtrage. Cette donnee est facultative et est egale a 0.0 par defaut. Cette donnee n est utilisee que dans le cas ou FILTRE vaut MATRICE. FILTRE_EXPOSANT : FLOTTANT correspondant a l exposant a appliquer dans le calcul des poids lors de la construction de la matrice de filtrage. Cette donnee est facultative et est egale a 1.0 par defaut. Cette donnee n est utilisee que dans le cas ou FILTRE vaut MATRICE. FILTRE_RAYON : FLOTTANT correspondant au rayon maximum des noeuds voisins dans le calcul des poids lors de la construction de la matrice de filtrage. Cette donnee n est utilisee que dans le cas ou FILTRE vaut MATRICE. FILTRE_TAUX : ENTIER correspondant au taux de filtrage de la sensibilite. Cette donnee est facultative et est egale a 1 par defaut. Cette donnee n est utilisee que dans le cas ou FILTRE vaut GIBIANE. MAX_CYCLES : nombre maximum de cycles d optimisation. Cette donnee est facultative et est egale a 100 par defaut. MECANISME : cette donnee permet d effectuer une synthese de mecanisme souple. Elle indique la direction dans laquelle les deplacements doivent etre maximises sous l effet du chargement applique. Pour un cas de charge unique, la direction est donnee sous la forme d un simple objet forces. Pour un cas de charges multiples, les directions sont donnees par une TABLE d objets forces. Chaque objet forces est de type CHPOINT dans le cas d une resolution lineaire, ou sous la forme d un objet de type CHARGEME, cree par l operateur CHAR, dans le cas d une resolution non-lineaire. Notons que la synthese de mecanismes souples est encore en developpement et principalement a destination des utilisateurs avances pour le moment. MECANISME_ZERO_SPRING : LOGIQUE indiquant s il faut aussi effectuer une resolution sans les ressorts appliques dans le cas d une synthese de mecanisme souple. Cette donnee est facultative et est egale a FAUX par defaut. MES_SAUVEGARDES : TABLE permettant de specifier quel resultats doivent etre sauves. Les indices de cette table sont : MAILLAGE : LOGIQUE valant VRAI pour sauver le maillage au cours de l optimisation. Cette donnee est facultative et est egale a VRAI par defaut. RESOLUTION : LOGIQUE valant VRAI pour sauver les resultats issus des resolutions effectuees au cours de l optimisation. Cette donnee est facultative et est egale a FAUX par defaut. TOPOLOGIE : LOGIQUE valant VRAI pour sauver la topologie au cours de l optimisation. Cette donnee est facultative et est egale a VRAI par defaut. OC_B_MIN : valeur minimale de B appliquee dans le cas d une synthese de mecanisme souple avec B**D correspondant au rapport entre le nouveau champ topologique et celui du cycle precedent. Cette donnee est facultative et est egale a 1.0e-10 par defaut. OC_CRITERE : valeur du critere de convergence pour l algorithme dicotomique du critere d optimalite. Cette donnee est facultative et est egale a 1.0e-8 par defaut. OC_L1 : valeur de la borne inferieure intiale de l interval de recherche pour l algorithme dicotomique du critere d optimalite. Cette donnee est facultative et est egale a 0.0 par defaut. OC_L2 : valeur de la borne superieure intiale de l interval de recherche pour l algorithme dicotomique du critere d optimalite. Cette donnee est facultative et est egale au maximum de la valeur absolue de la sensibilite courante. OC_L2_MIN : valeur minimale de la borne superieure de l interval de recherche pour l algorithme dicotomique du critere d optimalite. Cette donnee est facultative et est egale a 1.0e-40 par defaut. OC_MAX_IT : nombre maximum d iterations pour l algorithme dicotomique du critere d optimalite. Cette donnee est facultative et est egale a 1e5 par defaut. POIDS_TEMPERATURE : poids permettant d affecter la sensibilite a la minimisation de souplesse thermique par rapport aux autres criteres de sensibilite eventuels. Cette donnee est facultative et est egale par defaut a 0.0 dans le cas d une synthese de mecanisme souple ou 1.0 sinon. Pour ne pas etre sensible a la souplesse thermique, mettre ce parametre a zero. POIDS_MECANISME : poids permettant d affecter la sensibilite du critere pour la synthese de mecanisme souple par rapport aux autres criteres de sensibilite eventuels. Cette donnee est facultative et est egale a 1.0 par defaut. Pour ne pas etre sensible a ce critere, mettre ce parametre a zero. POIDS_ENERGIE_DEFO : poids permettant d affecter la sensibilite a la minimisation de l energie de deformation elastique par rapport aux autres criteres de sensibilite eventuels. Cette donnee est facultative et est egale par defaut a 0.0 dans le cas d une synthese de mecanisme souple ou 1.0 sinon. Pour ne pas etre sensible a l energie de deformation elastique, mettre ce parametre a zero. PRECISION : seuil de precision en deca duquelle on considere qu un nombre est nul. Cette donnee est facultative et est egale a 1.0e-9 par defaut. PROCEDURE_TOPOPERS : LOGIQUE indiquant si une procedure TOPOPERS a ete definie par l utilisateur. Auquel cas elle sera appelee a chaque cycle du processus d optimisation, juste apres la resolution. Cette donnee est facultative et est egale a FAUX par defaut. RAPPORT_RAIDEURS_MECANIQUES : valeur du rapport entre la raideur correspondant aux vides et celle de la matiere. Cette donnee est facultative et est egale par defaut a 1.0e-8 dans le cas d une synthese de mecanisme souple ou 0.0 sinon. Une valeur differente de 0.0 revient a considerer que les vides ont une certaine raideur. RAPPORT_RAIDEURS_THERMIQUES : valeur du rapport entre la conductivite correspondant aux vides et celle de la matiere. Cette donnee est facultative et est egale a 0.001 par defaut. Par exemple, si les vident correspondent a de l air, ce rapport doit etre celui de la conductivite de l air sur celle de la matiere. RESOLUTION_LINEAIRE : TABLE contenant les donnees de la simulation pour une resolution lineaire via la procedure RESO. Si cette table est donnee, alors RESOLUTION_PASAPAS ne doit pas etre fourni. Les indices de cette table sont : BLOCAGES_MECANIQUES : blocages mecaniques (type RIGIDITE) ou TABLE contenant les differents cas de blocages mecaniques. BLOCAGES_THERMIQUES : blocages thermiques (type RIGIDITE) ou TABLE contenant les differents cas de blocages thermiques. CARACTERISTIQUES : champ de caracteristiques materielles et geometriques si necessaire. CHARGEMENT : objet de type CHPOINT pour un cas de charge unique, ou bien de type TABLE contenant les differents cas de chargement, chacun de type CHPOINT. Dans le cas d un chargement thermo-mecanique, la resolution sera decouplee. Pour une resolution couplee, utiliser RESOLUTION_PASAPAS. MODELE : objet modele (type MMODEL) de la structure de comportement lineaire. RESOLUTION_PASAPAS : TABLE contenant les donnees de la simulation pour une resolution non-lineaire via la procedure PASAPAS. Si cette table est donnee, alors RESOLUTION_LINEAIRE ne doit pas etre fourni. Les indices de cette table sont ceux decrits dans la procedure PASAPAS a l exception des indices suivants qui peuvent etre donnes sous forme de TABLE pour les cas de chargements multiples : BLOCAGES_MECANIQUES : blocages mecaniques (type RIGIDITE) ou TABLE contenant les differents cas de blocages mecaniques, chacun de type RIGIDITE. BLOCAGES_THERMIQUES : blocages thermiques (type RIGIDITE) ou TABLE contenant les differents cas de blocages thermiques, chacun de type RIGIDITE. CHARGEMENT : chargement en fonction du parametre d evolution (type CHARGEME, cree par l operateur CHAR), ou TABLE contenant les differents cas de chargement, chacun de type CHARGEME. RESTRICTIONS : TABLE contenant les donnees sur les restrictions geometriques a appliquer. Cette donnee est facultative et aucune restriction n est applique par defaut. Les indices de cette TABLE sont des entiers correspondant aux numeros, de 1 a N, des N restrictions a appliquer. Les donnees relatives a chaque restriction sont elles-meme indiquees dans une TABLE. Les indices de la TABLE d une restriction sont : ZONE : partie du maillage sur lequel s applique la restriction. Ce maillage doit lui meme respecter la restriction a imposer a la topologie de sortie. Cette donnee est facultative et la restriction s applique par defaut sur l ensemble du domaine optimise. TYPE : MOT indiquant le type de restriction a appliquer. Les valeurs possibles sont : 1 - SYME_POIN : pour une symetrie centrale. 2 - SYME_DROI : pour une symetrie axiale. 3 - SYME_PLAN : pour une symetrie plane. 4 - PERIODICITE_AXIALE : pour une periodicite axiale 5 - PERIODICITE_CIRCULAIRE : pour une periodicite circulaire. POIN1 : un, deux ou trois points suivant le type de restriction. POIN2 Par exemple, pour SYME_PLAN, en 2D, seuls POIN1 et POIN2 POIN3 sont attendus. Pour le cas de la periodicite axiale, POIN1 et POIN2 donnent la direction et leur distance doit correspondre a la taille d une periode. PERIODES : nombre de periodes. Cette donnee est attendue uniquement pour PERIODICITE_AXIALE et pour PERIODICITE_CIRCULAIRE. SEUIL : valeur seuil du rapport des raideurs en deca duquelle les elements sont elimines pour accelerer le processus d optimisation. Cette donnee est facultative et est egale a 1.0e-9 par defaut. TOPOLOGIE : TABLE facultative qui peut contenir une topologie de depart imposee dont l indice doit etre egal a CYCLE (0 par defaut). Le maillage et le modele associes a ce champ topologique de depart n ont pas besoin d etre les memes que ceux donnes dans la table de resolution. Cela peut etre utile dans le cas d un raffinement de maillage entre plusieurs appels successifs a TOPOPTIM. TOPOLOGIE_MAX_INC : increment maximum d evolution du critere d optimalite entre deux cycles d optimisation successifs. Cette donnee est facultative et est egale a 0.2 par defaut. TOPOLOGIE_MIN: valeur minimale du champ topologique. Cette donnee est facultative et est egale par defaut a 0.001 dans le cas d une synthese de mecanisme souple ou 0.0 sinon. TRAC : LOGIQUE permettant de dessiner l evolution de la topologie a la fin de chaque cycle du processus d optimisation. Cette donnee est facultative et est egale a VRAI par defaut. ZERO_DIVISION : valeur utilisee pour eviter les divisions par zero lors des operations sur les champs de sensibilite. Cette donnee est facultative et est egale a 0.001 par defaut. ZONE_FIGEE : partie du maillage qui fera obligatoirement partie de la topologie optimisee. Cette donnee est facultative. En sortie : ___________ En sortie, TAB1 permet de retrouver differentes donnes dont voici la liste : CONVERGENCE : LOGIQUE indiquant si le critere de convergence a ete atteint. Dans le cas contraire, le nombre maximum de cycles d optimisation a ete atteint. MAILLAGE : TABLE contenant le maillage au cours de l optimisation. Si la sauvegarde du maillage n a pas ete specifiee dans MES_SAUVEGARDES, alors cette table est vide. Dans le cas contraire, les indices de cette table sont ceux des cycles auquels la sauvegarde a ete demandee ainsi que celui du dernier cycle d optimisation effectue. RESOLUTION : TABLE contenant les resultats issus des resolutions effectuees au cours de l optimisation. Si la sauvegarde des resolutions n a pas ete specifiee dans MES_SAUVEGARDES, alors cette table est vide. Dans le cas contraire, les indices de cette table sont ceux des cycles auquels la sauvegarde a ete demandee ainsi que celui du dernier cycle d optimisation effectue. TOPOLOGIE : TABLE contenant la topologie au cours de l optimisation. Si la sauvegarde de la topologie n a pas ete specifiee dans MES_SAUVEGARDES, alors cette table contient uniquement la topologie du dernier cycle d optimisation effectue. Dans le cas contraire, les indices de cette table sont ceux des cycles auquels la sauvegarde a ete demandee ainsi que celui du dernier cycle d optimisation effectue. Chaque topologie correspond a un champ scalaire de type MCHAML, exprime aux centres de gravite des elements du maillage initial. Exemples : __________ topoptim_01.dgibi topoptim_02.dgibi topoptim_03.dgibi topoptim_04.dgibi topoptim_05.dgibi topoptim_06.dgibi topoptim_07.dgibi topoptim_08.dgibi topoptim_09.dgibi topoptim_10.dgibi topoptim_11.dgibi
© Cast3M 2003 - Tous droits réservés.
Mentions légales