Télécharger @otpout.procedur

Retour à la liste

Numérotation des lignes :

  1. * @OTPOUT PROCEDUR AM1 92/10/29 21:15:34 734
  2. *---------------------------------------------------------------
  3. * OTTIMIZZAZIONE TRAVI A SEZIONE RETTANGOLARE
  4. * A PESO MINIMO , TENSIONE LIMITE IMPOSTA
  5. *
  6. * REVISIONE 21-10-92 AUTORI : CHIRICOZZI - DONARELLI - GIANNUZZI
  7. * E N E A - VEL MEP TERMO
  8. *---------------------------------------------------------------
  9. DEBPROC @OTPOUT
  10. CRIT*FLOTTANT NMIT*ENTIER
  11. SEZY*FLOTTANT SEZZ*FLOTTANT SLIM*FLOTTANT STEC*FLOTTANT
  12. TMOD*TABLE TMAT*TABLE
  13. FORZ*CHPOINT VINCO*RIGIDITE TVECT*TABLE;
  14. *---------------------------------------------------------------
  15. * CRIT ERRORE SU SIGMA LIMITE ---------------------------------
  16. * NMIT NUMERO MASSIMO ITERAZIONI ------------------------------
  17. * SEZY LARGHEZZA INIZIALE TRAVI -------------------------------
  18. * SEZZ ALTEZZA INIZIALE TRAVI ---------------------------------
  19. * SLIM SIGMA LIMITE -------------------------------------------
  20. * STEC DIMENSIONE MINIMA --------------------------------------
  21. * TMOD TAVOLA CONTENENTE GLI OGG. MODELE DELLE ZONE -----------
  22. * TMAT TAVOLA CONTENENTE GLI OGG. MATERIAU DELLE ZONE ---------
  23. * FORZ CAMPO DI FORZE -----------------------------------------
  24. * VINCO RIGIDEZZA VINCOLI + ZONE NON OTTIMIZZATE ---------------
  25. * TVECT TAVOLA CONTENENTE I VETTORI ORIETAZIONE DELLE ZONE -----
  26. * --------------------------------------------------------------
  27. TTRA = TABLE ;
  28. TMAI = TABLE ;
  29. TCAR = TABLE ;
  30. TRIG = TABLE ;
  31. TRHO = TABLE ;NZ= DIME TMOD ;
  32. TCOLD= LECT NZ*0;
  33. SCNEW= LECT NZ*0;
  34. SAUTER 2 LIGNE ;
  35. MESS ' ---------------------------------------------------- ' ;
  36. MESS ' ---------------------------------------------------- ' ;
  37. MESS ' ' ;
  38. MESS ' OTTIMIZZAZIONE TRAVI A PESO MINIMO ' ;
  39. MESS ' ' ;
  40. MESS ' ---------------------------------------------------- ' ;
  41. MESS ' ---------------------------------------------------- ' ;
  42. SAUTER 1 LIGNE;
  43. MESS ' ---------------------------------------------------- ' ;
  44. MESS ' OGNI QUANTE ITERAZIONI VUOI UNA STAMPA COMPLETA ? ' ;
  45. MESS ' ---------------------------------------------------- ' ;
  46. OBTENIR FSTAMP*ENTIER ;
  47. MESS ' ----------------------------------------------------------' ;
  48. MESS ' VALORE USUALE DEL COEFFICIENTE DI RILASSAMENTO -1.- ' ;
  49. MESS ' CONFERMARE O CAMBIARE VALORE ' ;
  50. MESS ' ----------------------------------------------------------' ;
  51. A=1. ;
  52. OBTENIR A1*FLOTTANT ;
  53. SI('NEG' A1 'NON' );
  54. A=A1;
  55. FINSI;
  56. *
  57. * MOMEMTI E SFORZI NORMALI SIGNIFICATIVI
  58. ALF=0.001 ;
  59. DMFS = @CTRAVE STEC STEC ;
  60. SEZM = EXTR DMFS 3 ;
  61. IM = EXTR DMFS 4 ;
  62. MFS = SLIM * ALF * IM / STEC ;
  63. FNS = SLIM * ALF * SEZM ;
  64. DETR DMFS ;
  65. *
  66. * CARICAMENTO DIMENSIONI E MOMENTI INIZIALI DELLE ZONE
  67. N=0 ;
  68. REPETER CTRA NZ ;
  69. N=N+1 ;
  70. TMAI.N= EXTR TMOD.N 'MAIL' ;
  71. TTRA.N=@CTRAVE SEZY SEZZ ;
  72. TCAR.N=CARA TMOD.N SECT (EXTR TTRA.N 3)
  73. INRY (EXTR TTRA.N 4)
  74. INRZ (EXTR TTRA.N 5)
  75. TORS (EXTR TTRA.N 6)
  76. VECT TVECT.N ;
  77. *CALCOLO PESO
  78. TRHO.N=EXCO TMAT.N RHO ;
  79. PESZ =INTG TMOD.N TRHO.N TCAR.N;
  80. SI ( N EGA 1 ) ;
  81. TEL = TMAI.N ;
  82. PESO=PESZ ;
  83. SINON ;
  84. PESO = PESO + PESZ ;
  85. TEL = TEL ET ( TMAI.N ) ;
  86. FINSI ;
  87. FIN CTRA ;
  88. PPESO= PROG PESO ;
  89. PITER= PROG 0. ;
  90. REPE LL66 ;
  91. MESS 'FORNIRE PUNTO DI VISTA' ;
  92. OBTENIR PVX*FLOTTANT PVY*FLOTTANT PVZ*FLOTTANT;
  93. PV=PVX PVY PVZ ;
  94. TRAC PV TEL ;
  95. MESS 'VUOI CAMBIARE IL PUNTO VISTA (SI-NO)' ;
  96. OBTENIER FF66*MOT;
  97. SI ( 'NEG' FF66 'SI' ); QUITTER LL66 ; FINSI;
  98. FIN LL66;
  99. *
  100. * CICLO PRINCIPALE
  101. *
  102. NIT=0;
  103. REPETER BOUC1 NMIT;
  104. MERS=0. ;
  105. NOCONV= 1;
  106. NIT = NIT+1;
  107. SAUTER 2 LIGNE ;
  108. MESS ' ==============================' ;
  109. MESS ' ITERAZIONE NUMERO ' NIT ;
  110. MESS ' ==============================' ;
  111. SAUTER 1 LIGNE ;
  112. * RIGIDEZZA TOTALE
  113. N=0;
  114. REPETER LOP11 NZ ;
  115. N=N+1;
  116. SI((EXTR SCNEW N) EGA 0) ;
  117. SI( NIT > 1 ) ;
  118. DETR ( TRIG.N) ;
  119. FINSI ;
  120. TRIG.N= RIGI TMOD.N (TMAT.N ET TCAR.N) ;
  121. FINSI;
  122. SI ( N EGA 1 ) ;
  123. RIGT = VINCO ET (TRIG.N ) ;
  124. SINON ;
  125. RIGT = RIGT ET (TRIG.N) ;
  126. FINSI ;
  127. FIN LOP11 ;
  128. *
  129. *RISOLUZIONE ALL ITERAZIONE -NIT-
  130. *
  131. SPOT=RESO RIGT FORZ ;
  132. *
  133. N=0 ;
  134. REPETER BOUC3 NZ;
  135. N=N+1;
  136. SPOZ = REDU SPOT TMAI.N ;
  137. SFOZ = SIGMA SPOZ TMOD.N (TMAT.N ET TCAR.N) ;
  138. DETR SPOZ ;
  139. *
  140. DY =EXTRAI TTRA.N 1;
  141. DZ =EXTRAI TTRA.N 2;
  142. SEZ=EXTRAI TTRA.N 3;
  143. IY =EXTRAI TTRA.N 4;
  144. IZ =EXTRAI TTRA.N 5;
  145. *
  146. * CALCOLO TENSIONI DOVUTE A: TZX SFORZO NORMALE
  147. * TZY MOM. FLETTENTE INTORNO A Y
  148. * TZZ MOM. FLETTENTE INTORNO A Z
  149. KK1 = EXCO EFFX SFOZ ;
  150. CX = ABS KK1 ; DETR KK1 ;
  151. MCX = MAXI CX ;
  152. TZX = CX / SEZ ; DETR CX ;
  153. MTZX= MAXI TZX ;
  154. KK1 = EXCO MOMY SFOZ ;
  155. CMY = ABS KK1 ; DETR KK1 ;
  156. MCMY= MAXI CMY ;
  157. TZY = CMY * (DZ / 2. / IY); DETR CMY ;
  158. MTZY= MAXI TZY ;
  159. KK1 = EXCO MOMZ SFOZ ;
  160. CMZ = ABS KK1 ; DETR KK1 ;
  161. MCMZ= MAXI CMZ ;
  162. TZZ = CMZ * (DY / 2. / IZ); DETR CMZ ;
  163. MTZZ= MAXI TZZ ;
  164. DETR SFOZ ;
  165. *
  166. * RAPPORTO MOMENTI MASSIMI E DIMENSIONI
  167. SI ( MCMZ < MCMY ) ;
  168. SI ( MCMY < MFS ) ;
  169. RM=1. ;
  170. SINON ;
  171. SI ( MCMZ < MFS ) ;
  172. RM = MFS / MCMY ;
  173. SINON ;
  174. RM = MCMZ / MCMY ;
  175. FINSI ;
  176. FINSI ;
  177. SINON ;
  178. SI ( MCMZ < MFS ) ;
  179. RM=1. ;
  180. SINON ;
  181. SI ( MCMY < MFS ) ;
  182. RM = MFS / MCMZ ;
  183. SINON ;
  184. RM = MCMY / MCMZ ;
  185. FINSI ;
  186. FINSI ;
  187. FINSI ;
  188. RMZY=MCMZ / (MCMY + 1.E-6) ;
  189. SF = (MCX + ( 6. * ( MCMY + MCMZ ) / STEC)) / SEZM;
  190. RO = 1. - ( MCX / SEZM / SF ) ;
  191. RD = 1. - ( RO * ( 1. - RM )) ;
  192. SI ( MCMY < MCMZ ) ;
  193. RD = 1. / RD ;
  194. FINSI ;
  195. *
  196. * SIGMA TOTALE MASSIMA CONSERVATIVA
  197. MSIGT= MTZX + MTZY + MTZZ ;
  198. * SIGMA TOTALE MASSIMA REALE
  199. KK1 = TZX + TZY + TZZ ;
  200. SIGTM= MAXI KK1 ; DETR KK1 ;
  201. * RAPPORTO UNIFORMITA SFORZI
  202. RUNIF = SIGTM / MSIGT ;
  203. *
  204. * VERIFICA CONVERGENZA ZONA
  205. * E
  206. * AGGIORNAMENTO AREA E DIMENSIONI TRAVE
  207. COEFA= (1.-A)+(A * SIGTM / SLIM ) ;
  208. ERSZ= ABS ((SIGTM - SLIM ) /SLIM ) ;
  209. SEZP= COEFA * SEZ ;
  210. SI (CRIT < ERSZ ) ;
  211. SI (SEZM < SEZP ) ;
  212. SEZN = SEZP ;
  213. DYN = ( RD * SEZN) ** 0.5 ;
  214. DZN = ( SEZN / DYN ) ;
  215. SI ( DYN < STEC ) ;
  216. DYN= STEC ;
  217. DZN= SEZN / STEC ;
  218. FINSI ;
  219. SI ( DZN < STEC ) ;
  220. DZN= STEC ;
  221. DYN= SEZN / STEC ;
  222. FINSI ;
  223. REMPL SCNEW N 0 ;
  224. REMPL TCOLD N 0 ;
  225. SINON ;
  226. * LIMITE TECNOLOGICO
  227. SI (( EXTR TCOLD N) EGA 1 ) ;
  228. REMPL SCNEW N 1 ;
  229. SINON ;
  230. REMPL SCNEW N 0 ;
  231. FINSI ;
  232. REMPL TCOLD N 1 ;
  233. SEZN = SEZM ;
  234. DYN = STEC ;
  235. DZN = STEC ;
  236. FINSI ;
  237. SINON ;
  238. * CONVERGENZA TENSIONI
  239. DYP = ( RD * SEZP) ** 0.5 ;
  240. DZP = ( SEZP/ DYP ) ;
  241. SI(( CRIT >EG (( DYP - DY ) / DY )) OU
  242. (( CRIT >EG (( DZP - DZ ) / DZ )) OU
  243. ((DYP < STEC ) OU ( DZP < STEC )))) ;
  244. * NON VA RIPARTITA L AREA
  245. REMPL SCNEW N 1 ;
  246. REMPL TCOLD N 0 ;
  247. SEZN= SEZ ;
  248. DYN = DY ;
  249. DZN = DZ ;
  250. SINON ;
  251. * VA RIPARTITA L AREA
  252. REMPL SCNEW N 0 ;
  253. REMPL TCOLD N 0 ;
  254. SEZN= SEZP ;
  255. DYN = DYP ;
  256. DZN = DZP ;
  257. FINSI ;
  258. FINSI ;
  259. *
  260. DETR ( TTRA.N) ;
  261. TTRA.N = @CTRAVE DYN DZN ;
  262. DETR (TCAR.N ) ;
  263. TCAR.N=CARA TMOD.N SECT (EXTR TTRA.N 3)
  264. INRY (EXTR TTRA.N 4)
  265. INRZ (EXTR TTRA.N 5)
  266. TORS (EXTR TTRA.N 6)
  267. VECT TVECT.N ;
  268. *CALCOLO PESO
  269. PESZ=INTG TMOD.N TRHO.N TCAR.N ;
  270. SI ( N EGA 1 ) ;
  271. PESO=PESZ ;
  272. SINON ;
  273. PESO = PESO + PESZ ;
  274. FINSI ;
  275. SI(( MULT NIT FSTAMP ) OU ( NIT EGA 1 ));
  276. MESS '---------------' ;
  277. MESS ' ZONA ' N ;
  278. MESS '---------------' ;
  279. MESS '-----------------------------------' ;
  280. MESS 'PESO ZONA............' PESZ ;
  281. MESS '-----------------------------------' ;
  282. MESS 'DIM. Y ATTUALE......' DYN ;
  283. MESS 'DIM. Z ATTUALE......' DZN ;
  284. MESS 'SEZIONE ATTUALE......' SEZN ;
  285. MESS '-----------------------------------' ;
  286. MESS 'RAPPORTO DIMENSIONI..' RD ;
  287. MESS '-----------------------------------' ;
  288. MESS 'DIM. Y PRECEDENTE...' DY ;
  289. MESS 'DIM. Z PRECEDENTE...' DZ ;
  290. MESS 'SEZIONE PRECEDENTE...' SEZ ;
  291. MESS '-----------------------------------' ;
  292. MESS 'ERRORE SU ZONA.......' ERSZ ;
  293. MESS '-----------------------------------' ;
  294. MESS 'SIGMA TOTALE MAX MAX.' MSIGT ;
  295. MESS 'SIGMA TOTALE MAX.....' SIGTM ;
  296. MESS 'RAPPORTO UNIFORMITA..' RUNIF ;
  297. MESS 'MOMENTO MAX DIR. Z...' MCMZ ;
  298. MESS 'MOMENTO MAX DIR. Y...' MCMY ;
  299. MESS 'RAPPORTO MOMENTI.....' RMZY ;
  300. MESS 'MOMENTO SIGNIFICATIVO' MFS ;
  301. MESS '------------------------------------------------';
  302. SI(( EXTR SCNEW N) EGA 1 );
  303. MESS ' ==* SI HA CONVERGENZA PER LA ZONA *== ';
  304. SINON ;
  305. MESS ' ==* NON SI HA CONVERGENZA PER LA ZONA *== ';
  306. FINSI ;
  307. MESS '------------------------------------------------';
  308. FINSI ;
  309. *
  310. SI(( EXTR SCNEW N) EGA 0 );
  311. NOCONV=0 ;
  312. FINSI ;
  313. *
  314. SI(( MERS < ERSZ ) ET (( EXTR TCOLD N ) EGA 0));
  315. MERS=ERSZ ;
  316. FINSI ;
  317. FIN BOUC3 ;
  318. *
  319. SAUTER 1 LIGNE ;
  320. MESS ' =============================================' ;
  321. MESS ' PESO STRUTTURA................. ' PESO ;
  322. MESS ' =============================================' ;
  323. MESS ' =============================================' ;
  324. MESS ' ERRORE MASSIMO SU TUTTE LE ZONE ' MERS ;
  325. MESS ' =============================================' ;
  326. SI ( NOCONV EGA 1 ) ;
  327. MESS ' ==* CONVERGENZA SU TUTTE LE ZONE *== ' ;
  328. MESS ' =============================================' ;
  329. FINSI ;
  330. * OUTPUT GRAFICI
  331. NITP= NIT + 1 ;
  332. PP11=PPESO ;
  333. PPESO=INSE PP11 NITP PESO ; DETR PP11 ;
  334. PI11=PITER ;
  335. PITER=INSE PI11 NITP ( FLOT NIT );DETR PI11 ;
  336. TITRE ' ANDAMENTO DEL PESO ALL ITERAZIONE ' NIT ;
  337. GPESO= EVOL MANU 'ITERAZIONE' PITER 'PESO' PPESO ;
  338. DESS GPESO ; DETR GPESO ;
  339. SI (NIT EGA 1 ) ;
  340. PERSG= PROG MERS MERS ;
  341. SINON ;
  342. PE11=PERSG ;
  343. PERSG=INSE PE11 NITP MERS ; DETR PE11;
  344. FINSI ;
  345. TITRE ' ANDAMENTO DELL ERRORE SULLE SIGMA ALL ITERAZIONE ' NIT ;
  346. GERSG= EVOL MANU 'ITERAZIONE' PITER 'ERR.SIG' PERSG ;
  347. DESS GERSG ; DETR GERSG ;
  348. TITRE 'ZONE ROSSE NON ANCORA IN CONVERGENZA ALL ITERAZIONE' NIT ;
  349. N=0 ;
  350. REPE LL77 NZ ;
  351. N=N+1 ;
  352. SI('EGA' (EXTR SCNEW N) 1);
  353. TMAIN= COUL TMAI.N BLAN ;
  354. SINON ;
  355. TMAIN= COUL TMAI.N ROUG ;
  356. FINSI ;
  357. SI('EGA' N 1 ) ;
  358. TEL1= TMAIN ;
  359. SINON ;
  360. TEL1=TEL1 ET TMAIN ;
  361. FINSI ;
  362. FIN LL77 ;
  363. TRAC PV TEL1 ;
  364. DETR TEL1 ;
  365. *
  366. SI ( NOCONV EGA 1 ) ;
  367. QUITTER BOUC1 ;
  368. FINSI ;
  369. MESS ' ------------------------------------------------';
  370. MESS ' VUOI CONTINUARE LE ITERAZIONI O USCIRE ? (SI/NO)';
  371. MESS ' ------------------------------------------------';
  372. OBTENIR SSNN*MOT;
  373. SI('EGA'SSNN 'NO');
  374. QUITTER BOUC1;
  375. FINSI;
  376. DETR SPOT ;
  377. MESS ' ----------------------------------------------------------' ;
  378. MESS ' FORNIRE IL NUOVO VALORE COEFFICIENTE DI RILASSAMENTO ' ;
  379. MESS ' COEFFICIENTE ATTUALE ' A ;
  380. MESS ' ----------------------------------------------------------' ;
  381. OBTENIR A1*FLOTTANT ;
  382. SI('NEG' A1 'NON') ;
  383. A=A1;
  384. FINSI;
  385. FIN BOUC1;
  386. N=0;
  387. REPETER LOP22 NZ ;
  388. N=N+1;
  389. DY =EXTRAI (TTRA.N) 1;
  390. DZ =EXTRAI (TTRA.N) 2;
  391. SEZ=EXTRAI (TTRA.N) 3;
  392. MESS '--------------------------------------------------------------';
  393. MESS ' ZONA NUMERO ' N ;
  394. MESS '--------------------------------------------------------------';
  395. MESS 'DY =' DY ' DZ =' DZ ' SEZ=' SEZ ;
  396. FIN LOP22 ;
  397. MESS '--------------------------------------------------------------';
  398. FINPROC TTRA SPOT;
  399.  

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