Télécharger mrcframe.procedur

Retour à la liste

Numérotation des lignes :

  1. * MRCFRAME PROCEDUR FANDEUR 22/01/19 21:15:10 11256
  2. DEBPROC MRCFRAME TYP_CAL1*'MOT '
  3. TAB_IN*'TABLE' TOL_1*'FLOTTANT'
  4. L_ELE1/'LISTENTI';
  5. *
  6. * --------------------------------------------------------
  7. * Procedure MRCFRAME
  8. * Computation of security coef Lambda for frame element TIMO and POUT
  9. *
  10. * Developpers:
  11. * Alberto FRAU
  12. * DEN/DANS/DM2S/SEMT/EMSI
  13. * Nicolas ILE
  14. * DEN/DANS/DM2S/SEMT/EMSI
  15. * Giulia DI STEFANO
  16.  
  17. * INPUT:
  18. * TYP_CAL1: Calculation option
  19. * 'RECTANGLE'
  20. * 'ELLIPSOIDE'
  21. * TAB_IN.'MAILLAGE': Maillage du voile [MAILLAGE]
  22. * TAB_IN.'EFFORT_SEISME': MCHAML de la matrice
  23. * representant l'enveloppe des
  24. * efforts sismiques (voir SISSIB)
  25. * TAB_IN.'EFFORT_STATIQUE': MCHAML des efforts statiques qui
  26. * agissent sur l'element frame
  27. * TAB_IN.'CARACTERISTIQUES' :MCHAML contenant les
  28. * caracteristiques de l'element
  29. * frame :
  30. * 'B_Y' longeur Y de la section
  31. * 'B_Z' longeur Z de la section
  32. * 'LIBY' Longeur ly
  33. * 'LIBZ' Longeur lz
  34. * 'SCAD' Espacement cadres
  35. * 'ENRB' Enrobage
  36. * 'PFER' Diametres ferrailage
  37. * [LISTREEL]
  38. * 'YFER' position y ferraillage
  39. * [LISTREEL]
  40. * 'ZFER' position z ferraillage
  41. * [LISTREEL]
  42. * 'ASWY' aire ferraillage transv y
  43. * 'ASWZ' aire ferraillage transv z
  44. * 'YACI' mod young acier
  45. * 'EPSB' eps beton
  46. * 'EPSA' eps acier
  47. * TAB_IN.'FC_BET': Resistance caracteristique beton
  48. * [FLOTTANT]
  49. * TAB_IN.'GAM_C': Coef gammac 1.5/1.2 EC2/EC8
  50. * [FLOTTANT]
  51. * TAB_IN.'ALP_C': Coef alpa 1.0 EC2
  52. * [FLOTTANT]
  53. * TAB_IN.'FS_ACI': resistance caracteristique de l'acier
  54. * [FLOTTANT]
  55. * TAB_IN.'GAM_S': Coef gammas 1.15 EC2
  56. * [FLOTTANT]
  57. * TOL_1: Tolerance [FLOTTANT]
  58. * L_ELE1: Liste des elements sur lesquels on veut sortir les
  59. * graphiques des surfaces limites et des enveloppes
  60. * (sans ou avec covariance - RECTANGLE ou ELLISPOIDE)
  61. * (pas necessaire) [LISTREEL]
  62. * OUTPUT:
  63. * TT2: Table Contenant:
  64. * .'CH_LAMBDA': MCHAML les valeurs des marges (composent LAME)
  65. * .'CARTE': Maillage avec deux colorations pour indiquer les
  66. * elements avec une marge superieure à 1 ou
  67. * inferieure:
  68. * ROUGE elements -> Lambda < 1.0
  69. * VERT elements -> Lambda > 1.0
  70. * .'GRAPHIQUES': Sous table pour les outils de graphique:
  71. * .I. Ieme element
  72. * .'LIMITE': Surface limite de la couche externe
  73. * [MAILLAGE]
  74. * .'RECTANGLE': enveloppe sismique sans prise en compte
  75. * des covariances (methode RECTANGLE)
  76. * [MAILLAGE]
  77. * .'ELLIPSOIDE': enveloppe sismique avec prise en compte
  78. * des covariances (methode RECTANGLE)
  79. * [MAILLAGE]
  80. * .'RECTANGLE_AUG': enveloppe sismique amplifié sans prise
  81. * en compte des covariances
  82. * (methode RECTANGLE) [MAILLAGE]
  83. * .'ELLIPSOIDE_AUG': enveloppe sismique amplifié avec prise
  84. * en compte des covariances
  85. * (methode RECTANGLE) [MAILLAGE]
  86. *
  87. * --------------------------------------------------------
  88. *
  89. * Controle
  90. 'SI' ('EXIST' TAB_IN 'MAILLAGE');
  91. MAI_F = TAB_IN.'MAILLAGE';
  92. 'SI' ('NEG' ('TYPE' MAI_F) 'MAILLAGE');
  93. 'MESS' 'Error Input....';
  94. 'QUIT' MRCFRAME;
  95. 'FINSI';
  96. 'SINON';
  97. 'MESS' 'Error....';
  98. 'QUIT' MRCFRAME;
  99. 'FINSI';
  100. 'SI' ('EXIST' TAB_IN 'EFFORT_SEISME');
  101. CH_SEI1 = TAB_IN.'EFFORT_SEISME';
  102. 'SI' ('NEG' ('TYPE' CH_SEI1) 'MCHAML');
  103. 'MESS' 'Error Input....';
  104. 'QUIT' MRCFRAME;
  105. 'FINSI';
  106. 'SINON';
  107. 'MESS' 'Error....';
  108. 'QUIT' MRCFRAME;
  109. 'FINSI';
  110. 'SI' ('EXIST' TAB_IN 'EFFORT_STATIQUE');
  111. CH_STA1 = TAB_IN.'EFFORT_STATIQUE';
  112. 'SI' ('NEG' ('TYPE' CH_STA1) 'MCHAML');
  113. 'MESS' 'Error Input....';
  114. 'QUIT' MRCFRAME;
  115. 'FINSI';
  116. 'SINON';
  117. 'MESS' 'Error....';
  118. 'QUIT' MRCFRAME;
  119. 'FINSI';
  120. 'SI' ('EXIST' TAB_IN 'CARACTERISTIQUES');
  121. CH_CAR1 = TAB_IN.'CARACTERISTIQUES';
  122. 'SI' ('NEG' ('TYPE' CH_CAR1) 'MCHAML');
  123. 'MESS' 'Error Input....';
  124. 'QUIT' MRCFRAME;
  125. 'FINSI';
  126. 'SINON';
  127. 'MESS' 'Error....';
  128. 'QUIT' MRCFRAME;
  129. 'FINSI';
  130. 'SI' ('EXIST' TAB_IN 'FC_BET');
  131. FCBET1 = TAB_IN.'FC_BET';
  132. 'SI' ('NEG' ('TYPE' FCBET1) 'FLOTTANT');
  133. 'MESS' 'Error Input....';
  134. 'QUIT' MRCFRAME;
  135. 'FINSI';
  136. 'SINON';
  137. 'MESS' 'Error....';
  138. 'QUIT' MRCFRAME;
  139. 'FINSI';
  140. 'SI' ('EXIST' TAB_IN 'GAM_C');
  141. GAMC1 = TAB_IN.'GAM_C';
  142. 'SI' ('NEG' ('TYPE' GAMC1) 'FLOTTANT');
  143. 'MESS' 'Error Input....';
  144. 'QUIT' MRCFRAME;
  145. 'FINSI';
  146. 'SINON';
  147. 'MESS' 'Error....';
  148. 'QUIT' MRCFRAME;
  149. 'FINSI';
  150. 'SI' ('EXIST' TAB_IN 'ALP_C');
  151. ALPC1 = TAB_IN.'ALP_C';
  152. 'SI' ('NEG' ('TYPE' ALPC1) 'FLOTTANT');
  153. 'MESS' 'Error Input....';
  154. 'QUIT' MRCFRAME;
  155. 'FINSI';
  156. 'SINON';
  157. 'MESS' 'Error....';
  158. 'QUIT' MRCFRAME;
  159. 'FINSI';
  160. 'SI' ('EXIST' TAB_IN 'FS_ACI');
  161. FSACI1 = TAB_IN.'FS_ACI';
  162. 'SI' ('NEG' ('TYPE' FSACI1) 'FLOTTANT');
  163. 'MESS' 'Error Input....';
  164. 'QUIT' MRCFRAME;
  165. 'FINSI';
  166. 'SINON';
  167. 'MESS' 'Error....';
  168. 'QUIT' MRCFRAME;
  169. 'FINSI';
  170. 'SI' ('EXIST' TAB_IN 'GAM_S');
  171. GAMS1 = TAB_IN.'GAM_S';
  172. 'SI' ('NEG' ('TYPE' GAMS1) 'FLOTTANT');
  173. 'MESS' 'Error Input....';
  174. 'QUIT' MRCFRAME;
  175. 'FINSI';
  176. 'SINON';
  177. 'MESS' 'Error....';
  178. 'QUIT' MRCFRAME;
  179. 'FINSI';
  180. *
  181. 'MESS' ;
  182. 'MESS' '**************************************************************';
  183. 'MESS' ' Calculs des coef de securite ';
  184. 'MESS' '**************************************************************';
  185. 'MESS';
  186. *
  187. * controle of input data
  188. 'SI' (NEG (TYP_CAL1) 'ELLIPSOIDE');
  189. 'SI' (NEG (TYP_CAL1) 'RECTANGLE');
  190. 'MESS' ' ERROR....Type de calcul errone!!!';
  191. 'QUIT' MRCFRAME;
  192. 'FINSI';
  193. 'FINSI';
  194. 'SI' ('EGA' TYP_CAL1 'ELLIPSOIDE');
  195. 'MESS' ' ------------------------------------------------------------';
  196. 'MESS' ' Methode Ellipsoide';
  197. 'MESS' ' ------------------------------------------------------------';
  198. 'MESS';
  199. 'SINON';
  200. 'MESS' ' ------------------------------------------------------------';
  201. 'MESS' ' Methode Rectangle';
  202. 'MESS' ' ------------------------------------------------------------';
  203. 'MESS';
  204. 'FINSI';
  205. *
  206. LIS_MOT1 = 'EXTR' CH_SEI1 'COMP' ;
  207. LIS_MOT2 = MOTS 'C11' 'C22' 'C33' 'C44' 'C55' 'C66'
  208. 'C12' 'C13' 'C14' 'C15' 'C16' 'C23'
  209. 'C24' 'C25' 'C26' 'C34' 'C35' 'C36';
  210. 'SI' ('NON' (EXIST LIS_MOT1 LIS_MOT2 'ET'));
  211. 'MESS' ' ERROR....MCHAML seisme';
  212. 'MESS' ' composantes erronees!!!';
  213. 'QUIT' MRCFRAME;
  214. 'FINSI';
  215. *
  216. LIS_MOT1 = 'EXTR' CH_STA1 'COMP' ;
  217. LIS_MOT2 = MOTS 'EFFX' 'EFFY' 'EFFZ' 'MOMX' 'MOMY' 'MOMZ';
  218. 'SI' ('NON' (EXIST LIS_MOT1 LIS_MOT2 'ET'));
  219. 'MESS' ' ERROR....MCHAML statique';
  220. 'MESS' ' composantes erronees!!!';
  221. 'QUIT' MRCFRAME;
  222. 'FINSI';
  223. *
  224. LIS_MOT1 = 'EXTR' CH_CAR1 'COMP' ;
  225. LIS_MOT2 = MOTS 'B_Y' 'B_Z' 'LIBY' 'LIBZ' 'SCAD' 'YFER' 'ENRB' 'PFER'
  226. 'ZFER' 'ASWY' 'ASWZ' 'YACI' 'EPSB' 'EPSA' 'TYFR';
  227. 'SI' ('NON' (EXIST LIS_MOT1 LIS_MOT2 'ET'));
  228. 'MESS' ' ERROR....MCHAML caracteristiques';
  229. 'MESS' ' composantes erronees!!!';
  230. 'QUIT' MRCFRAME;
  231. 'FINSI';
  232. *
  233. * creation of the table output
  234. TT2 = 'TABLE';
  235. *
  236. * creation of the MCHAML field for the output
  237. CH_LAM1 = 'VIDE' MCHAML;
  238. MAI_RE1 = 'VIDE' MAILLAGE;
  239. *Unused*MODTOT = 'VIDE' MMODEL;
  240. *
  241. * number of element shear wall
  242. N_ELE1 = 'NBEL' MAI_F;
  243. *
  244. * Resistance de design
  245. FCD1 = (FCBET1*ALPC1)/GAMC1 ;
  246. FSD1 = FSACI1 / GAMS1 ;
  247. *
  248. * loop for the element
  249. I_ELE1 = 1;
  250. 'REPE' IND_ELE1 N_ELE1;
  251. * element I
  252. ELE_FRA1 = MAI_F ELEM I_ELE1;
  253. * extracting the forces and characteristics for the external layer
  254. EFFX0 = EXTR (REDU CH_STA1 ELE_FRA1) 'EFFX' 1 1 1;
  255. EFFY0 = EXTR (REDU CH_STA1 ELE_FRA1) 'EFFY' 1 1 1;
  256. EFFZ0 = EXTR (REDU CH_STA1 ELE_FRA1) 'EFFZ' 1 1 1;
  257. MOMX0 = EXTR (REDU CH_STA1 ELE_FRA1) 'MOMX' 1 1 1;
  258. MOMY0 = EXTR (REDU CH_STA1 ELE_FRA1) 'MOMY' 1 1 1;
  259. MOMZ0 = EXTR (REDU CH_STA1 ELE_FRA1) 'MOMZ' 1 1 1;
  260. *
  261. NNNN1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C11' 1 1 1;
  262. NNVY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C12' 1 1 1;
  263. NNVZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C13' 1 1 1;
  264. NNMT1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C14' 1 1 1;
  265. NNMY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C15' 1 1 1;
  266. NNMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C16' 1 1 1;
  267. VYVY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C22' 1 1 1;
  268. VYVZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C23' 1 1 1;
  269. VYMT1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C24' 1 1 1;
  270. VYMY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C25' 1 1 1;
  271. VYMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C26' 1 1 1;
  272. VZVZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C33' 1 1 1;
  273. VZMT1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C34' 1 1 1;
  274. VZMY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C35' 1 1 1;
  275. VZMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C36' 1 1 1;
  276. MTMT1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C44' 1 1 1;
  277. MTMY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C45' 1 1 1;
  278. MTMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C46' 1 1 1;
  279. MYMY1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C55' 1 1 1;
  280. MYMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C56' 1 1 1;
  281. MZMZ1 = EXTR (REDU CH_SEI1 ELE_FRA1) 'C66' 1 1 1;
  282. *
  283. BASE_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Y' 1 1 1;
  284. BASE_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Z' 1 1 1;
  285. LONG_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBY' 1 1 1;
  286. LONG_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBZ' 1 1 1;
  287. ENROBA1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ENRB' 1 1 1;
  288. ACADRY1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWY' 1 1 1;
  289. ACADRZ1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWZ' 1 1 1;
  290. S_CADR1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'SCAD' 1 1 1;
  291. LI_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'PFER' 1 1 1;
  292. PY_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YFER' 1 1 1;
  293. PZ_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ZFER' 1 1 1;
  294. E_ACIE1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YACI' 1 1 1;
  295. EP_BET1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSB' 1 1 1;
  296. EP_ACI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSA' 1 1 1;
  297. *
  298. * Determination armature long totale
  299. II1 = 1;
  300. A_LONG1 = 0.0;
  301. 'REPE' IND11 (DIME LI_PHI1);
  302. A_LONG1 = A_LONG1 +
  303. ((PI)*((((EXTR LI_PHI1 II1)/(1000.))/(2.0))**2.0));
  304. II1 = II1 + 1;
  305. 'FIN' IND11;
  306. *
  307. * Determination parametres adimensionelles
  308. OM_SY1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  309. OM_SZ1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  310. OM_WZ1 = ((ACADRZ1)*(FSD1))/(((BASE_Y1)*(S_CADR1))*(FCD1));
  311. OM_WY1 = ((ACADRY1)*(FSD1))/(((BASE_Z1)*(S_CADR1))*(FCD1));
  312. LAMB_Y1 = ((LONG_Z1)/(BASE_Y1));
  313. LAMB_Z1 = ((LONG_Y1)/(BASE_Z1));
  314. CHI_Z1 = ((BASE_Z1 - ((2.0)*(ENROBA1)))/(BASE_Z1));
  315. CHI_Y1 = ((BASE_Y1 - ((2.0)*(ENROBA1)))/(BASE_Y1));
  316. *
  317. * test pour savoir si on est dans la condiction COURT ou LONG
  318. TEST_Y1 = LAMB_Y1 '&lt;EG' (OM_SY1/OM_WY1);
  319. TEST_Z1 = LAMB_Z1 '&lt;EG' (OM_SZ1/OM_WZ1);
  320. TEST_TY = 'EGA' (EXTR (REDU CH_CAR1 ELE_FRA1) 'TYFR' 1 1 1) 'POTEAU';
  321. *
  322. * table d'entre pour les procedures MRCFRAM1 MRCFRAM2 MRCFRAM3 MRCFRAM4
  323. TAB_IN2 = 'TABLE';
  324. TAB_IN2.'BASE_Y1' = BASE_Y1;
  325. TAB_IN2.'BASE_Z1' = BASE_Z1;
  326. TAB_IN2.'LONG_Y1' = LONG_Y1;
  327. TAB_IN2.'LONG_Z1' = LONG_Z1;
  328. TAB_IN2.'ENROBA1' = ENROBA1;
  329. TAB_IN2.'ACADRY1' = ACADRY1;
  330. TAB_IN2.'ACADRZ1' = ACADRZ1;
  331. TAB_IN2.'S_CADR1' = S_CADR1;
  332. TAB_IN2.'LI_PHI1' = LI_PHI1;
  333. TAB_IN2.'PY_PHI1' = PY_PHI1;
  334. TAB_IN2.'PZ_PHI1' = PZ_PHI1;
  335. TAB_IN2.'E_ACIE1' = E_ACIE1;
  336. TAB_IN2.'EP_BET1' = EP_BET1;
  337. TAB_IN2.'EP_ACI1' = EP_ACI1;
  338. TAB_IN2.'OM_SY1' = OM_SY1;
  339. TAB_IN2.'OM_SZ1' = OM_SZ1;
  340. TAB_IN2.'OM_WZ1' = OM_WZ1;
  341. TAB_IN2.'OM_WY1' = OM_WY1;
  342. TAB_IN2.'LAMB_Y1' = LAMB_Y1;
  343. TAB_IN2.'LAMB_Z1' = LAMB_Z1;
  344. TAB_IN2.'CHI_Z1' = CHI_Z1;
  345. TAB_IN2.'CHI_Y1' = CHI_Y1;
  346. TAB_IN2.'EFFX0' = EFFX0;
  347. TAB_IN2.'EFFY0' = EFFY0;
  348. TAB_IN2.'EFFZ0' = EFFZ0;
  349. TAB_IN2.'MOMX0' = MOMX0;
  350. TAB_IN2.'MOMY0' = MOMY0;
  351. TAB_IN2.'MOMZ0' = MOMZ0;
  352. TAB_IN2.'NNNN1' = NNNN1;
  353. TAB_IN2.'NNVY1' = NNVY1;
  354. TAB_IN2.'NNVZ1' = NNVZ1;
  355. TAB_IN2.'NNMT1' = NNMT1;
  356. TAB_IN2.'NNMY1' = NNMY1;
  357. TAB_IN2.'NNMZ1' = NNMZ1;
  358. TAB_IN2.'VYVY1' = VYVY1;
  359. TAB_IN2.'VYVZ1' = VYVZ1;
  360. TAB_IN2.'VYMT1' = VYMT1;
  361. TAB_IN2.'VYMY1' = VYMY1;
  362. TAB_IN2.'VYMZ1' = VYMZ1;
  363. TAB_IN2.'VZVZ1' = VZVZ1;
  364. TAB_IN2.'VZMT1' = VZMT1;
  365. TAB_IN2.'VZMY1' = VZMY1;
  366. TAB_IN2.'VZMZ1' = VZMZ1;
  367. TAB_IN2.'MTMT1' = MTMT1;
  368. TAB_IN2.'MTMY1' = MTMY1;
  369. TAB_IN2.'MTMZ1' = MTMZ1;
  370. TAB_IN2.'MYMY1' = MYMY1;
  371. TAB_IN2.'MYMZ1' = MYMZ1;
  372. TAB_IN2.'MZMZ1' = MZMZ1;
  373. TAB_IN2.'FCD1' = FCD1;
  374. TAB_IN2.'FSD1' = FSD1;
  375. *
  376. * Cas Poteau court
  377. 'SI' TEST_TY;
  378. 'SI' (TEST_Y1 'ET' TEST_Z1);
  379. LAMB1 = MRCFRAM1 TYP_CAL1 TAB_IN2 TOL_1;
  380. 'SINON';
  381. *
  382. * Cas Poteau Mixte
  383. 'SI' (TEST_Y1 'OU' TEST_Z1);
  384. 'MESS' 'Error...cas miixte...';
  385. 'QUIT' MRCFRAME;
  386. 'SINON';
  387. *
  388. * Cas Poteau long
  389. LAMB1 = MRCFRAM2 TYP_CAL1 TAB_IN2 TOL_1;
  390. 'FINSI';
  391. 'FINSI';
  392. 'SINON';
  393. 'SI' TEST_Z1 ;
  394. *
  395. * Cas Poutre courte
  396. LAMB1 = MRCFRAM3 TYP_CAL1 TAB_IN2 TOL_1;
  397. 'SINON';
  398. *
  399. * Cas Poutre courte
  400. LAMB1 = MRCFRAM4 TYP_CAL1 TAB_IN2 TOL_1;
  401. 'FINSI';
  402. 'FINSI';
  403. *
  404. * Remplissage MMODEL MAILLAGE et MCHML
  405. *Unused* MOD1 = 'MODE' ELE_FRA1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  406. *Unused* MODTOT = MODTOT 'ET' MOD1;
  407. CH_LAM1 = CH_LAM1 'ET' ('MANU' 'CHML' ELE_FRA1 'LAMB' LAMB1);
  408. 'SI' (LAMB1 '<' 1.0);
  409. MAI_RE1 = MAI_RE1 'ET' (ELE_FRA1 'COUL' 'ROUG');
  410. 'SINON';
  411. MAI_RE1 = MAI_RE1 'ET' (ELE_FRA1 'COUL' 'VERT');
  412. 'FINSI';
  413. *
  414. I_ELE1 = I_ELE1 + 1;
  415. 'FIN' IND_ELE1;
  416. *
  417. *Unused*'OUBL' MOD1;
  418. *
  419. * saving
  420. TT2.'CH_LAMBDA' = CH_LAM1;
  421. TT2.'CARTE' = MAI_RE1;
  422. * graphique part (plot of the limit surface, rectangle and ellispe
  423. * combination for the k element)
  424. *
  425. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  426. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  427. L_ELE1 = L_ELE1 ET LL_ERRE1;
  428. 'FINSI';
  429. 'SINON';
  430. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  431. L_ELE1 = LL_ERRE1;
  432. 'FINSI';
  433. 'FINSI';
  434. *
  435. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  436. L_ELE1 = 'ORDO' L_ELE1 'CROI';
  437. 'FINSI';
  438. *
  439. L_ELE2 = 'LECT';
  440. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  441. TT2.'GRAPHIQUES' = 'TABLE';
  442. I_VAL1 = 1;
  443. * loop for each k-element
  444. NN1 = 'DIME' L_ELE1;
  445. 'REPE' IND1 (NN1);
  446. 'SI' (I_VAL1 EGA 1);
  447. * id k-element
  448. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  449. L_ELE2 = L_ELE2 'ET' I_ELE1 ;
  450. * element
  451. ELE_FRA1 = MAI_F ELEM I_ELE1;
  452. LAMB1 = EXTR (REDU CH_LAM1 ELE_FRA1) 'LAMB' 1 1 1;
  453. * seismic effort stare for k-element
  454. CHL1 = 'REDU' CH_SEI1 ELE_FRA1;
  455. * static effort stare for k-element
  456. CHL2 = 'REDU' CH_STA1 ELE_FRA1;
  457. * caracteristics for k-element
  458. BASE_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Y' 1 1 1;
  459. BASE_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Z' 1 1 1;
  460. LONG_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBY' 1 1 1;
  461. LONG_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBZ' 1 1 1;
  462. ENROBA1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ENRB' 1 1 1;
  463. ACADRY1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWY' 1 1 1;
  464. ACADRZ1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWZ' 1 1 1;
  465. S_CADR1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'SCAD' 1 1 1;
  466. LI_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'PFER' 1 1 1;
  467. PY_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YFER' 1 1 1;
  468. PZ_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ZFER' 1 1 1;
  469. E_ACIE1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YACI' 1 1 1;
  470. EP_BET1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSB' 1 1 1;
  471. EP_ACI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSA' 1 1 1;
  472. *
  473. * Determination armature long totale
  474. II1 = 1;
  475. A_LONG1 = 0.0;
  476. 'REPE' IND11 (DIME LI_PHI1);
  477. A_LONG1 = A_LONG1 +
  478. ((PI)*((((EXTR LI_PHI1 II1)/(1000.))/(2.0))**2.0));
  479. II1 = II1 + 1;
  480. 'FIN' IND11;
  481. *
  482. * Determination parametres adimensionelles
  483. OM_SY1 = (A_LONG1*FSD1)/((BASE_Y1*BASE_Z1)*FCD1) ;
  484. OM_SZ1 = (A_LONG1*FSD1)/((BASE_Y1*BASE_Z1)*FCD1) ;
  485. OM_WZ1 = (ACADRZ1*FSD1)/((BASE_Y1*S_CADR1)*FCD1) ;
  486. OM_WY1 = (ACADRY1*FSD1)/((BASE_Z1*S_CADR1)*FCD1) ;
  487. LAMB_Y1 = LONG_Y1/BASE_Y1;
  488. LAMB_Z1 = LONG_Z1/BASE_Z1;
  489. CHI_Z1 = (BASE_Z1 - (2.0*ENROBA1))/BASE_Z1 ;
  490.   CHI_Y1 = (BASE_Y1 - (2.0*ENROBA1))/BASE_Y1 ;
  491. *
  492. TEST_Y1 = LAMB_Y1 &lt;EG (OM_SY1/OM_WY1);
  493. TEST_Z1 = LAMB_Z1 &lt;EG (OM_SZ1/OM_WZ1);
  494. TEST_TY = 'EGA' (EXTR (REDU CH_CAR1 ELE_FRA1) 'TYFR' 1 1 1) 'POTEAU' ;
  495. *
  496. T_GAP1 = 'TABLE';
  497. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  498. T_GAP1.'NX' = 100;
  499. T_GAP1.'NY' = 10;
  500. T_GAP1.'BY' = BASE_Y1;
  501. T_GAP1.'BZ' = BASE_Z1;
  502. T_GAP1.'ENROBAGE' = ENROBA1;
  503. T_GAP1.'S_CADRE' = S_CADR1;
  504. T_GAP1.'LONGEUR_Y' = LONG_Y1;
  505. T_GAP1.'LONGEUR_Z' = LONG_Z1;
  506. T_GAP1.'FCK' = FCBET1;
  507. T_GAP1.'FSK' = FSACI1;
  508. T_GAP1.'PHI_LON' = LI_PHI1;
  509. T_GAP1.'PHI_Y' = PY_PHI1;
  510. T_GAP1.'PHI_Z' = PZ_PHI1;
  511. T_GAP1.'ASWL_Y' = ACADRY1;
  512. T_GAP1.'ASWL_Z' = ACADRZ1;
  513. T_GAP1.'GAMMA_C' = GAMC1;
  514. T_GAP1.'ALPA_C' = ALPC1;
  515. T_GAP1.'GAMMA_S' = GAMS1;
  516. T_GAP1.'EPSI_BET' = EP_BET1;
  517. T_GAP1.'EPSI_ACI' = EP_ACI1;
  518. T_GAP1.'YOUNG_ACIER' = E_ACIE1;
  519. T_GAP2 = 'COPI' T_GAP1;
  520. 'SI' TEST_TY;
  521. 'SI' (TEST_Y1 'ET' TEST_Z1);
  522. T_GAP1.'NX' = 30;
  523. T_GAP1.'NY' = 10;
  524. 'FINSI';
  525. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  526. T_GAP2.'TYPE_COUCHE' = CHAINE 'POTEAU';
  527. 'SINON';
  528. 'SI' (TEST_Z1);
  529. T_GAP1.'NX' = 30;
  530. T_GAP1.'NY' = 10;
  531. 'FINSI';
  532. T_GAP1.'TYPE_COUCHE' = CHAINE 'POUTRE';
  533. T_GAP2.'TYPE_COUCHE' = CHAINE 'POUTRE';
  534. 'FINSI';
  535. T_GAP1.'EFFORT_SEISME' = CHL1;
  536. T_GAP1.'EFFORT_STATIQUE' = CHL2;
  537. T_GAP2.'EFFORT_SEISME' = (((LAMB1)**(2.0))*(CHL1));
  538. T_GAP2.'EFFORT_STATIQUE' = CHL2;
  539. *
  540. T_GAP3 = FRCTRACE T_GAP1 TOL_1;
  541. T_GAP4 = FRCTRACE T_GAP2 TOL_1;
  542.  
  543. *
  544. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  545. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE' =
  546. T_GAP3.'LIMITE';
  547. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE' =
  548. T_GAP3.'ELLIPSOIDE';
  549. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE' =
  550. T_GAP3.'RECTANGLE';
  551. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_AUG' =
  552. T_GAP4.'ELLIPSOIDE';
  553. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_AUG' =
  554. T_GAP4.'RECTANGLE';
  555. *
  556. 'SINON';
  557. * id k-element
  558. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  559. I_ELE2 = 'EXTR' L_ELE1 (I_VAL1 - 1);
  560. 'SI' (I_ELE1 'NEG' I_ELE2);
  561. L_ELE2 = L_ELE2 'ET' I_ELE1 ;
  562. * element
  563. ELE_FRA1 = MAI_F ELEM I_ELE1;
  564. LAMB1 = EXTR (REDU CH_LAM1 ELE_FRA1) 'LAMB' 1 1 1;
  565. * seismic effort stare for k-element
  566. CHL1 = 'REDU' CH_SEI1 ELE_FRA1;
  567. * static effort stare for k-element
  568. CHL2 = 'REDU' CH_STA1 ELE_FRA1;
  569. * caracteristics for k-element
  570. CHCE = REDU CH_CAR1 ELE_FRA1 ;
  571. *
  572. BASE_Y1 = EXTR CHCE 'B_Y ' 1 1 1;
  573. BASE_Z1 = EXTR CHCE 'B_Z ' 1 1 1;
  574. LONG_Y1 = EXTR CHCE 'LIBY' 1 1 1;
  575. LONG_Z1 = EXTR CHCE 'LIBZ' 1 1 1;
  576. ENROBA1 = EXTR CHCE 'ENRB' 1 1 1;
  577. ACADRY1 = EXTR CHCE 'ASWY' 1 1 1;
  578. ACADRZ1 = EXTR CHCE 'ASWZ' 1 1 1;
  579. S_CADR1 = EXTR CHCE 'SCAD' 1 1 1;
  580. LI_PHI1 = EXTR CHCE 'PFER' 1 1 1;
  581. PY_PHI1 = EXTR CHCE 'YFER' 1 1 1;
  582. PZ_PHI1 = EXTR CHCE 'ZFER' 1 1 1;
  583. E_ACIE1 = EXTR CHCE 'YACI' 1 1 1;
  584. EP_BET1 = EXTR CHCE 'EPSB' 1 1 1;
  585. EP_ACI1 = EXTR CHCE 'EPSA' 1 1 1;
  586. *
  587. * Determination armature long totale
  588. II1 = 1;
  589. A_LONG1 = 0.0;
  590. 'REPE' IND11 (DIME LI_PHI1);
  591. A_LONG1 = A_LONG1 +
  592. ((PI)*((((EXTR LI_PHI1 II1)/(1000.))/(2.0))**2.0));
  593. II1 = II1 + 1;
  594. 'FIN' IND11;
  595. *
  596. * Determination parametres adimensionelles
  597. OM_SY1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  598. OM_SZ1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  599. OM_WZ1 = ((ACADRZ1)*(FSD1))/(((BASE_Y1)*(S_CADR1))*(FCD1));
  600. OM_WY1 = ((ACADRY1)*(FSD1))/(((BASE_Z1)*(S_CADR1))*(FCD1));
  601. LAMB_Y1 = ((LONG_Y1)/(BASE_Y1));
  602. LAMB_Z1 = ((LONG_Z1)/(BASE_Z1));
  603. CHI_Z1 = ((BASE_Z1 - ((2.0)*(ENROBA1)))/(BASE_Z1));
  604.   CHI_Y1 = ((BASE_Y1 - ((2.0)*(ENROBA1)))/(BASE_Y1));
  605. *
  606. TEST_Y1 = LAMB_Y1 '&lt;EG' (OM_SY1/OM_WY1);
  607. TEST_Z1 = LAMB_Z1 '&lt;EG' (OM_SZ1/OM_WZ1);
  608. TEST_TY = 'EGA' (EXTR CH_CE 'TYFR' 1 1 1) 'POTEAU' ;
  609. *
  610. T_GAP1 = 'TABLE';
  611. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  612. T_GAP1.'NX' = 100;
  613. T_GAP1.'NY' = 10;
  614. T_GAP1.'BY' = BASE_Y1;
  615. T_GAP1.'BZ' = BASE_Z1;
  616. T_GAP1.'ENROBAGE' = ENROBA1;
  617. T_GAP1.'S_CADRE' = S_CADR1;
  618. T_GAP1.'LONGEUR_Y' = LONG_Y1;
  619. T_GAP1.'LONGEUR_Z' = LONG_Z1;
  620. T_GAP1.'FCK' = FCBET1;
  621. T_GAP1.'FSK' = FSACI1;
  622. T_GAP1.'PHI_LON' = LI_PHI1;
  623. T_GAP1.'PHI_Y' = PY_PHI1;
  624. T_GAP1.'PHI_Z' = PZ_PHI1;
  625. T_GAP1.'ASWL_Y' = ACADRY1;
  626. T_GAP1.'ASWL_Z' = ACADRZ1;
  627. T_GAP1.'GAMMA_C' = GAMC1;
  628. T_GAP1.'ALPA_C' = ALPC1;
  629. T_GAP1.'GAMMA_S' = GAMS1;
  630. T_GAP1.'EPSI_BET' = EP_BET1;
  631. T_GAP1.'EPSI_ACI' = EP_ACI1;
  632. T_GAP1.'YOUNG_ACIER' = E_ACIE1;
  633. T_GAP2 = 'COPI' T_GAP1;
  634. 'SI' TEST_TY;
  635. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  636. T_GAP2.'TYPE_COUCHE' = CHAINE 'POTEAU';
  637. 'SINON';
  638. T_GAP1.'TYPE_COUCHE' = CHAINE 'POUTRE';
  639. T_GAP2.'TYPE_COUCHE' = CHAINE 'POUTRE';
  640. 'FINSI';
  641. T_GAP1.'EFFORT_SEISME' = CHL1;
  642. T_GAP1.'EFFORT_STATIQUE' = CHL2;
  643. T_GAP2.'EFFORT_SEISME' = (LAMB1**2)*CHL1;
  644. T_GAP2.'EFFORT_STATIQUE' = CHL2;
  645. *
  646. T_GAP3 = FRCTRACE T_GAP1 TOL_1;
  647. T_GAP4 = FRCTRACE T_GAP2 TOL_1;
  648. *
  649. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  650. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE' = T_GAP3.'LIMITE';
  651. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE' = T_GAP3.'ELLIPSOIDE';
  652. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE' = T_GAP3.'RECTANGLE';
  653. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_AUG' = T_GAP4.'ELLIPSOIDE';
  654. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_AUG' = T_GAP4.'RECTANGLE';
  655. 'FINSI';
  656. 'FINSI';
  657. I_VAL1 = I_VAL1 + 1;
  658. 'FIN' IND1;
  659. TT2.'GRAPHIQUES'.'LISTE_ELEMENT' = L_ELE2;
  660. 'FINSI';
  661.  
  662. FINPROC TT2;
  663.  
  664.  
  665.  

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