Télécharger topoptim_08.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier topoptim_08.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. ** Topology optimization of a simple 2D structure subjected to a
  7. ** mechanical loading, with an axial periodicity restriction.
  8. **
  9. ** Author:
  10. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  11. **
  12. ** Version:
  13. ** V1.0 2017/04/18 Original version compatible with TOPOPTIM V2.1
  14. ************************************************************************
  15.  
  16. graph0 = FAUX ;
  17.  
  18. * General options
  19. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' QUA4 ;
  20.  
  21. * Mesh
  22. nelx0 = 120 ;
  23. nely0 = 30 ;
  24. p0 = 0.0 0.0 ;
  25. p1 = 0.0 (FLOT nely0) ;
  26. p2 = (FLOT nelx0) 0.0 ;
  27. lgn0 = DROI nely0 p0 p1 ;
  28. msh0 = TRAN lgn0 nelx0 p2 ;
  29. p2 = msh0 POIN 'PROC' p2 ;
  30. msh1 = msh0 ELEM 'APPU' 'STRI' (msh0 POIN 'DROI' p0 p1 90.1) ;
  31. DEPL 'TOUR' 20.0 p0 msh0 ;
  32.  
  33. * Model and material
  34. mod0 = MODE msh0 'MECANIQUE' 'ELASTIQUE' ;
  35. mat0 = MATE mod0 'YOUN' 210.0e9 'NU' 0.3 ;
  36.  
  37. * Boundary conditions and loading
  38. bc0 = (BLOQ 'UX' lgn0) ET (BLOQ 'UY' p2) ;
  39. load0 = FORC (0.0 -1.0) p1 ;
  40.  
  41. * Factor evolutions
  42. pfct0 = EVOL 'MANU' 'CYCLES' (PROG 5 15) 'P' (PROG 1.0 3.0) ;
  43. qfct0 = EVOL 'MANU' 'CYCLES' (PROG 25 105) 'Q' (PROG 1.0 5.0) ;
  44.  
  45. * Finite element model table
  46. mdl0 = TABL ;
  47. mdl0.'MODELE' = mod0 ;
  48. mdl0.'CARACTERISTIQUES' = mat0 ;
  49. mdl0.'BLOCAGES_MECANIQUES' = bc0 ;
  50. mdl0.'CHARGEMENT' = load0 ;
  51.  
  52. * Optimization table
  53. tab0 = TABL ;
  54. tab0.'RESOLUTION_LINEAIRE' = mdl0 ;
  55. tab0.'FRACTION_VOLUME' = 0.5 ;
  56. tab0.'FACTEUR_P' = pfct0 ;
  57. tab0.'FACTEUR_Q' = qfct0 ;
  58. tab0.'RESTRICTIONS' = TABL ;
  59. tab0.'RESTRICTIONS'.(1) = TABL ;
  60. tab0.'RESTRICTIONS'.(1).'ZONE' = msh1 ;
  61. tab0.'RESTRICTIONS'.(1).'TYPE' = 'PERIODICITE_AXIALE' ;
  62. tab0.'RESTRICTIONS'.(1).'PERIODES' = 3 ;
  63. tab0.'RESTRICTIONS'.(1).'POIN1' = p0 ;
  64. tab0.'RESTRICTIONS'.(1).'POIN2' = p2 / 4.0 ;
  65. tab0.'TRAC' = graph0 ;
  66.  
  67. * Optimization
  68. TOPOPTIM tab0 ;
  69.  
  70. * Plot to screen
  71. topo0 = tab0.'TOPOLOGIE'.(tab0.'CYCLE') ;
  72. topomsh0 = tab0.'MAILLAGE'.(tab0.'CYCLE') ;
  73. SI graph0 ;
  74. TRAC (REDU topo0 topomsh0) (REDU mod0 topomsh0)
  75. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0) ;
  76. FINS ;
  77.  
  78. FIN ;
  79.  
  80.  
  81.  

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