Télécharger topoptim_07_Circular_period.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier topoptim_07_Circular_period.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. ** Topology optimization of a simple 2D structure subjected to a
  7. ** mechanical loading, with a circular periodicity restriction.
  8. **
  9. ** Author:
  10. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  11. **
  12. ** Version:
  13. ** V2.0 2025/11/13 Updated to make it compatible with TOPOPTIM V4.0
  14. ** V1.0 2017/04/18 Original version compatible with TOPOPTIM V2.1
  15. ************************************************************************
  16.  
  17. * Plot results
  18. graph0 = FAUX ;
  19.  
  20. * General options
  21. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' 'QUA4' ;
  22.  
  23. * Number of elements
  24. nelr0 = 20 ;
  25. nelt0 = 60 ;
  26.  
  27. * Dimensions
  28. r1 = nelr0 * 1.0 ;
  29. r2 = nelt0 * 1.0 ;
  30.  
  31. * Mesh
  32. p0 = 0.0 0.0 ;
  33. p1 = r1 0.0 ;
  34. p2 = r2 0.0 ;
  35. ln1 = LIGN nelt0 p0 p1 360.0 'ROTA' ;
  36. ln2 = LIGN nelt0 p0 p2 360.0 'ROTA' ;
  37. msh0 = ln1 REGL nelr0 ln2 ;
  38. ELIM msh0 1.0e-9 ;
  39.  
  40. * Model and material
  41. mod0 = MODE msh0 'MECANIQUE' 'ELASTIQUE' ;
  42. mat0 = MATE mod0 'YOUN' 210.0e9 'NU' 0.3 ;
  43.  
  44. * Boundary conditions
  45. bc0 = BLOQ 'DEPL' ln1 ;
  46.  
  47. * Loading
  48. load0 = FORC (0.0 -1.0) p2 ;
  49.  
  50. * Finite element model table
  51. mdl0 = TABL ;
  52. mdl0.'MODELE' = mod0 ;
  53. mdl0.'CARACTERISTIQUES' = mat0 ;
  54. mdl0.'BLOCAGES_MECANIQUES' = bc0 ;
  55. mdl0.'CHARGEMENT' = load0 ;
  56.  
  57. * Optimization table
  58. tab0 = TABL ;
  59. tab0.'TRAC' = graph0 ;
  60. tab0.'RESOLUTION_LINEAIRE' = mdl0 ;
  61. tab0.'FRACTION_VOLUME_LIMITE' = 0.5 ;
  62. tab0.'RESTRICTIONS' = TABL ;
  63. tab0.'RESTRICTIONS'.(1) = TABL ;
  64. tab0.'RESTRICTIONS'.(1).'TYPE' = MOT 'PERIODICITE_CIRCULAIRE' ;
  65. tab0.'RESTRICTIONS'.(1).'PERIODES' = 3 ;
  66. tab0.'RESTRICTIONS'.(1).'POIN1' = p0 ;
  67. *tab0.'FILTRE' = MOT 'EDP' ;
  68. *tab0.'FILTRE_EDP_RAYON' = 2.0 * r1 / (FLOT nelr0) ;
  69. *tab0.'FILTRE' = MOT 'CHAPEAU' ;
  70. *tab0.'FILTRE_CHAPEAU_RAYON' = 2.5 * r1 / (FLOT nelr0) ;
  71. *tab0.'FILTRER' = MOT 'DENSITE' ;
  72. *tab0.'OPTIMISEUR' = MOT 'MMA' ;
  73.  
  74. * Optimization
  75. TOPOPTIM tab0 ;
  76.  
  77. * Plot final topology (physical density)
  78. topo0 = tab0.'TOPOLOGIE'.(tab0.'CYCLE') ;
  79. topomsh0 = tab0.'MAILLAGE'.(tab0.'CYCLE') ;
  80. SI graph0 ;
  81. TRAC (REDU topo0 topomsh0) (REDU mod0 topomsh0)
  82. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0)
  83. 'TITR' 'Topologie finale' ;
  84. FINS ;
  85.  
  86. * Plot output evolutions
  87. SI graph0 ;
  88. REPE loop0 (DIME tab0.'EVOLUTIONS_SAUVEES') ;
  89. evoname0 = EXTR tab0.'EVOLUTIONS_SAUVEES' &loop0 ;
  90. DESS tab0.'EVOLUTIONS'.evoname0 'POSY' 'EXCE'
  91. 'TITR' (CHAI 'Evolution de' ' ' evoname0
  92. ' au cours des cycles d''optimisation') ;
  93. FIN loop0 ;
  94. FINS ;
  95.  
  96. FIN ;
  97.  
  98.  
  99.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales