Télécharger topoptim_07.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier topoptim_07.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. ** Topology optimization of 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. ** 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. nelr0 = 20 ;
  23. nelt0 = 60 ;
  24. p0 = 0.0 0.0 ;
  25. p1 = 20.0 0.0 ;
  26. p2 = 60.0 0.0 ;
  27. lgn1 = LIGN nelt0 p0 p1 360.0 'ROTA' ;
  28. lgn2 = LIGN nelt0 p0 p2 360.0 'ROTA' ;
  29. msh0 = lgn1 REGL nelr0 lgn2 ;
  30. ELIM msh0 1.0e-9 ;
  31.  
  32. * Model and material
  33. mod0 = MODE msh0 'MECANIQUE' 'ELASTIQUE' ;
  34. mat0 = MATE mod0 'YOUN' 210.0e9 'NU' 0.3 ;
  35.  
  36. * Boundary conditions and loading
  37. bc0 = BLOQ 'DEPL' lgn1 ;
  38. load0 = FORC (0.0 -1.0) p2 ;
  39.  
  40. * Finite element model table
  41. mdl0 = TABL ;
  42. mdl0.'MODELE' = mod0 ;
  43. mdl0.'CARACTERISTIQUES' = mat0 ;
  44. mdl0.'BLOCAGES_MECANIQUES' = bc0 ;
  45. mdl0.'CHARGEMENT' = load0 ;
  46.  
  47. * Optimization table
  48. tab0 = TABL ;
  49. tab0.'RESOLUTION_LINEAIRE' = mdl0 ;
  50. tab0.'FRACTION_VOLUME' = 0.5 ;
  51. tab0.'RESTRICTIONS' = TABL ;
  52. tab0.'RESTRICTIONS'.(1) = TABL ;
  53. tab0.'RESTRICTIONS'.(1).'TYPE' = MOT 'PERIODICITE_CIRCULAIRE' ;
  54. tab0.'RESTRICTIONS'.(1).'PERIODES' = 3 ;
  55. tab0.'RESTRICTIONS'.(1).'POIN1' = p0 ;
  56. tab0.'TRAC' = graph0 ;
  57.  
  58. * Optimization
  59. TOPOPTIM tab0 ;
  60.  
  61. * Plot to screen
  62. topo0 = tab0.'TOPOLOGIE'.(tab0.'CYCLE') ;
  63. topomsh0 = tab0.'MAILLAGE'.(tab0.'CYCLE') ;
  64. SI graph0 ;
  65. TRAC (REDU topo0 topomsh0) (REDU mod0 topomsh0)
  66. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0) ;
  67. FINS ;
  68.  
  69. FIN ;
  70.  
  71.  
  72.  

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