Télécharger topoptim_05.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier topoptim_05.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. ** Topology optimization of a simple 2D structure subjected to a
  7. ** mechanical loading, with penalty factor, GSF, a hole and an frozen
  8. ** area.
  9. **
  10. ** Author:
  11. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  12. **
  13. ** Version:
  14. ** V3.0 2021/05/06 Updated to make it compatible with TOPOPTIM V3.0
  15. ** V2.0 2017/04/18 Updated to make it compatible with TOPOPTIM V2.0
  16. ** V1.0 2014/04/28 Original version compatible with TOPOPTIM V1.0
  17. ************************************************************************
  18.  
  19. graph0 = FAUX ;
  20.  
  21. * General options
  22. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' QUA4 ;
  23.  
  24. * Mesh
  25. p0 = 0.0 0.0 ;
  26. p1 = 0.0 60.0 ;
  27. p2 = 30.0 0.0 ;
  28. p3 = 0.0 30.0 ;
  29. p4 = 30.0 25.0 ;
  30. p5 = 15.0 15.0 ;
  31. p6 = 19.0 15.0 ;
  32. lgn0 = DROI 60 p0 p1 ;
  33. lgn1 = DROI 30 p3 p1 ;
  34. ELIM lgn0 lgn1 0.01 ;
  35. msh0 = TRAN lgn0 30 p2 ;
  36. tmp0 = msh0 POIN 'SPHE' p5 p6 4.0 ;
  37. tmp0 = msh0 ELEM 'APPU' 'STRI' tmp0 ;
  38. msh0 = DIFF msh0 tmp0 ;
  39.  
  40. p2 = msh0 POIN 'PROC' p2 ;
  41. msh1 = msh0 POIN 'DROI' p3 p4 2.5 ;
  42. msh1 = msh0 ELEM 'APPU' 'STRI' msh1 ;
  43.  
  44. * Model and material
  45. mod0 = MODE msh0 'MECANIQUE' 'ELASTIQUE' ;
  46. mat0 = MATE mod0 'YOUN' 210.0e9 'NU' 0.3 ;
  47.  
  48. * Boundary conditions and loading
  49. bc0 = BLOQ 'UX' 'UY' lgn1 ;
  50. load0 = FORC (1.0 0.0) p2 ;
  51.  
  52. * Factor evolutions
  53. pfct0 = EVOL 'MANU' 'CYCLES' (PROG 5 15) 'P' (PROG 1.0 3.0) ;
  54. qfct0 = EVOL 'MANU' 'CYCLES' (PROG 10 90) 'Q' (PROG 1.0 5.0) ;
  55.  
  56. * Finite element model table
  57. mdl0 = TABL ;
  58. mdl0.'MODELE' = mod0 ;
  59. mdl0.'CARACTERISTIQUES' = mat0 ;
  60. mdl0.'BLOCAGES_MECANIQUES' = bc0 ;
  61. mdl0.'CHARGEMENT' = load0 ;
  62.  
  63. * Optimization table
  64. tab0 = TABL ;
  65. tab0.'RESOLUTION_LINEAIRE' = mdl0 ;
  66. tab0.'ZONE_FIGEE' = msh1 ;
  67. tab0.'FILTRE_TAUX' = 10 ;
  68. tab0.'FACTEUR_P' = pfct0 ;
  69. tab0.'FACTEUR_Q' = qfct0 ;
  70. tab0.'TRAC' = graph0 ;
  71.  
  72. * Optimization
  73. TOPOPTIM tab0 ;
  74.  
  75. * Plot to screen
  76. topo0 = tab0.'TOPOLOGIE'.(tab0.'CYCLE') ;
  77. topomsh0 = tab0.'MAILLAGE'.(tab0.'CYCLE') ;
  78. SI graph0 ;
  79. TRAC (REDU topo0 topomsh0) (REDU mod0 topomsh0)
  80. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0) ;
  81. FINS ;
  82.  
  83. FIN ;
  84.  
  85.  
  86.  
  87.  

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