Télécharger @otcoque.procedur

Retour à la liste

Numérotation des lignes :

  1. * @OTCOQUE PROCEDUR AM1 92/10/29 21:15:25 734
  2. *----------------------------------------------------------------------
  3. *
  4. * OTTIMIZZAZIONE PIASTRE A PESO MINIMO
  5. * E TENSIONE LIMITE IMPOSTA.
  6. *
  7. * REVISIONE : 30-7-92 AUTORI : DONARELLI, GIANNUZZI.
  8. * E N E A - VEL MEP TERMO
  9. *----------------------------------------------------------------------
  10. *
  11. DEBPROC @OTCOQUE CRIT*FLOTTANT NMIT*ENTIER
  12. SPEI*FLOTTANT VLIM*FLOTTANT STEC*FLOTTANT
  13. TMOD*TABLE TMAT*TABLE
  14. FORZE*CHPOINT VINCO*RIGIDITE
  15. PV*POINT ;
  16. *---------------------------------------------------------------
  17. * CRIT ERRORE SU SIGMA LIMITE ---------------------------------
  18. * NMIT NUMERO MASSIMO ITERAZIONI ------------------------------
  19. * SPEI SPESSORE INIZIALE ZONE ---------------------------------
  20. * VLIM SIGMA EQUIVALENTE VMISES LIMITE ------------------------
  21. * STEC SPESSORE MINIMO ----------------------------------------
  22. * TMOD TAVOLA CONTENENTE GLI OGG. MODELE DELLE ZONE -----------
  23. * TMAT TAVOLA CONTENENTE GLI OGG. MATERIAU DELLE ZONE ---------
  24. * FORZE CAMPO DI FORZE -----------------------------------------
  25. * VINCO RIGIDEZZA VINCOLI + ZONE NON OTTIMIZZATE ---------------
  26. * PV PUNTO DI VISTA PER TRACCIAMENTI -----------------------
  27. * --------------------------------------------------------------
  28. MESS ' ---------------------------------------------------' ;
  29. MESS ' ---------------------------------------------------' ;
  30. MESS ' ' ;
  31. MESS ' OTTIMIZZAZIONE PIASTRE A PESO MINIMO ' ;
  32. MESS ' ' ;
  33. MESS ' ---------------------------------------------------' ;
  34. MESS ' ---------------------------------------------------' ;
  35. MESS ' ' ;
  36. MESS ' ---------------------------------------------------' ;
  37. MESS ' OGNI QUANTE ITERAZIONI VUOI UNA STAMPA COMPLETA ? ' ;
  38. MESS ' ---------------------------------------------------' ;
  39. OBTENIR FSTAMP*ENTIER ;
  40. MESS ' ----------------------------------------------------------' ;
  41. MESS ' VALORE USUALE DEL COEFFICIENTE DI RILASSAMENTO -1.- ' ;
  42. MESS ' CONFERMARE O CAMBIARE VALORE ' ;
  43. MESS ' ----------------------------------------------------------' ;
  44. A=1. ;
  45. OBTENIR A1*FLOTTANT ;
  46. SI('NEG' A1 'NON' ) ;
  47. A=A1;
  48. FINSI;
  49. *
  50. TCAR = TABLE ;
  51. TRHO = TABLE ;
  52. TRIG = TABLE ;
  53. TMAI = TABLE ;
  54. NZ= DIME TMOD ;
  55. SCNEW = LECT NZ*0 ;
  56. TCOLD = LECT NZ*0 ;
  57. *
  58. * CARICAMENTO SPESSORI INIZIALI
  59. SPZO = PROG NZ * SPEI;
  60. *
  61. * CARATTERISTICHE GEOMETRICHE
  62. N=0 ;
  63. PESO =0. ;
  64. REPETER CA1 NZ;
  65. N=N+1 ;
  66. TCAR.N = CARA TMOD.N EPAI SPEI ;
  67. TRHO.N = EXCO TMAT.N RHO ;
  68. TMAI.N = EXTR TMOD.N 'MAIL' ;
  69. PESZ = INTG TMOD.N TRHO.N TCAR.N ;
  70. PESO = PESO + PESZ ;
  71. SI( N EGA 1) ;
  72. TTMOD = TMOD . 1 ;
  73. SINON ;
  74. TTMOD = TTMOD ET TMOD.N ;
  75. FINSI ;
  76. FIN CA1 ;
  77. PPESO = PROG PESO ;
  78. PITER = PROG 0. ;
  79. *
  80. * CICLO PRINCIPALE
  81. *
  82. NIT=0 ;
  83. REPETER BOUC1 NMIT;
  84. PESO=0. ;
  85. MERS= 0. ;
  86. NOCONV=1 ;
  87. NIT = NIT+1 ;
  88. SAUTER PAGE ;
  89. *SAUTER 2 LIGNE ;
  90. MESS ' ' ;
  91. MESS ' ==============================' ;
  92. MESS ' ITERAZIONE NUMERO ' NIT ;
  93. MESS ' ==============================' ;
  94. MESS ' ' ;
  95. *SAUTER 1 LIGNE ;
  96. *
  97. * COSTRUZIONE RIGIDEZZE
  98. RIGT= VINCO ;
  99. N=0 ;
  100. REPETER LOP11 NZ ;
  101. N=N+1 ;
  102. SI((EXTR SCNEW N) EGA 0) ;
  103. SI( NIT > 1 ) ;
  104. DETR ( TRIG.N) ;
  105. FINSI ;
  106. TRIG.N= RIGI TMOD.N (TMAT.N ET TCAR.N) ;
  107. FINSI;
  108. RIGT = RIGT ET TRIG.N ;
  109. FIN LOP11 ;
  110. *
  111. * RISOLUZIONE ALL ITERAZIONE -NIT-
  112. *
  113. DE1=RESO RIGT FORZE;
  114. *
  115. SI ( NIT EGA 1 );
  116. TITRE 'MAGLIATURA DELLA STRUTTURA ' ;
  117. MAGLIA= EXTR RIGT MAIL NOMU ;
  118. CMA = CONT MAGLIA;
  119. REPETER LOP55 ;
  120. MESS ' ------------------------------------------------';
  121. MESS ' DARE COEFFICIENTE DI AMPLIFICAZIONE FORZE ';
  122. MESS ' ------------------------------------------------';
  123. OBTENIR AMPX*FLOTTANT ;
  124. VF1 = VECT FORZE AMPX FX FY FZ ROUG ;
  125. TRAC PV RIGT VF1;
  126. MESS ' ------------------------------------------------';
  127. MESS ' VUOI COMBIARE L AMPLIFICAZIONE ? (SI/NO)';
  128. MESS ' ------------------------------------------------';
  129. OBTENIR SSNN*MOT ;
  130. SI('EGA' SSNN 'NO');
  131. QUITTER LOP55 ;
  132. FINSI ;
  133. FIN LOP55 ;
  134. FINSI ;
  135. *
  136. N=0 ;
  137. REPETER BOUC3 NZ;
  138. N=N+1;
  139. *
  140. * CALCOLO SPOSTAMENTI E TENSIONI PER OGNI ZONA
  141. DEZ = REDU DE1 TMAI.N ;
  142. SIGZ = SIGMA DEZ TMOD.N (TMAT.N ET TCAR.N) ;
  143. DETR DEZ ;
  144. *
  145. * TENSIONE VON MISES
  146. VMZ = VMIS TMOD.N SIGZ TCAR.N ;
  147. SI ( N EGA 1) ;
  148. VMT = VMZ ;
  149. SINON ;
  150. VMT = VMT ET VMZ ;
  151. FINSI ;
  152. DETR SIGZ ;
  153. *
  154. * TENSIONI MAX VON MISES E ERRORE MAX PER ZONA
  155. MVMZ =MAXIMUM VMZ ;
  156. XRSZ= ABS((MVMZ - VLIM) / VLIM ) ;
  157. ERSZ= XRSZ ;
  158. * AGGIORNAMENTO DELLO SPESSORE
  159. COEF= (1-A)+(A * MVMZ / VLIM ) ;
  160. SPE = EXTRAI SPZO N ;
  161. SPEN= SPE * COEF ;
  162. *
  163. * VERIFICA CONVERGENZA
  164. * E
  165. * AGGIORNAMENTO SPESSORI
  166. SI (ERSZ <EG CRIT ) ;
  167. * TENSIONI CONVERGENTI
  168. REMPLACE SCNEW N 1 ;
  169. SPEN = SPE ;
  170. SINON ;
  171. * TENSIONI NON CONVERGENTI
  172. SI (SPEN <EG STEC) ;
  173. SPEN= STEC ;
  174. ERSZ= 0. ;
  175. SI ((EXTR TCOLD N) EGA 1);
  176. REMPLACE SCNEW N 1 ;
  177. SINON ;
  178. NOCONV = 0 ;
  179. REMPLACE SCNEW N 0 ;
  180. REMPLACE TCOLD N 1 ;
  181. FINSI ;
  182. SINON ;
  183. NOCONV= 0 ;
  184. REMPLACE SCNEW N 0 ;
  185. FINSI ;
  186. FINSI ;
  187. SI(MERS < ERSZ) ;
  188. MERS = ERSZ ;
  189. FINSI ;
  190. *
  191. SI(( MULT NIT FSTAMP ) OU ( NIT EGA 1 ));
  192. MESS '---------------' ;
  193. MESS ' ZONA ' N ;
  194. MESS '---------------' ;
  195. MESS '-------------------------------------' ;
  196. MESS 'PESO ZONA...............' PESZ ;
  197. MESS '-------------------------------------' ;
  198. MESS 'SPESSORE ATTUALE........' SPEN ;
  199. MESS '-------------------------------------' ;
  200. MESS 'SPESSORE PRECEDENTE.....' SPE ;
  201. MESS '-------------------------------------' ;
  202. MESS 'ERRORE SU ZONA..........' XRSZ ;
  203. MESS '-------------------------------------' ;
  204. MESS 'SIGMA MAX DI VON MISES..' MVMZ ;
  205. MESS '------------------------------------------------';
  206. SI(( EXTR SCNEW N) EGA 1 );
  207. MESS ' ==* SI HA CONVERGENZA PER LA ZONA *== ';
  208. SINON ;
  209. MESS ' ==* NON SI HA CONVERGENZA PER LA ZONA *== ';
  210. FINSI ;
  211. MESS '------------------------------------------------';
  212. FINSI ;
  213. REMPLACE SPZO N SPEN ;
  214. DETR TCAR.N ;
  215. TCAR.N= CARA TMOD.N EPAIS SPEN ;
  216. PESZ = INTG TMOD.N TRHO.N TCAR.N ;
  217. PESO = PESO + PESZ ;
  218. FIN BOUC3 ;
  219. *
  220. SI (NOCONV EGA 1 ) ;
  221. SAUTER PAGE ;
  222. SAUTER LIGNE ;
  223. MESS ' ================================================';
  224. MESS ' *** SI HA CONVERGENZA SU TUTTE LE ZONE *** ';
  225. MESS ' ================================================';
  226. FINSI ;
  227. SAUTER 1 LIGNE ;
  228. MESS ' =======================================';
  229. MESS ' ERRORE MASSIMO...........' MERS ;
  230. MESS ' =======================================';
  231. MESS ' PESO STRUTTURA...........' PESO ;
  232. MESS ' =======================================';
  233. SAUTER PAGE ;
  234. SAUTER 2 LIGNE ;
  235. MESS ' ------------------------------------------------';
  236. MESS ' VUOI GRAFICARE ANDAMENTI PESO ED ERRORE ';
  237. MESS ' E ISOVALORI DI VON MISES ? (SI/NO)';
  238. MESS ' ------------------------------------------------';
  239. OBTENIR ZZNN*MOT ;
  240. BOL1='NEG' ZZNN 'NO';
  241. NITP=NIT + 1 ;
  242. PP11=PPESO ;
  243. PPESO=INSE PP11 NITP PESO ; DETR PP11 ;
  244. PI11=PITER ;
  245. PITER=INSE PI11 NITP ( FLOT NIT ) ; DETR PI11 ;
  246. TITRE ' ANDAMENTO DEL PESO FINO ALL ITERAZIONE ' NIT ;
  247. GPESO= EVOL MANU 'ITERAZIONE' PITER 'PESO' PPESO ;
  248. SI (BOL1) ;DESS GPESO ;FINSI;
  249. DETR GPESO ;
  250. SI (NIT EGA 1 ) ;
  251. PERSG= PROG MERS MERS ;
  252. SINON ;
  253. PE11=PERSG ;
  254. PERSG=INSE PE11 NITP MERS ; DETR PE11 ;
  255. FINSI ;
  256. TITRE ' ANDAMENTO DELL ERRORE SULLE SIGMA ALL ITERAZIONE ' NIT ;
  257. GERSG= EVOL MANU 'ITERAZIONE' PITER 'ERR.SIG' PERSG ;
  258. SI (BOL1) ;DESS GERSG ;FINSI;
  259. DETR GERSG ;
  260. * DISEGNO DELLE ISOVONMISES
  261. TITRE ' ISOVALORI DI VON MISES ' ;
  262. SI (BOL1) ;TRAC PV MAGLIA TTMOD VMT CMA ;FINSI;
  263. DETR VMT ;
  264. SAUTER LIGNE ;
  265. SI (NOCONV EGA 1 ) ;
  266. QUITTER BOUC1 ;
  267. FINSI ;
  268. *
  269. MESS ' ------------------------------------------------';
  270. MESS ' VUOI CONTINUARE LE ITERAZIONI O USCIRE ? (SI/NO)';
  271. MESS ' ------------------------------------------------';
  272. OBTENIR SSNN*MOT ;
  273. SI('EGA' SSNN 'NO') ;
  274. QUITTER BOUC1 ;
  275. FINSI ;
  276. SAUTER LIGNE ;
  277. MESS ' ----------------------------------------------------------' ;
  278. MESS ' FORNIRE IL NUOVO VALORE COEFFICIENTE DI RILASSAMENTO ' ;
  279. MESS ' COEFFICIENTE ATTUALE ' A ;
  280. MESS ' ----------------------------------------------------------' ;
  281. OBTENIR A1*FLOTTANT ;
  282. SI('NEG' A1 'NON') ;
  283. A=A1;
  284. FINSI;
  285. DETR DE1 ;
  286. FIN BOUC1 ;
  287. SAUTER PAGE ;
  288. SAUTER 1 LIGNE ;
  289. MESS ' =======================================';
  290. MESS ' NUMERO ITERAZIONI EFFETTUATE..' NIT ;
  291. MESS ' =======================================';
  292. MESS ' PESO STRUTTURA................' PESO ;
  293. MESS ' =======================================';
  294. SAUTER 1 LIGNE ;
  295. MESS ' ------------------------------------------------';
  296. N=0;
  297. REPETER LOP22 NZ ;
  298. N=N+1;
  299. MESS ' ZONA ' N ' SPESSORE ' (EXTR SPZO N) ;
  300. MESS ' ------------------------------------------------';
  301. FIN LOP22;
  302. FINPROC SPZO DE1;
  303. *
  304. *----FINE PROCEDURA OTTIMIZZAZIONE PIASTRE A PESO MINIMO
  305. *
  306. *
  307.  

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