Télécharger topoptim_10.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier topoptim_10.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. ** Non-linear topology optimization of a simple 2D structure in contact
  7. ** with a rigid sphere with prescribed displacement.
  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. * General options
  17. OPTI 'DIME' 2 'MODE' 'AXIS' 'ELEM' QUA4 ;
  18. OPTI 'TRAC' 'PSC' ;
  19.  
  20. * Bulk mesh
  21. p0 = 0.0 0.0 ;
  22. p1 = 0.0 -30.0e-3 ;
  23. p2 = 30.0e-3 -30.0e-3 ;
  24. p3 = 30.0e-3 0.0 ;
  25. lgn0 = DROI 30 p0 p1 ;
  26. lgn1 = DROI 30 p1 p2 ;
  27. lgn2 = DROI 30 p2 p3 ;
  28. lgn3 = DROI 30 p3 p0 ;
  29. msh0 = SURF (lgn0 ET lgn1 ET lgn2 ET lgn3) ;
  30.  
  31. * Indent mesh
  32. p5 = 0.0 20.0e-3 ;
  33. p6 = 20.0e-3 20.0e-3 ;
  34. arc0 = CERC 30 p0 p5 p6 ;
  35.  
  36. * Model and material
  37. mod0 = MODE msh0 'MECANIQUE' 'ELASTIQUE' ;
  38. mat0 = MATE mod0 'YOUN' 0.1e9 'NU' 0.4 ;
  39.  
  40. * Time steps
  41. nbstp0 = 20 ;
  42. time0 = 2.0 ;
  43. lst_tps0 = PROG 0.0 'PAS' (time0 / (FLOT nbstp0)) time0 ;
  44.  
  45. * Boundary conditions and loading
  46. bc1 = (BLOQ 'UR' lgn0) ET (BLOQ 'UZ' lgn1) ET (BLOQ 'UR' arc0) ;
  47. bc2 = BLOQ 'UZ' arc0 ;
  48. evol0 = EVOL 'MANU' 'Temps' lst_tps0 'Coef'
  49. (PROG 0.0 'PAS' (1.0 / (FLOT nbstp0)) 1.0) ;
  50. load0 = CHAR 'DIMP' (DEPI bc2 -2.0e-3) evol0 ;
  51.  
  52. * Contact
  53. ct0 = IMPO 'MAIL' 5.0 arc0 lgn3 ;
  54. modct0 = MODE ct0 'CONTACT' 'FROTTANT' 'COULOMB' ;
  55. matct0 = MATE modct0 'MU' 0.5 ;
  56.  
  57. * Factor evolutions
  58. pfct0 = EVOL 'MANU' 'CYCLES' (PROG 1 6) 'P' (PROG 1.0 3.0) ;
  59. qfct0 = EVOL 'MANU' 'CYCLES' (PROG 2 32) 'Q' (PROG 1.0 10.0) ;
  60.  
  61. * Finite element model table
  62. mdl0 = TABL ;
  63. mdl0.'MODELE' = mod0 ET modct0 ;
  64. mdl0.'CARACTERISTIQUES' = mat0 ET matct0 ;
  65. mdl0.'BLOCAGES_MECANIQUES' = bc1 ET bc2 ;
  66. mdl0.'CHARGEMENT' = load0 ;
  67. mdl0.'TEMPS_CALCULES' = lst_tps0 ;
  68.  
  69. * Optimization table
  70. tab0 = TABL ;
  71. tab0.'RESOLUTION_PASAPAS' = mdl0 ;
  72. tab0.'FRACTION_VOLUME' = 0.2 ;
  73. tab0.'FACTEUR_P' = pfct0 ;
  74. tab0.'FACTEUR_Q' = qfct0 ;
  75. tab0.'SEUIL' = 1.0e-2 ;
  76. tab0.'MES_SAUVEGARDES' = TABL ;
  77. tab0.'MES_SAUVEGARDES'.'RESOLUTION' = VRAI ;
  78.  
  79. * Optimization
  80. TOPOPTIM tab0 ;
  81.  
  82. * Output data
  83. topo0 = tab0.'TOPOLOGIE'.(tab0.'CYCLE') ;
  84. topomsh0 = tab0.'MAILLAGE'.(tab0.'CYCLE') ;
  85. res0 = tab0.'RESOLUTION'.(tab0.'CYCLE') ;
  86.  
  87. * Deforme the mesh
  88. DEPL (msh0 ET arc0) 'PLUS' res0.'DEPLACEMENTS'.(1) ;
  89.  
  90. * Plot to screen
  91. TRAC (topomsh0 ET (arc0 COUL 'BLEU')) ;
  92. TRAC (REDU topo0 topomsh0) (REDU mod0 topomsh0)
  93. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0) ;
  94.  
  95. FIN ;
  96.  
  97.  
  98.  
  99.  

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