Télécharger mrcframe.procedur

Retour à la liste

Numérotation des lignes :

  1. * MRCFRAME PROCEDUR AF221230 18/04/20 21:15:03 9814
  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 erronee!!!';
  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 erronee!!!';
  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 erronee!!!';
  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 erronee!!!';
  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. 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)
  321. 'TYFR' 1 1 1) 'POTEAU');
  322. *
  323. * table d'entre pour les procedures MRCFRAM1 MRCFRAM2 MRCFRAM3 MRCFRAM4
  324. TAB_IN2 = 'TABLE';
  325. TAB_IN2.'BASE_Y1' = BASE_Y1;
  326. TAB_IN2.'BASE_Z1' = BASE_Z1;
  327. TAB_IN2.'LONG_Y1' = LONG_Y1;
  328. TAB_IN2.'LONG_Z1' = LONG_Z1;
  329. TAB_IN2.'ENROBA1' = ENROBA1;
  330. TAB_IN2.'ACADRY1' = ACADRY1;
  331. TAB_IN2.'ACADRZ1' = ACADRZ1;
  332. TAB_IN2.'S_CADR1' = S_CADR1;
  333. TAB_IN2.'LI_PHI1' = LI_PHI1;
  334. TAB_IN2.'PY_PHI1' = PY_PHI1;
  335. TAB_IN2.'PZ_PHI1' = PZ_PHI1;
  336. TAB_IN2.'E_ACIE1' = E_ACIE1;
  337. TAB_IN2.'EP_BET1' = EP_BET1;
  338. TAB_IN2.'EP_ACI1' = EP_ACI1;
  339. TAB_IN2.'OM_SY1' = OM_SY1;
  340. TAB_IN2.'OM_SZ1' = OM_SZ1;
  341. TAB_IN2.'OM_WZ1' = OM_WZ1;
  342. TAB_IN2.'OM_WY1' = OM_WY1;
  343. TAB_IN2.'LAMB_Y1' = LAMB_Y1;
  344. TAB_IN2.'LAMB_Z1' = LAMB_Z1;
  345. TAB_IN2.'CHI_Z1' = CHI_Z1;
  346. TAB_IN2.'CHI_Y1' = CHI_Y1;
  347. TAB_IN2.'EFFX0' = EFFX0;
  348. TAB_IN2.'EFFY0' = EFFY0;
  349. TAB_IN2.'EFFZ0' = EFFZ0;
  350. TAB_IN2.'MOMX0' = MOMX0;
  351. TAB_IN2.'MOMY0' = MOMY0;
  352. TAB_IN2.'MOMZ0' = MOMZ0;
  353. TAB_IN2.'NNNN1' = NNNN1;
  354. TAB_IN2.'NNVY1' = NNVY1;
  355. TAB_IN2.'NNVZ1' = NNVZ1;
  356. TAB_IN2.'NNMT1' = NNMT1;
  357. TAB_IN2.'NNMY1' = NNMY1;
  358. TAB_IN2.'NNMZ1' = NNMZ1;
  359. TAB_IN2.'VYVY1' = VYVY1;
  360. TAB_IN2.'VYVZ1' = VYVZ1;
  361. TAB_IN2.'VYMT1' = VYMT1;
  362. TAB_IN2.'VYMY1' = VYMY1;
  363. TAB_IN2.'VYMZ1' = VYMZ1;
  364. TAB_IN2.'VZVZ1' = VZVZ1;
  365. TAB_IN2.'VZMT1' = VZMT1;
  366. TAB_IN2.'VZMY1' = VZMY1;
  367. TAB_IN2.'VZMZ1' = VZMZ1;
  368. TAB_IN2.'MTMT1' = MTMT1;
  369. TAB_IN2.'MTMY1' = MTMY1;
  370. TAB_IN2.'MTMZ1' = MTMZ1;
  371. TAB_IN2.'MYMY1' = MYMY1;
  372. TAB_IN2.'MYMZ1' = MYMZ1;
  373. TAB_IN2.'MZMZ1' = MZMZ1;
  374. TAB_IN2.'FCD1' = FCD1;
  375. TAB_IN2.'FSD1' = FSD1;
  376. *
  377. *
  378. * Cas Poteaux court
  379. 'SI' TEST_TY;
  380. 'SI' (TEST_Y1 'ET' TEST_Z1);
  381. LAMB1 = MRCFRAM1 TYP_CAL1 TAB_IN2 TOL_1;
  382. 'SINON';
  383. *
  384. * Cas Poteaux Mixte
  385. 'SI' (TEST_Y1 'OU' TEST_Z1);
  386. 'MESS' 'Error...cas miixte...';
  387. 'QUIT' MRCFRAME;
  388. 'SINON';
  389. *
  390. * Cas Poteaux long
  391. LAMB1 = MRCFRAM2 TYP_CAL1 TAB_IN2 TOL_1;
  392. 'FINSI';
  393. 'FINSI';
  394. 'SINON';
  395. 'SI' (TEST_Z1);
  396. *
  397. * Cas Poutre courte
  398. LAMB1 = MRCFRAM3 TYP_CAL1 TAB_IN2 TOL_1;
  399. 'SINON';
  400. *
  401. * Cas Poutre courte
  402. LAMB1 = MRCFRAM4 TYP_CAL1 TAB_IN2 TOL_1;
  403. 'FINSI';
  404. 'FINSI';
  405. *
  406. * Remplissage MMODEL MAILLAGE et MCHML
  407. MOD1 = 'MODE' ELE_FRA1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  408. MODTOT = MODTOT 'ET' MOD1;
  409. CH_LAM1 = CH_LAM1 'ET' ('MANU' 'CHML' ELE_FRA1 'LAMB' LAMB1);
  410. 'SI' (LAMB1 '<' 1.0);
  411. MAI_RE1 = MAI_RE1 'ET' (ELE_FRA1 'COUL' 'ROUG');
  412. 'SINON';
  413. MAI_RE1 = MAI_RE1 'ET' (ELE_FRA1 'COUL' 'VERT');
  414. 'FINSI';
  415. *
  416. *
  417. I_ELE1 = I_ELE1 + 1;
  418. 'FIN' IND_ELE1;
  419. *
  420. 'OUBL' MOD1;
  421. *
  422. * saving
  423. TT2.'CH_LAMBDA' = CH_LAM1;
  424. TT2.'CARTE' = MAI_RE1;
  425. * graphique part (plot of the limit surface, rectangle and ellispe
  426. * combination for the k element)
  427. *
  428. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  429. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  430. L_ELE1 = L_ELE1 ET LL_ERRE1;
  431. 'FINSI';
  432. 'SINON';
  433. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  434. L_ELE1 = LL_ERRE1;
  435. 'FINSI';
  436. 'FINSI';
  437. *
  438. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  439. L_ELE1 = 'ORDO' L_ELE1 'CROI';
  440. 'FINSI';
  441. *
  442. L_ELE2 = 'LECT';
  443. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  444. TT2.'GRAPHIQUES' = 'TABLE';
  445. I_VAL1 = 1;
  446. * loop for each k-element
  447. NN1 = 'DIME' L_ELE1;
  448. 'REPE' IND1 (NN1);
  449. 'SI' (I_VAL1 EGA 1);
  450. * id k-element
  451. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  452. L_ELE2 = L_ELE2 'ET' ('LECT' I_ELE1);
  453. * element
  454. ELE_FRA1 = MAI_F ELEM I_ELE1;
  455. LAMB1 = EXTR (REDU CH_LAM1 ELE_FRA1) 'LAMB' 1 1 1;
  456. * seismic effort stare for k-element
  457. CHL1 = 'REDU' CH_SEI1 ELE_FRA1;
  458. * static effort stare for k-element
  459. CHL2 = 'REDU' CH_STA1 ELE_FRA1;
  460. * caracteristics for k-element
  461. BASE_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Y' 1 1 1;
  462. BASE_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Z' 1 1 1;
  463. LONG_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBY' 1 1 1;
  464. LONG_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBZ' 1 1 1;
  465. ENROBA1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ENRB' 1 1 1;
  466. ACADRY1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWY' 1 1 1;
  467. ACADRZ1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWZ' 1 1 1;
  468. S_CADR1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'SCAD' 1 1 1;
  469. LI_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'PFER' 1 1 1;
  470. PY_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YFER' 1 1 1;
  471. PZ_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ZFER' 1 1 1;
  472. E_ACIE1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YACI' 1 1 1;
  473. EP_BET1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSB' 1 1 1;
  474. EP_ACI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSA' 1 1 1;
  475. *
  476. * Determination armature long totale
  477. II1 = 1;
  478. A_LONG1 = 0.0;
  479. 'REPE' IND11 (DIME LI_PHI1);
  480. A_LONG1 = A_LONG1 +
  481. ((PI)*((((EXTR LI_PHI1 II1)/(1000.))/(2.0))**2.0));
  482. II1 = II1 + 1;
  483. 'FIN' IND11;
  484. *
  485. * Determination parametres adimensionelles
  486. OM_SY1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  487. OM_SZ1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  488. OM_WZ1 = ((ACADRZ1)*(FSD1))/(((BASE_Y1)*(S_CADR1))*(FCD1));
  489. OM_WY1 = ((ACADRY1)*(FSD1))/(((BASE_Z1)*(S_CADR1))*(FCD1));
  490. LAMB_Y1 = ((LONG_Y1)/(BASE_Y1));
  491. LAMB_Z1 = ((LONG_Z1)/(BASE_Z1));
  492. CHI_Z1 = ((BASE_Z1 - ((2.0)*(ENROBA1)))/(BASE_Z1));
  493.   CHI_Y1 = ((BASE_Y1 - ((2.0)*(ENROBA1)))/(BASE_Y1));
  494. *
  495. TEST_Y1 = LAMB_Y1 &lt;EG (OM_SY1/OM_WY1);
  496. TEST_Z1 = LAMB_Z1 &lt;EG (OM_SZ1/OM_WZ1);
  497. TEST_TY = ('EGA' (EXTR (REDU CH_CAR1 ELE_FRA1)
  498. 'TYFR' 1 1 1) 'POTEAU');
  499. *
  500. T_GAP1 = 'TABLE';
  501. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  502. T_GAP1.'NX' = 100;
  503. T_GAP1.'NY' = 10;
  504. T_GAP1.'BY' = BASE_Y1;
  505. T_GAP1.'BZ' = BASE_Z1;
  506. T_GAP1.'ENROBAGE' = ENROBA1;
  507. T_GAP1.'S_CADRE' = S_CADR1;
  508. T_GAP1.'LONGEUR_Y' = LONG_Y1;
  509. T_GAP1.'LONGEUR_Z' = LONG_Z1;
  510. T_GAP1.'FCK' = FCBET1;
  511. T_GAP1.'FSK' = FSACI1;
  512. T_GAP1.'PHI_LON' = LI_PHI1;
  513. T_GAP1.'PHI_Y' = PY_PHI1;
  514. T_GAP1.'PHI_Z' = PZ_PHI1;
  515. T_GAP1.'ASWL_Y' = ACADRY1;
  516. T_GAP1.'ASWL_Z' = ACADRZ1;
  517. T_GAP1.'GAMMA_C' = GAMC1;
  518. T_GAP1.'ALPA_C' = ALPC1;
  519. T_GAP1.'GAMMA_S' = GAMS1;
  520. T_GAP1.'EPSI_BET' = EP_BET1;
  521. T_GAP1.'EPSI_ACI' = EP_ACI1;
  522. T_GAP1.'YOUNG_ACIER' = E_ACIE1;
  523. T_GAP2 = 'COPI' T_GAP1;
  524. 'SI' TEST_TY;
  525. 'SI' (TEST_Y1 'ET' TEST_Z1);
  526. T_GAP1.'NX' = 30;
  527. T_GAP1.'NY' = 10;
  528. 'FINSI';
  529. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  530. T_GAP2.'TYPE_COUCHE' = CHAINE 'POTEAU';
  531. 'SINON';
  532. 'SI' (TEST_Z1);
  533. T_GAP1.'NX' = 30;
  534. T_GAP1.'NY' = 10;
  535. 'FINSI';
  536. T_GAP1.'TYPE_COUCHE' = CHAINE 'POUTRE';
  537. T_GAP2.'TYPE_COUCHE' = CHAINE 'POUTRE';
  538. 'FINSI';
  539. T_GAP1.'EFFORT_SEISME' = CHL1;
  540. T_GAP1.'EFFORT_STATIQUE' = CHL2;
  541. T_GAP2.'EFFORT_SEISME' = (((LAMB1)**(2.0))*(CHL1));
  542. T_GAP2.'EFFORT_STATIQUE' = CHL2;
  543. *
  544. *
  545. T_GAP3 = FRCTRACE T_GAP1 TOL_1;
  546. T_GAP4 = FRCTRACE T_GAP2 TOL_1;
  547.  
  548. *
  549. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  550. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE' =
  551. T_GAP3.'LIMITE';
  552. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE' =
  553. T_GAP3.'ELLIPSOIDE';
  554. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE' =
  555. T_GAP3.'RECTANGLE';
  556. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_AUG' =
  557. T_GAP4.'ELLIPSOIDE';
  558. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_AUG' =
  559. T_GAP4.'RECTANGLE';
  560. *
  561. 'SINON';
  562. * id k-element
  563. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  564. I_ELE2 = 'EXTR' L_ELE1 (I_VAL1 - 1);
  565. 'SI' (I_ELE1 'NEG' I_ELE2);
  566. L_ELE2 = L_ELE2 'ET' ('LECT' I_ELE1);
  567. * element
  568. ELE_FRA1 = MAI_F ELEM I_ELE1;
  569. LAMB1 = EXTR (REDU CH_LAM1 ELE_FRA1) 'LAMB' 1 1 1;
  570. * seismic effort stare for k-element
  571. CHL1 = 'REDU' CH_SEI1 ELE_FRA1;
  572. * static effort stare for k-element
  573. CHL2 = 'REDU' CH_STA1 ELE_FRA1;
  574. * caracteristics for k-element
  575. BASE_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Y' 1 1 1;
  576. BASE_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'B_Z' 1 1 1;
  577. LONG_Y1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBY' 1 1 1;
  578. LONG_Z1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'LIBZ' 1 1 1;
  579. ENROBA1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ENRB' 1 1 1;
  580. ACADRY1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWY' 1 1 1;
  581. ACADRZ1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ASWZ' 1 1 1;
  582. S_CADR1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'SCAD' 1 1 1;
  583. LI_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'PFER' 1 1 1;
  584. PY_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YFER' 1 1 1;
  585. PZ_PHI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'ZFER' 1 1 1;
  586. E_ACIE1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'YACI' 1 1 1;
  587. EP_BET1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSB' 1 1 1;
  588. EP_ACI1 = EXTR (REDU CH_CAR1 ELE_FRA1) 'EPSA' 1 1 1;
  589. *
  590. * Determination armature long totale
  591. II1 = 1;
  592. A_LONG1 = 0.0;
  593. 'REPE' IND11 (DIME LI_PHI1);
  594. A_LONG1 = A_LONG1 +
  595. ((PI)*((((EXTR LI_PHI1 II1)/(1000.))/(2.0))**2.0));
  596. II1 = II1 + 1;
  597. 'FIN' IND11;
  598. *
  599. * Determination parametres adimensionelles
  600. OM_SY1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  601. OM_SZ1 = ((A_LONG1)*(FSD1))/(((BASE_Y1)*(BASE_Z1))*(FCD1));
  602. OM_WZ1 = ((ACADRZ1)*(FSD1))/(((BASE_Y1)*(S_CADR1))*(FCD1));
  603. OM_WY1 = ((ACADRY1)*(FSD1))/(((BASE_Z1)*(S_CADR1))*(FCD1));
  604. LAMB_Y1 = ((LONG_Y1)/(BASE_Y1));
  605. LAMB_Z1 = ((LONG_Z1)/(BASE_Z1));
  606. CHI_Z1 = ((BASE_Z1 - ((2.0)*(ENROBA1)))/(BASE_Z1));
  607.   CHI_Y1 = ((BASE_Y1 - ((2.0)*(ENROBA1)))/(BASE_Y1));
  608. *
  609. TEST_Y1 = LAMB_Y1 &lt;EG (OM_SY1/OM_WY1);
  610. TEST_Z1 = LAMB_Z1 &lt;EG (OM_SZ1/OM_WZ1);
  611. TEST_TY = ('EGA' (EXTR (REDU CH_CAR1 ELE_FRA1)
  612. 'TYFR' 1 1 1) 'POTEAU');
  613. *
  614. T_GAP1 = 'TABLE';
  615. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  616. T_GAP1.'NX' = 100;
  617. T_GAP1.'NY' = 10;
  618. T_GAP1.'BY' = BASE_Y1;
  619. T_GAP1.'BZ' = BASE_Z1;
  620. T_GAP1.'ENROBAGE' = ENROBA1;
  621. T_GAP1.'S_CADRE' = S_CADR1;
  622. T_GAP1.'LONGEUR_Y' = LONG_Y1;
  623. T_GAP1.'LONGEUR_Z' = LONG_Z1;
  624. T_GAP1.'FCK' = FCBET1;
  625. T_GAP1.'FSK' = FSACI1;
  626. T_GAP1.'PHI_LON' = LI_PHI1;
  627. T_GAP1.'PHI_Y' = PY_PHI1;
  628. T_GAP1.'PHI_Z' = PZ_PHI1;
  629. T_GAP1.'ASWL_Y' = ACADRY1;
  630. T_GAP1.'ASWL_Z' = ACADRZ1;
  631. T_GAP1.'GAMMA_C' = GAMC1;
  632. T_GAP1.'ALPA_C' = ALPC1;
  633. T_GAP1.'GAMMA_S' = GAMS1;
  634. T_GAP1.'EPSI_BET' = EP_BET1;
  635. T_GAP1.'EPSI_ACI' = EP_ACI1;
  636. T_GAP1.'YOUNG_ACIER' = E_ACIE1;
  637. T_GAP2 = 'COPI' T_GAP1;
  638. 'SI' TEST_TY;
  639. T_GAP1.'TYPE_COUCHE' = CHAINE 'POTEAU';
  640. T_GAP2.'TYPE_COUCHE' = CHAINE 'POTEAU';
  641. 'SINON';
  642. T_GAP1.'TYPE_COUCHE' = CHAINE 'POUTRE';
  643. T_GAP2.'TYPE_COUCHE' = CHAINE 'POUTRE';
  644. 'FINSI';
  645. T_GAP1.'EFFORT_SEISME' = CHL1;
  646. T_GAP1.'EFFORT_STATIQUE' = CHL2;
  647. T_GAP2.'EFFORT_SEISME' = (((LAMB1)**(2.0))*(CHL1));
  648. T_GAP2.'EFFORT_STATIQUE' = CHL2;
  649. *
  650. *
  651. T_GAP3 = FRCTRACE T_GAP1 TOL_1;
  652. T_GAP4 = FRCTRACE T_GAP2 TOL_1;
  653. *
  654. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  655. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE' =
  656. T_GAP3.'LIMITE';
  657. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE' =
  658. T_GAP3.'ELLIPSOIDE';
  659. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE' =
  660. T_GAP3.'RECTANGLE';
  661. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_AUG' =
  662. T_GAP4.'ELLIPSOIDE';
  663. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_AUG' =
  664. T_GAP4.'RECTANGLE';
  665. 'FINSI';
  666. 'FINSI';
  667. I_VAL1 = I_VAL1 + 1;
  668. 'FIN' IND1;
  669. TT2.'GRAPHIQUES'.'LISTE_ELEMENT' = L_ELE2;
  670. 'FINSI';
  671. * fin
  672. FINPROC TT2;
  673.  
  674.  
  675.  

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