Télécharger topoptim5.dgibi

Retour à la liste

Numérotation des lignes :

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

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