Télécharger topoptim.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ 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