Télécharger topoinfo.procedur

Retour à la liste

Numérotation des lignes :

  1. * TOPOINFO PROCEDUR FD218221 25/12/18 21:15:07 12429
  2.  
  3. ************************************************************************
  4. ** Procedure called by TOPOPTIM for giving information and remarks
  5. ** at the beginning of the optimization loop.
  6. **
  7. ** Author:
  8. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  9. **
  10. ** Version:
  11. ** 2.0 2025/12/05 Made compatible with TOPOPTIM V4.0
  12. ** 1.0 2021/04/15 Initial version
  13. ************************************************************************
  14.  
  15. DEBP TOPOINFO tab*'TABLE' ;
  16.  
  17. * Input data
  18. * **********
  19.  
  20. Wtab = tab.'WTABLE' ;
  21. Ltab = Wtab.'LOGIQUE' ;
  22.  
  23. cyc = Wtab.'CYCLE' ;
  24.  
  25. * Informations
  26. * ************
  27.  
  28. SI (Wtab.'ITERATION' EGA 1) ;
  29.  
  30. SI (cyc EGA 1) ;
  31.  
  32. MESS 'Informations sur l''optimisation topologique :' ;
  33. MESS '==============================================' ;
  34.  
  35. * General information
  36. * *******************
  37.  
  38. MESS ' ' ;
  39.  
  40. * Type of problem
  41. SI Ltab.'PASAPAS' ;
  42. MESS ' - Resolution non lineaire (via la procedure PASAPAS)' ;
  43. SINO ;
  44. MESS ' - Resolution lineaire (via l''operateur RESO)' ;
  45. FINS ;
  46. SI (Ltab.'MECANIQUE' ET Ltab.'THERMIQUE') ;
  47. MESS ' d''un probleme thermo-mecanique' ;
  48. SINO ;
  49. SI Ltab.'MECANIQUE' ;
  50. MESS ' d''un probleme mecanique' ;
  51. FINS ;
  52. SI Ltab.'THERMIQUE' ;
  53. MESS ' d''un probleme thermique' ;
  54. FINS ;
  55. FINS ;
  56.  
  57. * Multicases and/or geometric restrictions
  58. SI Ltab.'CAS_MULTIPLES' ;
  59. MESS ' avec de multiples (' Wtab.'NB_CAS' ') cas de charge' ;
  60. SI Ltab.'RESTRICTIONS' ;
  61. MESS ' et des restrictions geometriques' ;
  62. FINS ;
  63. SINO ;
  64. SI Ltab.'RESTRICTIONS' ;
  65. MESS ' avec des restrictions geometriques' ;
  66. FINS ;
  67. FINS ;
  68.  
  69. * Mesh
  70. * ****
  71.  
  72. MESS ' ' ;
  73. MESS ' - Le maillage global comporte' ' ' (NBEL Wtab.'MAILLAGE_B') ' elements' ;
  74.  
  75. * User-defined procedure call(s)
  76. * ******************************
  77.  
  78. SI tab.'PROCEDURE_TOPOUPDT' ;
  79. MESS ' ' ;
  80. MESS ' - Appel d''une procedure de mise a jour avant resolution (TOPOUPDT)' ;
  81. FINS ;
  82. SI tab.'PROCEDURE_TOPOPERS' ;
  83. MESS ' ' ;
  84. MESS ' - Appel d''une procedure utilisateur au demarrage et a la fin de' ;
  85. MESS ' chaque cycle d''optimisation (TOPOPERS)' ;
  86. FINS ;
  87.  
  88. * Optimizer
  89. * *********
  90.  
  91. MESS ' ' ;
  92.  
  93. SI (EGA tab.'OPTIMISEUR' 'OC') ;
  94. MESS ' - Optimisation par algorithme de bissection de type OC' ;
  95. MESS ' (Optimality Criteria, Bendsoe 1995)' ;
  96. SINO ;
  97. MESS ' - Algorithme d''optimisation de type MMA' ;
  98. MESS ' (Method of Moving Asymptotes, Svanberg 1987)' ;
  99. SI (EXIS Wtab.'RESOLUTION_B' 'SENSIBILITE_NORMALISEE_CHARGEMENT') ;
  100. MESS ' dans le cas particulier d''un chargement dependant de la topologie' ;
  101. FINS ;
  102. FINS ;
  103.  
  104. SI Ltab.'ZONE_FIGEE' ;
  105. MESS ' avec une portion du domaine initial figee' ;
  106. FINS ;
  107.  
  108. * Objective
  109. * *********
  110.  
  111. MESS ' ' ;
  112.  
  113. * Compliance
  114. SI Ltab.'OBJECTIF_COMPLIANCE' ;
  115. SI Ltab.'MECANISME' ;
  116. MESS ' . Objectif de maximisation des deplacements' ;
  117. MESS ' de sortie d''un mecanisme' ;
  118. FINS ;
  119. SI (Ltab.'MECANIQUE' ET ((ABS tab.'POIDS_ENERGIE_DEFO') > tab.'PRECISION')) ;
  120. MESS ' . Objectif de minimisation de l''energie de' ;
  121. MESS ' deformation elastique totale' ;
  122. FINS ;
  123. SI (Ltab.'THERMIQUE' ET ((ABS tab.'POIDS_ENERGIE_DEFO') > tab.'PRECISION')) ;
  124. MESS ' . Objectif de minimisation de la compliance' ;
  125. MESS ' thermique totale' ;
  126. FINS ;
  127. FINS ;
  128.  
  129. * Volume
  130. SI Ltab.'OBJECTIF_VOLUME' ;
  131. MESS ' . Objectif de minimisation de la fraction volumique' ;
  132. MESS ' de matiere' ;
  133. FINS ;
  134.  
  135. * Constraints
  136. * ***********
  137.  
  138. SI Ltab.'CONTRAINTE_VOLUME' ;
  139. MESS ' ' ;
  140. SI (EGA tab.'OPTIMISEUR' 'OC') ;
  141. MESS ' . Avec limitation de la fraction volumique = ' tab.'FRACTION_VOLUME_LIMITE' ;
  142. SINO ;
  143. MESS ' . Avec limitation de la fraction volumique <= ' tab.'FRACTION_VOLUME_LIMITE' ;
  144. FINS ;
  145. FINS ;
  146.  
  147. SI Ltab.'CONTRAINTE_SIGMA_VM' ;
  148. MESS ' ' ;
  149. MESS ' . Avec limitation de la contrainte de von Mises <= ' tab.'SIGMA_VM_LIMITE' ;
  150. SI Ltab.'VERBART' ;
  151. MESS ' suivant l''approche de Verbart et al. 2017' ;
  152. FINS ;
  153. SI Ltab.'CONIGLIO' ;
  154. MESS ' suivant l''approche de Coniglio et al. 2018' ;
  155. FINS ;
  156. SI (EGA Wtab.'AGREGATION' 'KSL') ;
  157. MESS ' en considerant une fonction d''agregation de type KSl' ;
  158. FINS ;
  159. SI (EGA Wtab.'AGREGATION' 'KSU') ;
  160. MESS ' en considerant une fonction d''agregation de type KSu' ;
  161. FINS ;
  162. SI (EGA Wtab.'AGREGATION' 'PNOR') ;
  163. MESS ' en considerant une fonction d''agregation de type P-norm' ;
  164. FINS ;
  165. SI (EGA Wtab.'AGREGATION' 'PMOY') ;
  166. MESS ' en considerant une fonction d''agregation de type P_mean' ;
  167. FINS ;
  168. FINS ;
  169.  
  170. * Filter
  171. * ******
  172.  
  173. MESS ' ' ;
  174.  
  175. * Field to be filtered
  176. SI Ltab.'FILTRE_SENSIBILITE_OBJECTIF' ;
  177. MESS ' - Filtrage de la sensibilite de l''objectif' ;
  178. FINS ;
  179. SI Ltab.'FILTRE_SENSIBILITES_CONTRAINTES' ;
  180. MESS ' - Filtrage de la sensibilite des contraintes d''optimisation' ;
  181. MESS ' (limitations)' ;
  182. FINS ;
  183. SI Ltab.'FILTRE_DENSITE' ;
  184. MESS ' - Filtrage de la densite en utilisant un filtre' ;
  185. FINS ;
  186.  
  187. * Type of filter
  188. SI (EGA tab.'FILTRE' 'EDP') ;
  189. MESS ' par EDP de type Helmholtz (Lazarov et Sigmund 2010)' ;
  190. FINS ;
  191. SI (EGA tab.'FILTRE' 'CHAPEAU') ;
  192. MESS ' de type chapeau (Bruns et Tortorelli 2001)' ;
  193. FINS ;
  194. SI (EGA tab.'FILTRE' 'GIBIANE') ;
  195. MESS ' par interpolations successives (en Gibiane)' ;
  196. FINS ;
  197.  
  198. * Binarization
  199. * ************
  200.  
  201. SI Ltab.'PROJECTION' ;
  202. MESS ' ' ;
  203. MESS ' - Binarization par projection de la densite' ;
  204. SI (EGA tab.'PROJECTION' 'GUEST_2004') ;
  205. MESS ' avec une fonction hyperbolic (Guest 2004)' ;
  206. SINO ;
  207. MESS ' avec une fonction sigmoide hyperbolique' ;
  208. SI Ltab.'PROJECTION_VOLUME_CONSTANT' ;
  209. MESS ' a volume total constant'
  210. ' (seuil de projection automatique)' ;
  211. FINS ;
  212. FINS ;
  213. * Alert
  214. SI (NON Ltab.'FILTRE_DENSITE') ;
  215. MESS ' /!\ Il est conseille d''utiliser la projection avec le ' ;
  216. MESS ' filtrage de la densite.' ;
  217. FINS ;
  218. FINS ;
  219.  
  220. SI ((EGA tab.'OPTIMISEUR' 'OC') ET (Wtab.'OC_Q' > 1)) ;
  221. MESS ' ' ;
  222. MESS ' - Binarization par une fonction puissance' ;
  223. MESS ' dans l''algorithme d''OC (Grey Scale Factor)' ;
  224. FINS ;
  225.  
  226. * Remark(s)
  227. * *********
  228.  
  229. SI (NEG (VALE 'RESO') 'ITER') ;
  230. SAUT 1 'LIGN' ;
  231. MESS 'Remarque :' ;
  232. MESS '==========' ;
  233. MESS ' ' ;
  234. MESS ' - L''option de resolution iterative n''est pas activee.' ;
  235. MESS ' Activez la pour de meilleures performances.' ;
  236. SI (EGA tab.'FILTRE' 'EDP') ;
  237. MESS ' D''autant plus que le filtre EDP est actif.' ;
  238. FINS ;
  239. FINS ;
  240. SAUT 1 'LIGN' ;
  241. MESS '-------------------------------------------------------------------------------' ;
  242. SAUT 1 'LIGN' ;
  243.  
  244. SINO ;
  245.  
  246. SAUT 1 'LIGN' ;
  247. MESS '+-----------------------------------------------------------------------------+' ;
  248. MESS (CHAI '| P R O C E D U R E T O P O P T I M : R E P R I S E no.' ' '
  249. 'FORMAT' '(I5)' (DIME tab.'REPRISES') '|'/79) ;
  250. MESS '+-----------------------------------------------------------------------------+' ;
  251. SAUT 1 'LIGN' ;
  252.  
  253. * Alert
  254. SI ((NON (EXIS tab 'RTABLE')) ET (cyc > 1)) ;
  255. MESS ' /!\ Il est conseille de fournir une table de reprise ' ;
  256. MESS ' pour faciliter la reprise d''une optimisation.' ;
  257. SAUT 1 'LIGN' ;
  258. FINS ;
  259.  
  260. FINS ;
  261.  
  262. FINS ;
  263.  
  264. FINP ;
  265.  
  266.  
  267.  

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