Télécharger topoptim5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : topoptim5.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 active
  8. ** zone.
  9. **
  10. ** Guenhael Le Quilliec (LMR - Polytech Tours)
  11. ** 2014/04/28
  12. ************************************************************************
  13.  
  14. * General options
  15. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' QUA4 ;
  16. OPTI 'TRAC' 'PSC';
  17.  
  18. * Mesh
  19. p0 = 0.0 0.0 ;
  20. p1 = 0.0 60.0 ;
  21. p2 = 30.0 0.0 ;
  22. p3 = 0.0 30.0 ;
  23. p4 = 30.0 25.0 ;
  24. p5 = 15.0 15.0 ;
  25. p6 = 19.0 15.0 ;
  26. lgn0 = DROI 60 p0 p1 ;
  27. lgn1 = DROI 30 p3 p1 ;
  28. ELIM lgn0 lgn1 0.01 ;
  29. msh0 = TRAN lgn0 30 p2 ;
  30. tmp0 = msh0 POIN 'SPHE' p5 p6 4.0 ;
  31. tmp0 = msh0 ELEM 'APPU' 'STRI' tmp0 ;
  32. msh0 = DIFF msh0 tmp0 ;
  33.  
  34. p2 = msh0 POIN 'PROC' p2 ;
  35. msh1 = msh0 POIN 'DROI' p3 p4 2.5 ;
  36. msh1 = msh0 ELEM 'APPU' 'STRI' msh1 ;
  37.  
  38. * Boundary conditions and loading
  39. bc0 = BLOQ 'UX' 'UY' lgn1 ;
  40. load0 = FORC (1.0 0.0) p2 ;
  41.  
  42. * Optimization table
  43. tab0 = TABL ;
  44. tab0.'MAILLAGE' = msh0 ;
  45. tab0.'ZONE_ACTIVE' = msh1 ;
  46. tab0.'BLOCAGES_MECANIQUES' = bc0 ;
  47. tab0.'CHARGEMENT' = load0 ;
  48. tab0.'TAUX_FILTRAGE' = 10 ;
  49.  
  50. * Start value of P factor
  51. tab0.'P_FACTEUR' = 1.0 ;
  52. * Num of iters to hold P constant from start
  53. tab0.'P_STABLE' = 5 ;
  54. * Increment by this amount
  55. tab0.'P_INCREMENT' = 0.2 ;
  56. * Increment every 'P_NITER' iters
  57. tab0.'P_NITER' = 1 ;
  58. * Max value of 'P_NITER'
  59. tab0.'P_MAX' = 3.0 ;
  60.  
  61. * Start value of GSF
  62. tab0.'GSF_FACTEUR' = 1.0 ;
  63. * Num of iters to hold GSF constant from start
  64. tab0.'GSF_STABLE' = 10 ;
  65. * Increment by this amount
  66. tab0.'GSF_INCREMENT' = 0.05 ;
  67. * Increment every 'GSF_NITER' iters
  68. tab0.'GSF_NITER' = 1 ;
  69. * Max value of 'GSF_NITER'
  70. tab0.'GSF_MAX' = 5.0 ;
  71.  
  72. * Optimization
  73. TOPOPTIM tab0 ;
  74.  
  75. * Plot to screen
  76. TRAC (REDU tab0.'TOPOLOGIE_CH' tab0.'TOPOLOGIE_MAIL')
  77. (REDU tab0.'MODELE' tab0.'TOPOLOGIE_MAIL')
  78. (PROG 0.0 'PAS' (1.0 / 56.0) 1.0) ;
  79.  
  80. FIN;
  81.  
  82.  
  83.  
  84.  

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