Télécharger g_ultifr.procedur

Retour à la liste

Numérotation des lignes :

  1. * G_ULTIFR PROCEDUR AF221230 18/04/20 21:15:02 9814
  2. 'DEBPROC' G_ULTIFR TAB1*'TABLE';
  3. *
  4. * --------------------------------------------------------
  5. * Procedure G_ULTIFR
  6. * Computation of the function g (capacity surface) for frame elements
  7. *
  8. * Developpers:
  9. * Alberto FRAU
  10. * DEN/DANS/DM2S/SEMT/EMSI
  11. * Nicolas ILE
  12. * DEN/DANS/DM2S/SEMT/EMSI
  13. * Giulia DI STEFANO
  14. *
  15. * INPUT:
  16. * TAB1.'TYPE' P_COURT P_LONG PT_COURT PT_LONG
  17. * .'NN' effort normal [FLOTTANT]
  18. * .'VY' effort tranchant selon Y [FLOTTANT]
  19. * .'VZ' effort tranchant selon Z [FLOTTANT]
  20. * .'MY' moment flechissant Y [FLOTTANT]
  21. * .'MZ' moment flechissant Z [FLOTTANT]
  22. * .'BY' Coté horizontal de la section selon Y [FLOTTANT]
  23. * .'BZ' Coté vertical de la section selon Z [FLOTTANT]
  24. * .'FCD' Resistence caracteristiques du beton [FLOTTANT]
  25. * .'FSD' Resis. caract. de l'acier direction x [FLOTTANT]
  26.  
  27. * Si TYPE = P_COURT (P = poteau)
  28. * .'WSY' taux de ferraillage longitudinal selon Y
  29. * WSY=(Aferraillage * FSD)/(BY*BZ*FCD)
  30. * .'WSZ' taux de ferraillage longitudinal selon Z
  31. * WSZ=(Aferraillage * FSD)/(BY*BZ*FCD)
  32. * .'WWY' taux des cadres selon Y
  33. * WWY=(Acadres * FSD)/(BZ*distance
  34. * entre les cadres*FCD)
  35. * .'WWZ' taux des cadres selon Z
  36. * WWZ=(Acadres * FSD)/(BY*distance
  37. * entre les cadres*FCD)
  38. * .'LY' lambda Y (rapport entre la longeur libre
  39. * d'inflexion et BY)
  40. * .'LZ' lambda Z (rapport entre la longeur libre
  41. * d'inflexion et BZ)
  42. * .'XIY' distance entre les deux niveaux de ferraillage
  43. * selon Y
  44. * XIY=(BY-2*ENROBAGE)/BY
  45. * .'XIZ' distance entre les deux niveaux de ferraillage
  46. * selon Z
  47. * XIZ=(BZ-2*ENROBAGE)/BZ
  48. *
  49. * Si TYPE = P_LONG
  50. * .'PHI_LON' diametre ferraillage longitudinal
  51. * .'PHI_Y' distance selon Y du ferraillage
  52. * par rapport au centre de masse
  53. * .'PHI_Z' distance selon Z du ferraillage
  54. * par rapport au centre de masse
  55. * .'EPSI_BET' deformation du beton
  56. * .'EPSI_ACI' deformation de l'acier
  57. * .'YOUNG_ACIER' module de Young de l'acier
  58. *
  59. * Si TYPE = PT_COURT (PT = poutre)
  60. * .'WSZ' taux de ferraillage longitudinal selon Z
  61. * WSY=(Aferraillage * FSD)/(BY*BZ*FCD)
  62. * .'WWZ' taux des cadres selon Z
  63. * WWZ=(Acadres * FSD)/(BY*distance
  64. * entre les cadres*FCD)
  65. * .'LZ' lambda Z (rapport entre la longeur libre
  66. * d'inflexion et BZ)
  67. * .'XIZ' distance entre les deux niveaux de ferraillage
  68. * selon Z
  69. * XIZ=(BZ-2*ENROBAGE)/BZ
  70. *
  71. * Si TYPE = PT_LONG
  72. * .'PHI_LON' diametre ferraillage longitudinale selon x
  73. * .'PHI_Y' distance selon Y du ferraillage
  74. * par rapport au centre de masse
  75. * .'EPSI_BET' deformation du beton
  76. * .'EPSI_ACI' deformation de l'acier
  77. * .'YOUNG_ACIER' module de Young de l'acier
  78. *
  79. *OUTPUT: les valeurs de la fonction g
  80. * --------------------------------------------------------
  81. * Controle Type d'element
  82. 'SI' ('EXIST' TAB1 'TYPE');
  83. TPY1 = TAB1.'TYPE';
  84. 'SI' ('NEG' ('TYPE' TPY1) 'MOT');
  85. 'MESS' 'Input Error ...';
  86. 'QUIT' G_ULTIFR;
  87. 'FINSI';
  88. 'SINON';
  89. 'MESS' 'Input Error ...';
  90. 'QUIT' G_ULTIFR;
  91. 'FINSI';
  92. 'SI' ('EXIST' TAB1 'NN');
  93. NN1 = TAB1.'NN';
  94. 'SI' ('NEG' ('TYPE' NN1) 'FLOTTANT');
  95. 'MESS' 'Input Error ...';
  96. 'QUIT' G_ULTIFR;
  97. 'FINSI';
  98. 'SINON';
  99. 'MESS' 'Input Error ...';
  100. 'QUIT' G_ULTIFR;
  101. 'FINSI';
  102. 'SI' ('EXIST' TAB1 'VY');
  103. VY1 = TAB1.'VY';
  104. 'SI' ('NEG' ('TYPE' VY1) 'FLOTTANT');
  105. 'MESS' 'Input Error ...';
  106. 'QUIT' G_ULTIFR;
  107. 'FINSI';
  108. 'SINON';
  109. 'MESS' 'Input Error ...';
  110. 'QUIT' G_ULTIFR;
  111. 'FINSI';
  112. 'SI' ('EXIST' TAB1 'VZ');
  113. VZ1 = TAB1.'VZ';
  114. 'SI' ('NEG' ('TYPE' VZ1) 'FLOTTANT');
  115. 'MESS' 'Input Error ...';
  116. 'QUIT' G_ULTIFR;
  117. 'FINSI';
  118. 'SINON';
  119. 'MESS' 'Input Error ...';
  120. 'QUIT' G_ULTIFR;
  121. 'FINSI';
  122. 'SI' ('EXIST' TAB1 'MY');
  123. MY1 = TAB1.'MY';
  124. 'SI' ('NEG' ('TYPE' MY1) 'FLOTTANT');
  125. 'MESS' 'Input Error ...';
  126. 'QUIT' G_ULTIFR;
  127. 'FINSI';
  128. 'SINON';
  129. 'MESS' 'Input Error ...';
  130. 'QUIT' G_ULTIFR;
  131. 'FINSI';
  132. 'SI' ('EXIST' TAB1 'MZ');
  133. MZ1 = TAB1.'MZ';
  134. 'SI' ('NEG' ('TYPE' MZ1) 'FLOTTANT');
  135. 'MESS' 'Input Error ...';
  136. 'QUIT' G_ULTIFR;
  137. 'FINSI';
  138. 'SINON';
  139. 'MESS' 'Input Error ...';
  140. 'QUIT' G_ULTIFR;
  141. 'FINSI';
  142. 'SI' ('EXIST' TAB1 'BY');
  143. BY1 = TAB1.'BY';
  144. 'SI' ('NEG' ('TYPE' BY1) 'FLOTTANT');
  145. 'MESS' 'Input Error ...';
  146. 'QUIT' G_ULTIFR;
  147. 'FINSI';
  148. 'SINON';
  149. 'MESS' 'Input Error ...';
  150. 'QUIT' G_ULTIFR;
  151. 'FINSI';
  152. 'SI' ('EXIST' TAB1 'BZ');
  153. BZ1 = TAB1.'BZ';
  154. 'SI' ('NEG' ('TYPE' BZ1) 'FLOTTANT');
  155. 'MESS' 'Input Error ...';
  156. 'QUIT' G_ULTIFR;
  157. 'FINSI';
  158. 'SINON';
  159. 'MESS' 'Input Error ...';
  160. 'QUIT' G_ULTIFR;
  161. 'FINSI';
  162. 'SI' ('EXIST' TAB1 'FCD');
  163. FCD1 = TAB1.'FCD';
  164. 'SI' ('NEG' ('TYPE' FCD1) 'FLOTTANT');
  165. 'MESS' 'Input Error ...';
  166. 'QUIT' G_ULTIFR;
  167. 'FINSI';
  168. 'SINON';
  169. 'MESS' 'Input Error ...';
  170. 'QUIT' G_ULTIFR;
  171. 'FINSI';
  172. 'SI' ('EXIST' TAB1 'FSD');
  173. FSD1 = TAB1.'FSD';
  174. 'SI' ('NEG' ('TYPE' FSD1) 'FLOTTANT');
  175. 'MESS' 'Input Error ...';
  176. 'QUIT' G_ULTIFR;
  177. 'FINSI';
  178. 'SINON';
  179. 'MESS' 'Input Error ...';
  180. 'QUIT' G_ULTIFR;
  181. 'FINSI';
  182. *
  183. 'SI' (('NEG' TPY1 'P_COURT') 'ET'
  184. ('NEG' TPY1 'P_LONG') 'ET'
  185. ('NEG' TPY1 'PT_COURT') 'ET'
  186. ('NEG' TPY1 'PT_LONG'));
  187. 'MESS' 'TYPE erroné';
  188. 'QUIT' G_ULTIFR;
  189. 'FINSI';
  190. *
  191. *
  192. * ------------- Poteau Court -----------------------------
  193. 'SI' ('EGA' TPY1 'P_COURT');
  194. *
  195. * check sur les données d'entree
  196. 'SI' ('EXIST' TAB1 'WSY');
  197. WSY1 = TAB1.'WSY';
  198. 'SI' ('NEG' ('TYPE' WSY1) 'FLOTTANT');
  199. 'MESS' 'Input Error ...';
  200. 'QUIT' G_ULTIFR;
  201. 'FINSI';
  202. 'SINON';
  203. 'MESS' 'Input Error ...';
  204. 'QUIT' G_ULTIFR;
  205. 'FINSI';
  206. 'SI' ('EXIST' TAB1 'WSZ');
  207. WSZ1 = TAB1.'WSZ';
  208. 'SI' ('NEG' ('TYPE' WSZ1) 'FLOTTANT');
  209. 'MESS' 'Input Error ...';
  210. 'QUIT' G_ULTIFR;
  211. 'FINSI';
  212. 'SINON';
  213. 'MESS' 'Input Error ...';
  214. 'QUIT' G_ULTIFR;
  215. 'FINSI';
  216. 'SI' ('EXIST' TAB1 'WWY');
  217. WWY1 = TAB1.'WWY';
  218. 'SI' ('NEG' ('TYPE' WWY1) 'FLOTTANT');
  219. 'MESS' 'Input Error ...';
  220. 'QUIT' G_ULTIFR;
  221. 'FINSI';
  222. 'SINON';
  223. 'MESS' 'Input Error ...';
  224. 'QUIT' G_ULTIFR;
  225. 'FINSI';
  226. 'SI' ('EXIST' TAB1 'WWZ');
  227. WWZ1 = TAB1.'WWZ';
  228. 'SI' ('NEG' ('TYPE' WWZ1) 'FLOTTANT');
  229. 'MESS' 'Input Error ...';
  230. 'QUIT' G_ULTIFR;
  231. 'FINSI';
  232. 'SINON';
  233. 'MESS' 'Input Error ...';
  234. 'QUIT' G_ULTIFR;
  235. 'FINSI';
  236. 'SI' ('EXIST' TAB1 'LY');
  237. LY1 = TAB1.'LY';
  238. 'SI' ('NEG' ('TYPE' LY1) 'FLOTTANT');
  239. 'MESS' 'Input Error ...';
  240. 'QUIT' G_ULTIFR;
  241. 'FINSI';
  242. 'SINON';
  243. 'MESS' 'Input Error ...';
  244. 'QUIT' G_ULTIFR;
  245. 'FINSI';
  246. 'SI' ('EXIST' TAB1 'LZ');
  247. LZ1 = TAB1.'LZ';
  248. 'SI' ('NEG' ('TYPE' LZ1) 'FLOTTANT');
  249. 'MESS' 'Input Error ...';
  250. 'QUIT' G_ULTIFR;
  251. 'FINSI';
  252. 'SINON';
  253. 'MESS' 'Input Error ...';
  254. 'QUIT' G_ULTIFR;
  255. 'FINSI';
  256. 'SI' ('EXIST' TAB1 'XIY');
  257. XIY1 = TAB1.'XIY';
  258. 'SI' ('NEG' ('TYPE' XIY1) 'FLOTTANT');
  259. 'MESS' 'Input Error ...';
  260. 'QUIT' G_ULTIFR;
  261. 'FINSI';
  262. 'SINON';
  263. 'MESS' 'Input Error ...';
  264. 'QUIT' G_ULTIFR;
  265. 'FINSI';
  266. 'SI' ('EXIST' TAB1 'XIZ');
  267. XIZ1 = TAB1.'XIZ';
  268. 'SI' ('NEG' ('TYPE' XIZ1) 'FLOTTANT');
  269. 'MESS' 'Input Error ...';
  270. 'QUIT' G_ULTIFR;
  271. 'FINSI';
  272. 'SINON';
  273. 'MESS' 'Input Error ...';
  274. 'QUIT' G_ULTIFR;
  275. 'FINSI';
  276. *
  277. * -
  278. *
  279. * sollicitation adimensionelle
  280. NN2 = ((NN1)/((BY1*BZ1)*(FCD1)));
  281. * on change le signe pour tenir en copte la traction
  282. NN2 = ((-1.0)*(NN2));
  283. *
  284. * on calcule les limites n1, n2, n3 et n4 pour les trois zones (dir y)
  285. NNY_L1 = ((-1.0)*(WSY1));
  286. NNY_L2 = 0.5 - WSY1 + ((WWY1)*(LY1 - 1 + XIY1));
  287. NNY_L3 = 0.5 + WSY1 - ((WWY1)*(LY1 + 1 - XIY1));
  288. NNY_L4 = 1.0 + WSY1;
  289. *
  290. * on calcule les limites n1, n2, n3 et n4 pour les trois zones (dir z)
  291. NNZ_L1 = ((-1.0)*(WSZ1));
  292. NNZ_L2 = 0.5 - WSZ1 + ((WWZ1)*(LZ1 - 1 + XIZ1));
  293. NNZ_L3 = 0.5 + WSZ1 - ((WWZ1)*(LZ1 + 1 - XIZ1));
  294. NNZ_L4 = 1.0 + WSZ1;
  295. *
  296. * on calcule les vmaxy et vmaxz
  297. FFIY1 = (((LY1*LY1) + 1.0)**(0.5)) - LY1;
  298. FFIZ1 = (((LZ1*LZ1) + 1.0)**(0.5)) - LZ1;
  299. VYU2 = (WWY1*XIY1) + ((0.5 - WWY1)*(FFIY1));
  300. VZU2 = (WWZ1*XIZ1) + ((0.5 - WWZ1)*(FFIZ1));
  301. *
  302. * pour les 3 zones (y compris la zone externe) on definie les
  303. * coeficients a, b et c de l'equation d'ordre 2 qui definie l'equation
  304. * de g (surface de capacité) - dir Y
  305. *
  306. SI (NN2 '<' NNY_L1);
  307. AA1 = 0.0;
  308. BB1 = 0.0;
  309. CC1 = ((ABS(VY1))/((BY1*BZ1)*(FCD1)))*0.1;
  310. SINON;
  311. SI ((NN2 '>EG' NNY_L1) ET (NN2 '<' NNY_L2));
  312. AA1 = (-1.0)*((VYU2)/((NNY_L1 - NNY_L2)**(2.0)));
  313. BB1 = (-1.0)*((2.0*AA1)*(NNY_L2));
  314. CC1 = (-1.0)*(((AA1)*(NNY_L1**2.0)) + ((BB1)*(NNY_L1)));
  315. SINON;
  316. SI ((NN2 '>EG' NNY_L2) ET (NN2 '<' NNY_L3));
  317. AA1 = 0.0;
  318. BB1 = 0.0;
  319. CC1 = VYU2;
  320. SINON;
  321. SI ((NN2 '>EG' NNY_L3) ET (NN2 '&lt;EG' NNY_L4));
  322. AA1 = (-1.0)*((VYU2)/((NNY_L4 - NNY_L3)**(2.0)));
  323. BB1 = (-1.0)*((2.0*AA1)*(NNY_L3));
  324. CC1 = (-1.0)*(((AA1)*(NNY_L4**2.0)) + ((BB1)*(NNY_L4)));
  325. SINON;
  326. AA1 = 0.0;
  327. BB1 = 0.0;
  328. CC1 = ((ABS(VY1))/((BY1*BZ1)*(FCD1)))*0.1;
  329. FINSI;
  330. FINSI;
  331. FINSI;
  332. FINSI;
  333. *
  334. * valeur de la vyo adimensionelle
  335. VYO2 = ((AA1)*(NN2**2.0)) + ((BB1)*(NN2)) + CC1;
  336. *
  337. *
  338. * pour les 3 zones (y compris la zone externe) on definie les
  339. * coeficients a, b et c de l'equation d'ordre 2 qui definie l'equation
  340. * de g (surface de capacité) - dir Z
  341. *
  342. SI (NN2 '<' NNZ_L1);
  343. AA1 = 0.0;
  344. BB1 = 0.0;
  345. CC1 = ((ABS(VZ1))/((BY1*BZ1)*(FCD1)))*0.1;
  346. SINON;
  347. SI ((NN2 '>EG' NNZ_L1) ET (NN2 '<' NNZ_L2));
  348. AA1 = (-1.0)*((VZU2)/((NNZ_L1 - NNZ_L2)**(2.0)));
  349. BB1 = (-1.0)*((2.0*AA1)*(NNZ_L2));
  350. CC1 = (-1.0)*(((AA1)*(NNZ_L1**2.0)) + ((BB1)*(NNZ_L1)));
  351. SINON;
  352. SI ((NN2 '>EG' NNZ_L2) ET (NN2 '<' NNZ_L3));
  353. AA1 = 0.0;
  354. BB1 = 0.0;
  355. CC1 = VZU2;
  356. SINON;
  357. SI ((NN2 '>EG' NNZ_L3) ET (NN2 '&lt;EG' NNZ_L4));
  358. AA1 = (-1.0)*((VZU2)/((NNZ_L4 - NNZ_L3)**(2.0)));
  359. BB1 = (-1.0)*((2.0*AA1)*(NNZ_L3));
  360. CC1 = (-1.0)*(((AA1)*(NNZ_L4**2.0)) + ((BB1)*(NNZ_L4)));
  361. SINON;
  362. AA1 = 0.0;
  363. BB1 = 0.0;
  364. CC1 = ((ABS(VZ1))/((BY1*BZ1)*(FCD1)))*0.1;
  365. FINSI;
  366. FINSI;
  367. FINSI;
  368. FINSI;
  369. *
  370. *
  371. * valeur de la vyo adimensionelle
  372. *
  373. VZO2 = ((AA1)*(NN2**2.0)) + ((BB1)*(NN2)) + CC1;
  374. *
  375. * valeurs de V0y et V0z
  376. VZO = ((VZO2)*((BY1*BZ1)*(FCD1)));
  377. VYO = ((VYO2)*((BY1*BZ1)*(FCD1)));
  378. *
  379. * cas particuliers si on se trouve à l'exterieurs des 3 zones au sur
  380. * le coin de la fonction g (ou à N=0)
  381. 'SI' (ABS(VYO) < 1.E-10);
  382. 'SI' ((ABS(VY1) < 1.E-10) ET (ABS(VZ1) < 1.E-10) ET
  383. ((ABS((NN2 - NNZ_L1)) '&lt;EG' 1.E-8) 'OU'
  384. (ABS((NN2 - NNZ_L4)) '&lt;EG' 1.E-8)));
  385. VAL1 = 0.0;
  386. 'SINON';
  387. VAL1 = ((-1.0)*(300000.0));
  388. 'FINSI';
  389. 'SINON';
  390. 'SI' (ABS(VZO) < 1.E-10);
  391. 'SI' ((ABS(VY1) < 1.E-10) ET (ABS(VZ1) < 1.E-10) ET
  392. ((ABS((NN2 - NNZ_L1)) '&lt;EG' 1.E-8) 'OU'
  393. (ABS((NN2 - NNZ_L4)) '&lt;EG' 1.E-8)));
  394. VAL1 = 0.0;
  395. 'SINON';
  396. VAL1 = ((-1.0)*(300000.0));
  397. 'FINSI';
  398. 'SINON';
  399. VAL1 = 1.0 - ((VY1/VYO)**(2.0)) - ((VZ1/VZO)**(2.0));
  400. 'FINSI';
  401. 'FINSI';
  402. *
  403. **** Modification
  404. 'SI' ((NN2 < NNZ_L1) OU (NN2 > NNZ_L4));
  405. VAL1 = ((-1.0)*(300000.0));
  406. 'FINSI';
  407. **** Modification
  408. *
  409. 'FINSI';
  410. * ------------- Poteau Long -----------------------------
  411. 'SI' ('EGA' TPY1 'P_LONG');
  412. *
  413. * Controle
  414. 'SI' ('EXIST' TAB1 'PHI_LON');
  415. LPHI1 = TAB1.'PHI_LON';
  416. 'SI' ('NEG' ('TYPE' LPHI1) 'LISTREEL');
  417. 'MESS' 'Input Error ...';
  418. 'QUIT' G_ULTIFR;
  419. 'FINSI';
  420. 'SINON';
  421. 'MESS' 'Input Error ...';
  422. 'QUIT' G_ULTIFR;
  423. 'FINSI';
  424. 'SI' ('EXIST' TAB1 'PHI_Y');
  425. LPHIY1 = TAB1.'PHI_Y';
  426. 'SI' ('NEG' ('TYPE' LPHIY1) 'LISTREEL');
  427. 'MESS' 'Input Error ...';
  428. 'QUIT' G_ULTIFR;
  429. 'FINSI';
  430. 'SINON';
  431. 'MESS' 'Input Error ...';
  432. 'QUIT' G_ULTIFR;
  433. 'FINSI';
  434. 'SI' ('EXIST' TAB1 'PHI_Z');
  435. LPHIZ1 = TAB1.'PHI_Z';
  436. 'SI' ('NEG' ('TYPE' LPHIZ1) 'LISTREEL');
  437. 'MESS' 'Input Error ...';
  438. 'QUIT' G_ULTIFR;
  439. 'FINSI';
  440. 'SINON';
  441. 'MESS' 'Input Error ...';
  442. 'QUIT' G_ULTIFR;
  443. 'FINSI';
  444. 'SI' ('EXIST' TAB1 'EPSI_BET');
  445. EPSC1 = TAB1.'EPSI_BET';
  446. 'SI' ('NEG' ('TYPE' EPSC1 ) 'FLOTTANT');
  447. 'MESS' 'Input Error ...';
  448. 'QUIT' G_ULTIFR;
  449. 'FINSI';
  450. 'SINON';
  451. 'MESS' 'Input Error ...';
  452. 'QUIT' G_ULTIFR;
  453. 'FINSI';
  454. 'SI' ('EXIST' TAB1 'EPSI_ACI');
  455. EPSA1 = TAB1.'EPSI_ACI';
  456. 'SI' ('NEG' ('TYPE' EPSA1 ) 'FLOTTANT');
  457. 'MESS' 'Input Error ...';
  458. 'QUIT' G_ULTIFR;
  459. 'FINSI';
  460. 'SINON';
  461. 'MESS' 'Input Error ...';
  462. 'QUIT' G_ULTIFR;
  463. 'FINSI';
  464. 'SI' ('EXIST' TAB1 'YOUNG_ACIER');
  465. YOU_ACI1 = TAB1.'YOUNG_ACIER';
  466. 'SI' ('NEG' ('TYPE' YOU_ACI1 ) 'FLOTTANT');
  467. 'MESS' 'Input Error ...';
  468. 'QUIT' G_ULTIFR;
  469. 'FINSI';
  470. 'SINON';
  471. 'MESS' 'Input Error ...';
  472. 'QUIT' G_ULTIFR;
  473. 'FINSI';
  474. *
  475. * hauteur nette
  476. DY1P = BZ1 - ENR1;
  477. DZ1P = BY1 - ENR1;
  478. DY1N = BZ1 - ENR1;
  479. DZ1N = BY1 - ENR1;
  480. *
  481. * axe neutre
  482. XCY1P = ((DY1P)*((EPSC1)/(EPSC1 + EPSA1)));
  483. XCZ1P = ((DZ1P)*((EPSC1)/(EPSC1 + EPSA1)));
  484. XCY1N = ((DY1N)*((EPSC1)/(EPSC1 + EPSA1)));
  485. XCZ1N = ((DZ1N)*((EPSC1)/(EPSC1 + EPSA1)));
  486. *
  487. * Courbure
  488. FHI1YP = (EPSC1)/(XCY1P);
  489. FHI1YN = ((-1.0)*((EPSC1)/(XCY1N)));
  490. FHI1ZP = (EPSC1)/(XCZ1P);
  491. FHI1ZN = ((-1.0)*((EPSC1)/(XCZ1N)));
  492. *
  493. * Determination evolution epsilon
  494. CC1YP = (EPSC1) - ((FHI1YP)*((BZ1)/(2.0)));
  495. CC1YN = (EPSC1) - ((FHI1YN)*((BZ1)/(-2.0)));
  496. CC1ZP = (EPSC1) - ((FHI1ZP)*((BY1)/(2.0)));
  497. CC1ZN = (EPSC1) - ((FHI1ZN)*((BY1)/(-2.0)));
  498. *
  499. * Determination des deformations dans les aciers
  500. I = 1;
  501. TAB_EY1P = 'TABLE';
  502. TAB_EZ1P = 'TABLE';
  503. TAB_EY1N = 'TABLE';
  504. TAB_EZ1N = 'TABLE';
  505. 'REPE' IND1 ('DIME' LPHI1);
  506. TAB_EY1P. I = ((FHI1YP)*('EXTR' LPHIZ1 I)) + CC1YP;
  507. TAB_EZ1P. I = ((FHI1ZP)*('EXTR' LPHIY1 I)) + CC1ZP;
  508. TAB_EY1N. I = ((FHI1YN)*('EXTR' LPHIZ1 I)) + CC1YN;
  509. TAB_EZ1N. I = ((FHI1ZN)*('EXTR' LPHIY1 I)) + CC1ZN;
  510. I = I + 1;
  511. 'FIN' IND1;
  512. *
  513. * Determination des efforts dans les aciers
  514. TAB_SY1P = 'TABLE';
  515. TAB_SZ1P = 'TABLE';
  516. TAB_SY1N = 'TABLE';
  517. TAB_SZ1N = 'TABLE';
  518. I = 1;
  519. 'REPE' IND1 ('DIME' LPHI1);
  520. VAL11 = 'ABS'(TAB_EY1P. I);
  521. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  522. II1 = (TAB_EY1P. I)/VAL11;
  523. TAB_SY1P. I = ((FSD1)*(II1))*
  524. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  525. 'SINON';
  526. TAB_SY1P. I = ((YOU_ACI1)*(TAB_EY1P. I))*
  527. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  528. 'FINSI';
  529. VAL11 = 'ABS'(TAB_EZ1P. I);
  530. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  531. II1 = (TAB_EZ1P. I)/VAL11;
  532. TAB_SZ1P. I = ((FSD1)*(II1))*
  533. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  534. 'SINON';
  535. TAB_SZ1P. I = ((YOU_ACI1)*(TAB_EZ1P. I))*
  536. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  537. 'FINSI';
  538. VAL11 = 'ABS'(TAB_EY1N. I);
  539. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  540. II1 = (TAB_EY1N. I)/VAL11;
  541. TAB_SY1N. I = ((FSD1)*(II1))*
  542. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  543. 'SINON';
  544. TAB_SY1N. I = ((YOU_ACI1)*(TAB_EY1N. I))*
  545. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  546. 'FINSI';
  547. VAL11 = 'ABS'(TAB_EZ1N. I);
  548. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  549. II1 = (TAB_EZ1N. I)/VAL11;
  550. TAB_SZ1N. I = ((FSD1)*(II1))*
  551. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  552. 'SINON';
  553. TAB_SZ1N. I = ((YOU_ACI1)*(TAB_EZ1N. I))*
  554. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  555. 'FINSI';
  556. I = I + 1;
  557. 'FIN' IND1;
  558. *
  559. * Calcul N et M Balanced
  560. N_BLY1P = ((0.8)*(BY1*XCY1P))*(FCD1);
  561. N_BLZ1P = ((0.8)*(BZ1*XCZ1P))*(FCD1);
  562. N_BLY1N = ((0.8)*(BY1*XCY1N))*(FCD1);
  563. N_BLZ1N = ((0.8)*(BZ1*XCZ1N))*(FCD1);
  564. *
  565. M_BLY1P = (-1.0)*((N_BLY1P)*((BZ1/2.0) - ((0.4)*(XCY1P))));
  566. M_BLZ1P = (-1.0)*((N_BLZ1P)*((BY1/2.0) - ((0.4)*(XCZ1P))));
  567. M_BLY1N = (1.0)*((N_BLY1N)*((BZ1/2.0) - ((0.4)*(XCY1N))));
  568. M_BLZ1N = (1.0)*((N_BLZ1N)*((BY1/2.0) - ((0.4)*(XCZ1N))));
  569. *
  570. N_BLY1P = ((N_BLY1P)*(-1.0));
  571. N_BLZ1P = ((N_BLZ1P)*(-1.0));
  572. N_BLY1N = ((N_BLY1N)*(-1.0));
  573. N_BLZ1N = ((N_BLZ1N)*(-1.0));
  574. *
  575. I = 1;
  576. 'REPE' IND1 ('DIME' LPHI1);
  577. N_BLY1P = N_BLY1P + ((-1.0)*(TAB_SY1P. I));
  578. N_BLZ1P = N_BLZ1P + ((-1.0)*(TAB_SZ1P. I));
  579. N_BLY1N = N_BLY1N + ((-1.0)*(TAB_SY1N. I));
  580. N_BLZ1N = N_BLZ1N + ((-1.0)*(TAB_SZ1N. I));
  581. *
  582. M_BLY1P = M_BLY1P + (('EXTR' LPHIZ1 I)*((-1.0)*(TAB_SY1P. I)));
  583. M_BLZ1P = M_BLZ1P + (('EXTR' LPHIY1 I)*((-1.0)*(TAB_SZ1P. I)));
  584. M_BLY1N = M_BLY1N + (('EXTR' LPHIZ1 I)*((-1.0)*(TAB_SY1N. I)));
  585. M_BLZ1N = M_BLZ1N + (('EXTR' LPHIY1 I)*((-1.0)*(TAB_SZ1N. I)));
  586. *
  587. I = I + 1;
  588. 'FIN' IND1;
  589. *
  590. * Calcul des limites traction et compression
  591. N_TRAC = 0.0;
  592. N_COMP = 0.0;
  593. I = 1;
  594. 'REPE' IND1 ('DIME' LPHI1);
  595. N_TRAC = N_TRAC +
  596. (((FSD1))*
  597. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0))));
  598. N_COMP = N_COMP +
  599. (((FSD1)*(-1.0))*
  600. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0))));
  601. I = I + 1;
  602. 'FIN' IND1;
  603. N_COMP = N_COMP - ((BY1*BZ1)*(FCD1));
  604. *
  605. * Quadrante 1
  606. 'SI' ((MY1 >EG 0.0) 'ET' (MZ1 >EG 0.0));
  607. MBLY1_F = M_BLY1N;
  608. MBLZ1_F = M_BLZ1N;
  609. 'SI' ((ABS((ABS(MY1)) + (ABS(MZ1)))) < 1.E-10);
  610. NBL_F = 0.0;
  611. 'SINON';
  612. NBL_F = (((N_BLY1N)*(ABS(MY1))) + ((N_BLZ1N)*(ABS(MZ1))))/
  613. ((ABS(MY1)) + (ABS(MZ1)));
  614. 'FINSI';
  615. 'SINON';
  616. * Quadrante 2
  617. 'SI' ((MY1 >EG 0.0) 'ET' (MZ1 < 0.0));
  618. MBLY1_F = M_BLY1N;
  619. MBLZ1_F = M_BLZ1P;
  620. 'SI' ((ABS((ABS(MY1)) + (ABS(MZ1)))) < 1.E-10);
  621. NBL_F = 0.0;
  622. 'SINON';
  623. NBL_F = (((N_BLY1N)*(ABS(MY1))) + ((N_BLZ1P)*(ABS(MZ1))))/
  624. ((ABS(MY1)) + (ABS(MZ1)));
  625. 'FINSI';
  626. 'SINON';
  627. * Quadrante 3
  628. 'SI' ((MY1 < 0.0) 'ET' (MZ1 < 0.0));
  629. MBLY1_F = M_BLY1P;
  630. MBLZ1_F = M_BLZ1P;
  631. 'SI' ((ABS((ABS(MY1)) + (ABS(MZ1)))) < 1.E-10);
  632. NBL_F = 0.0;
  633. 'SINON';
  634. NBL_F = (((N_BLY1P)*(ABS(MY1))) + ((N_BLZ1P)*(ABS(MZ1))))/
  635. ((ABS(MY1)) + (ABS(MZ1)));
  636. 'FINSI';
  637. 'SINON';
  638. * Quadrante 4
  639. 'SI' ((MY1 < 0.0) 'ET' (MZ1 >EG 0.0));
  640. MBLY1_F = M_BLY1P;
  641. MBLZ1_F = M_BLZ1N;
  642. 'SI' ((ABS((ABS(MY1)) + (ABS(MZ1)))) < 1.E-10);
  643. NBL_F = 0.0;
  644. 'SINON';
  645. NBL_F = (((N_BLY1P)*(ABS(MY1))) + ((N_BLZ1N)*(ABS(MZ1))))/
  646. ((ABS(MY1)) + (ABS(MZ1)));
  647. 'FINSI';
  648. 'FINSI';
  649. 'FINSI';
  650. 'FINSI';
  651. 'FINSI';
  652. *
  653. * N0
  654. 'SI' (NN1 '&lt;EG' NBL_F);
  655. NN0 = N_COMP;
  656. 'SINON';
  657. NN0 = N_TRAC;
  658. 'FINSI';
  659. *
  660. * calcul de la valeur de g
  661. VAL1 = 1.0;
  662. VAL1 = VAL1 - ((NN1 - NBL_F)/(NN0 - NBL_F));
  663. VAL1 = VAL1 - (((MY1)/(MBLY1_F))**(1.5));
  664. VAL1 = VAL1 - (((MZ1)/(MBLZ1_F))**(1.5));
  665. *
  666. 'FINSI';
  667. *
  668. *
  669. * ------------- Poutre Courte -----------------------------
  670. 'SI' ('EGA' TPY1 'PT_COURT');
  671. *
  672. * controle sur les inputs
  673. 'SI' ('EXIST' TAB1 'WSZ');
  674. WSZ1 = TAB1.'WSZ';
  675. 'SI' ('NEG' ('TYPE' WSZ1) 'FLOTTANT');
  676. 'MESS' 'Input Error ...';
  677. 'QUIT' G_ULTIFR;
  678. 'FINSI';
  679. 'SINON';
  680. 'MESS' 'Input Error ...';
  681. 'QUIT' G_ULTIFR;
  682. 'FINSI';
  683.  
  684. 'SI' ('EXIST' TAB1 'WWZ');
  685. WWZ1 = TAB1.'WWZ';
  686. 'SI' ('NEG' ('TYPE' WWZ1) 'FLOTTANT');
  687. 'MESS' 'Input Error ...';
  688. 'QUIT' G_ULTIFR;
  689. 'FINSI';
  690. 'SINON';
  691. 'MESS' 'Input Error ...';
  692. 'QUIT' G_ULTIFR;
  693. 'FINSI';
  694.  
  695. 'SI' ('EXIST' TAB1 'LZ');
  696. LZ1 = TAB1.'LZ';
  697. 'SI' ('NEG' ('TYPE' LZ1) 'FLOTTANT');
  698. 'MESS' 'Input Error ...';
  699. 'QUIT' G_ULTIFR;
  700. 'FINSI';
  701. 'SINON';
  702. 'MESS' 'Input Error ...';
  703. 'QUIT' G_ULTIFR;
  704. 'FINSI';
  705.  
  706. 'SI' ('EXIST' TAB1 'XIZ');
  707. XIZ1 = TAB1.'XIZ';
  708. 'SI' ('NEG' ('TYPE' XIZ1) 'FLOTTANT');
  709. 'MESS' 'Input Error ...';
  710. 'QUIT' G_ULTIFR;
  711. 'FINSI';
  712. 'SINON';
  713. 'MESS' 'Input Error ...';
  714. 'QUIT' G_ULTIFR;
  715. 'FINSI';
  716. *
  717. * effort normale adimensionelle
  718. NN2 = ((NN1)/((BY1*BZ1)*(FCD1)));
  719. NN2 = ((-1.0)*(NN2));
  720. *
  721. * definition des limites des zones
  722. NNZ_L1 = ((-1.0)*(WSZ1));
  723. NNZ_L2 = 0.5 - WSZ1 + ((WWZ1)*(LZ1 - 1 + XIZ1));
  724. NNZ_L3 = 0.5 + WSZ1 - ((WWZ1)*(LZ1 + 1 - XIZ1));
  725. NNZ_L4 = 1.0 + WSZ1;
  726. *
  727. * vzmax
  728. FFIZ1 = (((LZ1*LZ1) + 1.0)**(0.5)) - LZ1;
  729. VZU2 = (WWZ1*XIZ1) + ((0.5 - WWZ1)*(FFIZ1));
  730. *
  731. * calcul des coef a,b et c pour la definition de v0z en fonction de n
  732. SI (NN2 '<' NNZ_L1);
  733. AA1 = 0.0;
  734. BB1 = 0.0;
  735. CC1 = ((ABS(VZ1))/((BY1*BZ1)*(FCD1)))*0.1;
  736. SINON;
  737. SI ((NN2 '>EG' NNZ_L1) ET (NN2 '<' NNZ_L2));
  738. AA1 = (-1.0)*((VZU2)/((NNZ_L1 - NNZ_L2)**(2.0)));
  739. BB1 = (-1.0)*((2.0*AA1)*(NNZ_L2));
  740. CC1 = (-1.0)*(((AA1)*(NNZ_L1**2.0)) + ((BB1)*(NNZ_L1)));
  741. SINON;
  742. SI ((NN2 '>EG' NNZ_L2) ET (NN2 '<' NNZ_L3));
  743. AA1 = 0.0;
  744. BB1 = 0.0;
  745. CC1 = VZU2;
  746. SINON;
  747. SI ((NN2 '>EG' NNZ_L3) ET (NN2 '&lt;EG' NNZ_L4));
  748. AA1 = (-1.0)*((VZU2)/((NNZ_L4 - NNZ_L3)**(2.0)));
  749. BB1 = (-1.0)*((2.0*AA1)*(NNZ_L3));
  750. CC1 = (-1.0)*(((AA1)*(NNZ_L4**2.0)) + ((BB1)*(NNZ_L4)));
  751. SINON;
  752. AA1 = 0.0;
  753. BB1 = 0.0;
  754. CC1 = ((ABS(VZ1))/((BY1*BZ1)*(FCD1)))*0.1;
  755. FINSI;
  756. FINSI;
  757. FINSI;
  758. FINSI;
  759. *
  760. *
  761. *
  762. * pour les 3 zones (y compris la zone externe) on definie les
  763. * coeficients a, b et c de l'equation d'ordre 2 qui definie l'equation
  764. * de g (surface de capacité) - dir Z
  765. *
  766. VZO2 = ((AA1)*(NN2**2.0)) + ((BB1)*(NN2)) + CC1;
  767. *
  768. * Vz0
  769. VZO = ((VZO2)*((BY1*BZ1)*(FCD1)));
  770. *
  771. * calcul de g
  772. 'SI' (ABS(VZO) < 1.E-10);
  773. 'SI' ((ABS(VZ1) < 1.E-10) 'ET'
  774. ((ABS((NN2 - NNZ_L1)) '&lt;EG' 1.E-8) 'OU'
  775. (ABS((NN2 - NNZ_L4)) '&lt;EG' 1.E-8)));
  776. VAL1 = 0.0;
  777. 'SINON';
  778. VAL1 = ((-1.0)*(300000.0));
  779. 'FINSI';
  780. 'SINON';
  781. VAL1 = 1.0 - ((VZ1/VZO)**(2.0));
  782. 'FINSI';
  783. *
  784. 'FINSI';
  785. *
  786. *
  787. * ------------- Poutre Longe -----------------------------
  788. 'SI' ('EGA' TPY1 'PT_LONG');
  789. *
  790. * Controle
  791. 'SI' ('EXIST' TAB1 'PHI_LON');
  792. LPHI1 = TAB1.'PHI_LON';
  793. 'SI' ('NEG' ('TYPE' LPHI1) 'LISTREEL');
  794. 'MESS' 'Input Error ...';
  795. 'QUIT' G_ULTIFR;
  796. 'FINSI';
  797. 'SINON';
  798. 'MESS' 'Input Error ...';
  799. 'QUIT' G_ULTIFR;
  800. 'FINSI';
  801. 'SI' ('EXIST' TAB1 'PHI_Y');
  802. LPHIY1 = TAB1.'PHI_Y';
  803. 'SI' ('NEG' ('TYPE' LPHIY1) 'LISTREEL');
  804. 'MESS' 'Input Error ...';
  805. 'QUIT' G_ULTIFR;
  806. 'FINSI';
  807. 'SINON';
  808. 'MESS' 'Input Error ...';
  809. 'QUIT' G_ULTIFR;
  810. 'FINSI';
  811. 'SI' ('EXIST' TAB1 'PHI_Z');
  812. LPHIZ1 = TAB1.'PHI_Z';
  813. 'SI' ('NEG' ('TYPE' LPHIZ1) 'LISTREEL');
  814. 'MESS' 'Input Error ...';
  815. 'QUIT' G_ULTIFR;
  816. 'FINSI';
  817. 'SINON';
  818. 'MESS' 'Input Error ...';
  819. 'QUIT' G_ULTIFR;
  820. 'FINSI';
  821. 'SI' ('EXIST' TAB1 'EPSI_BET');
  822. EPSC1 = TAB1.'EPSI_BET';
  823. 'SI' ('NEG' ('TYPE' EPSC1 ) 'FLOTTANT');
  824. 'MESS' 'Input Error ...';
  825. 'QUIT' G_ULTIFR;
  826. 'FINSI';
  827. 'SINON';
  828. 'MESS' 'Input Error ...';
  829. 'QUIT' G_ULTIFR;
  830. 'FINSI';
  831. 'SI' ('EXIST' TAB1 'EPSI_ACI');
  832. EPSA1 = TAB1.'EPSI_ACI';
  833. 'SI' ('NEG' ('TYPE' EPSA1 ) 'FLOTTANT');
  834. 'MESS' 'Input Error ...';
  835. 'QUIT' G_ULTIFR;
  836. 'FINSI';
  837. 'SINON';
  838. 'MESS' 'Input Error ...';
  839. 'QUIT' G_ULTIFR;
  840. 'FINSI';
  841. 'SI' ('EXIST' TAB1 'YOUNG_ACIER');
  842. YOU_ACI1 = TAB1.'YOUNG_ACIER';
  843. 'SI' ('NEG' ('TYPE' YOU_ACI1 ) 'FLOTTANT');
  844. 'MESS' 'Input Error ...';
  845. 'QUIT' G_ULTIFR;
  846. 'FINSI';
  847. 'SINON';
  848. 'MESS' 'Input Error ...';
  849. 'QUIT' G_ULTIFR;
  850. 'FINSI';
  851. *
  852. * hauteur nette
  853. DY1P = BZ1 - ENR1;
  854. DY1N = BZ1 - ENR1;
  855. *
  856. * axe neutre
  857. XCY1P = ((DY1P)*((EPSC1)/(EPSC1 + EPSA1)));
  858. XCY1N = ((DY1N)*((EPSC1)/(EPSC1 + EPSA1)));
  859. *
  860. * Courbure
  861. FHI1YP = (EPSC1)/(XCY1P);
  862. FHI1YN = ((-1.0)*((EPSC1)/(XCY1N)));
  863. *
  864. * Determination evolution epsilon
  865. CC1YP = (EPSC1) - ((FHI1YP)*((BZ1)/(2.0)));
  866. CC1YN = (EPSC1) - ((FHI1YN)*((BZ1)/(-2.0)));
  867. *
  868. * Determination des deformations dans les aciers
  869. I = 1;
  870. TAB_EY1P = 'TABLE';
  871. TAB_EY1N = 'TABLE';
  872. 'REPE' IND1 ('DIME' LPHI1);
  873. TAB_EY1P. I = ((FHI1YP)*('EXTR' LPHIZ1 I)) + CC1YP;
  874. TAB_EY1N. I = ((FHI1YN)*('EXTR' LPHIZ1 I)) + CC1YN;
  875. I = I + 1;
  876. 'FIN' IND1;
  877. *
  878. * Determination des efforts dans les aciers
  879. TAB_SY1P = 'TABLE';
  880. TAB_SY1N = 'TABLE';
  881. I = 1;
  882. 'REPE' IND1 ('DIME' LPHI1);
  883. VAL11 = 'ABS'(TAB_EY1P. I);
  884. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  885. II1 = (TAB_EY1P. I)/VAL11;
  886. TAB_SY1P. I = ((FSD1)*(II1))*
  887. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  888. 'SINON';
  889. TAB_SY1P. I = ((YOU_ACI1)*(TAB_EY1P. I))*
  890. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  891. 'FINSI';
  892. VAL11 = 'ABS'(TAB_EY1N. I);
  893. 'SI' (VAL11 > ((FSD1)/(YOU_ACI1)));
  894. II1 = (TAB_EY1N. I)/VAL11;
  895. TAB_SY1N. I = ((FSD1)*(II1))*
  896. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  897. 'SINON';
  898. TAB_SY1N. I = ((YOU_ACI1)*(TAB_EY1N. I))*
  899. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0)));
  900. 'FINSI';
  901. I = I + 1;
  902. 'FIN' IND1;
  903. *
  904. * Calcul N et M Balanced
  905. N_BLY1P = ((0.8)*(BY1*XCY1P))*(FCD1);
  906. N_BLY1N = ((0.8)*(BY1*XCY1N))*(FCD1);
  907. *
  908. M_BLY1P = (-1.0)*((N_BLY1P)*((BZ1/2.0) - ((0.4)*(XCY1P))));
  909. M_BLY1N = (1.0)*((N_BLY1N)*((BZ1/2.0) - ((0.4)*(XCY1N))));
  910. *
  911. N_BLY1P = ((N_BLY1P)*(-1.0));
  912. N_BLY1N = ((N_BLY1N)*(-1.0));
  913. *
  914. I = 1;
  915. 'REPE' IND1 ('DIME' LPHI1);
  916. N_BLY1P = N_BLY1P + ((-1.0)*(TAB_SY1P. I));
  917. N_BLY1N = N_BLY1N + ((-1.0)*(TAB_SY1N. I));
  918. *
  919. M_BLY1P = M_BLY1P + (('EXTR' LPHIZ1 I)*((-1.0)*(TAB_SY1P. I)));
  920. M_BLY1N = M_BLY1N + (('EXTR' LPHIZ1 I)*((-1.0)*(TAB_SY1N. I)));
  921. *
  922. I = I + 1;
  923. 'FIN' IND1;
  924. *
  925. * Calcul des limites traction et compression
  926. N_TRAC = 0.0;
  927. N_COMP = 0.0;
  928. I = 1;
  929. 'REPE' IND1 ('DIME' LPHI1);
  930. N_TRAC = N_TRAC +
  931. (((FSD1))*
  932. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0))));
  933. N_COMP = N_COMP +
  934. (((FSD1)*(-1.0))*
  935. ((PI)*(((('EXTR' LPHI1 I)/1000)**(2.0))/(4.0))));
  936. I = I + 1;
  937. 'FIN' IND1;
  938. N_COMP = N_COMP - ((BY1*BZ1)*(FCD1));
  939. * Quadrante 1
  940. 'SI' ((MY1 >EG 0.0));
  941. MBLY1_F = M_BLY1N;
  942. NBL_F = N_BLY1N;
  943. 'SINON';
  944. * Quadrante 2
  945. MBLY1_F = M_BLY1P;
  946. NBL_F = N_BLY1P;
  947. 'FINSI';
  948. *
  949. * N0
  950. 'SI' (NN1 '&lt;EG' NBL_F);
  951. NN0 = N_COMP;
  952. 'SINON';
  953. NN0 = N_TRAC;
  954. 'FINSI';
  955. *
  956. * calcul de g
  957. VAL1 = 1.0;
  958. VAL1 = VAL1 - ((NN1 - NBL_F)/(NN0 - NBL_F));
  959. VAL1 = VAL1 - (((MY1)/(MBLY1_F))**(1.5));
  960. *
  961. 'FINSI';
  962. *
  963. *
  964. 'FINPROC' VAL1;
  965.  
  966.  
  967.  
  968.  

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