Télécharger topoptim.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ TOPOPTIM NOTICE  CB215821  18/03/22    21:15:03     9786           
                                             DATE     18/03/22
                 

             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 : TOPOCHAN
    __________________                                    TOPOCRIT  
                                                          TOPOFILT  
                                                          TOPOMATE  
                                                          TOPORSTR  
                                                          TOPOSAUV  
                                                          TOPOSURF  
    TOPOPTIM TAB1 ;


    TAB1.  CONVERGENCE                     POIDS_ENERGIE_DEFO
           CRITERE                         POIDS_MECANISME
           CYCLE                           POIDS_TEMPERATURE
           CYCLES_SAUVEGARDES              PRECISION
           FACTEUR_D                       PROCEDURE_TOPOPERS
           FACTEUR_P                       RAPPORT_RAIDEURS_MECANIQUES
           FACTEUR_Q                       RAPPORT_RAIDEURS_THERMIQUES
           FRACTION_VOLUME                 RESOLUTION
           MAILLAGE                        RESOLUTION_LINEAIRE
           MAX_CYCLES                      RESOLUTION_PASAPAS
           MECANISME                       RESTRICTIONS
           MECANISME_ZERO_SPRING           SEUIL
           MES_SAUVEGARDES                 TAUX_FILTRAGE
           OC_B_MIN                        TOPOLOGIE
           OC_CRITERE                      TOPOLOGIE_MAX_INC
           OC_L1                           TOPOLOGIE_MIN
           OC_L2                           TRAC
           OC_L2_MIN                       ZERO_DIVISION
           OC_MAX_IT                       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 mecanism 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 (2.1) 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.

Le filtrage de la sensibilite est effectue ici par interpolations
successives entre les noeuds et les points d integration afin d assurer
des performances correctes tout en restant en language Gibiane. Cette
operation est assuree par la procedure TOPOFILT que les utilisateurs
avances peuvent redefinir avant de faire appel a TOPOPTIM.

Les restrictions geometriques, les mises a jour du materiau (pour tenir
compte de la densite) et les mises a jour de la topologie sont elles
aussi assurees par des procedures externes : TOPORSTR, TOPOMATE et
TOPOCRIT. 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 :
    ___________

Pour debuter, il est preferable de garder a 1 les facteurs de penalite
et d echelle de gris pour choisir convenablement le taux de filtrage.
Puis on ajustera dans un second temps le facteur de penalite pour
terminer par ajuster le facteur d echelle de gris.

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 EVOLITION du facteur
             d amortissement au cours des cycles (fonction contenant
             en abscisse les cycles et en ordonnee les valeurs du
             facteur d amortissement). Ce facteur permet d attenuer
             les phenomene oscillatoire lors des cycles d optimisation.
             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 EVOLITION 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 EVOLITION 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.

 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 a
         1.0e5 par defaut.

 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 1.0e5 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.

 TAUX_FILTRAGE : taux de filtrage de la sensibilite. Cette donnee est
                 facultative et est egale a 1 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.

TABLE that can contain an initial topology field whose
            index should be equal to CYCLE (0 by default). The
            mesh and model associated to this prescribed initial
            topology field do not need to be the same as those given
            in the resolution table. This can be useful in case of
            mesh refinement between several calls to TOPOPTIM. This
            data is optional. 


 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