Télécharger codenorm.procedur

Retour à la liste

Numérotation des lignes :

  1. * CODENORM PROCEDUR AM 02/12/12 21:17:39 4501
  2. 'DEBPROC' CODENORM ZTABENT*'TABLE' ;
  3.  
  4. *==========================================================*
  5. * PROCEDURE D'ANALYSE REGLEMENTAIRE *
  6. * LES EQUATIONS TRAITEES VISENT LA PREVENTION *
  7. * DE L'INSTABILITE PLASTIQUE, ET SONT ISSUES DES *
  8. * CODES : ASME, RCCM (CLASSE 1&2), RCC-MR (CLASSE 1) *
  9. * ETCM (CLASSE 1), CRITERE 3459 dit EMSI (CLASSE 1). *
  10. * LES COEFFICIENTS B1 et B2 ISSUS DE RCCM CLASSE 1 *
  11. * SONT MODIFIABLES PAR L'UTILISATEUR DE LA PROCEDURE. *
  12. * L'ANALYSE PEUT ETRE MISE EN OEUVRE A LA SUITE D'UN *
  13. * CALCUL : STATIQUE, DYNAMIQUE PAR LA METHODE *
  14. * SPECTRALE, DYNAMIQUE PAR LA METHODE TEMPORELLE *
  15. * (POUR UN PAS DE TEMPS DONNE), OU ENCORE MANUELLEMENT *
  16. * (QUI SIGNIFIT L'UTILISATION PONCTUELLE DES CRITERES *
  17. * AVEC UNE VALEUR DE PRESSION, UNE VALEUR DE MOMENTS, *
  18. * UNE VALEUR DE RAYON EXTERIEUR, D'EPAISSEUR, DE RAYON *
  19. * DE COURBURE POUR LES COUDES). *
  20. *==========================================================*
  21. *
  22. *
  23. * INITIALISATIONS - GENERALITES
  24. * ###############################
  25. *
  26. * FLAGS
  27. * -----
  28. IERR1 = 0 ;
  29. IERR2 = 0 ;
  30. IERR3 = 0 ;
  31. IERR4 = 0 ;
  32. IERR5 = 0 ;
  33.  
  34. MAX0 = 0 ;
  35. MAX = 0 ;
  36. NOMSMX0 = 0 ;
  37. NOMRMX0 = 0 ;
  38. CPTMX0 = 0 ;
  39.  
  40. TESTRCO1 = 0 ;
  41. TESTEPA1 = 0 ;
  42. TESTPRE1 = 0 ;
  43. TESTRAY1 = 0 ;
  44.  
  45. rap1 = 0 ;
  46. LOG1 = 0 ;
  47. LOG2 = 0 ;
  48. LOG3 = 0 ;
  49. LOG4 = 0 ;
  50.  
  51. * FLAG POUR L'OPTION ENTREE DES DONNEES MANUELLE
  52. * LA RECUPERATION DES DONNEES EST AUTOMATIQUE PAR DEFAUT
  53. * ------------------------------------------------------
  54. MAN1 = 0 ;
  55.  
  56. * FLAGS POUR LES MOMENTS
  57. *-----------------------
  58. TOTAUX1 = 0 ;
  59. POIDS1 = 0 ;
  60. PERM1 = 0 ;
  61. SEISME1 = 0 ;
  62.  
  63. * FLAGS POUR LA GEOMETRIE
  64. * -----------------------
  65. PARTDTE = 0 ;
  66. COUDE = 0 ;
  67.  
  68. * FLAGS POUR LA NATURE DE L'ACIER
  69. * -------------------------------
  70. Fer1 = 0 ;
  71. Auste1 = 0 ;
  72.  
  73. * FLAG POUR LES REGLEMENTS
  74. * ------------------------
  75. RCOD1 = 0 ;
  76. REG2 = 0 ;
  77.  
  78. * FLAG POUR LES CLASSES
  79. * ---------------------
  80. RCLASSE1 = 0 ;
  81.  
  82. * FLAG POUR LES NIVEAUX C & D
  83. * ----------------------------
  84.  
  85. RCRIT1 = 0 ;
  86.  
  87. *************
  88. * GEOMETRIE *
  89. *************
  90.  
  91. *angle du coude en radian
  92. anglec1 = PI / 2 ;
  93. anglec2 = 0 ;
  94.  
  95. * DIAMETRE INTERIEUR
  96. Dint1 = 0. ;
  97. * DIAMETRE EXTERIEUR (D)
  98. Dext1 = 0. ;
  99. * RAYON INTERIEUR
  100. Rint1 = 0. ;
  101. * RAYON EXTERIEUR
  102. Rext1 = 0. ;
  103. * RAYON DE COURBURE MOYEN DES COUDES
  104. Rcmc1 = 0. ;
  105. * EPAISSEUR DE CALCUL (e)
  106. e1 = 0. ;
  107. * MOMENT D'INERTIE (I)
  108. In1 = 0. ;
  109. * MODULE D'INERTIE (Z=I/Rext)
  110. Z1 = 0. ;
  111. * COEFFICIENT f
  112. f1 = 0;
  113.  
  114. ********************
  115. * EFFORTS, MOMENTS *
  116. ********************
  117.  
  118. * PRESSION DE CALCUL, VALEUR PAR DEFAUT (P)
  119. PRES1 = 0. ;
  120.  
  121. * MOMENTS
  122. M1 = 0. ;
  123. M2 = 0. ;
  124. MOMA = 0. ;
  125. MOMB = 0. ;
  126. MX3 = 0. ;
  127. MY3 = 0. ;
  128. MZ3 = 0. ;
  129. MX4 = 0. ;
  130. MY4 = 0. ;
  131. MZ4 = 0. ;
  132. MQUAD1 = 0. ;
  133. MQUAD2 = 0. ;
  134. MQUAD3 = 0. ;
  135. MQUAD4 = 0. ;
  136. MQUAD51 = 0. ;
  137. MQUAD52 = 0. ;
  138. MQUAD6 = 0. ;
  139. MQUADp1 = 0. ;
  140. MQUADs1 = 0. ;
  141.  
  142. * MOMENTS TOTAUX
  143. * --------------
  144. * MOMENTS DE TORSION
  145. MXt1 = 0. ;
  146.  
  147. * MOMENTS DE FLEXION DANS LE PLAN
  148. MYt1 = 0. ;
  149.  
  150. * MOMENTS DE FLEXION HORS PLAN
  151. MZt1 = 0. ;
  152.  
  153.  
  154. * MOMENTS DUS AU POIDS
  155. * --------------------
  156. * MOMENTS DE TORSION
  157. MXpo1 = 0. ;
  158.  
  159. * MOMENTS DE FLEXION DANS LE PLAN
  160. MYpo1 = 0. ;
  161.  
  162. * MOMENTS DE FLEXION HORS PLAN
  163. MZpo1 = 0. ;
  164.  
  165.  
  166. * MOMENTS DUS AUX EFFORTS PERMANENTS
  167. * ----------------------------------
  168. * MOMENTS DE TORSION
  169. MXpe1 = 0. ;
  170.  
  171. * MOMENTS DE FLEXION DANS LE PLAN
  172. MYpe1 = 0. ;
  173.  
  174. * MOMENTS DE FLEXION HORS PLAN
  175. MZpe1 = 0. ;
  176.  
  177.  
  178. * MOMENTS DUS AUX EFFORTS SISMIQUES
  179. * ---------------------------------
  180. * MOMENTS DE TORSION
  181. MXs1 = 0. ;
  182.  
  183. * MOMENTS DE FLEXION DANS LE PLAN
  184. MYs1 = 0. ;
  185.  
  186. * MOMENTS DE FLEXION HORS PLAN
  187. MZs1 = 0. ;
  188.  
  189. ******************************
  190. * CARACTERISTIQUES PHYSIQUES *
  191. ******************************
  192.  
  193. * COEFFICIENTS DE CONTRAINTE
  194. ************************************
  195. * LES COEFFICIENTS SONT AJUSTABLES *
  196. * PAR L'UTILISATEUR *
  197. ************************************
  198. D1= 0. ;
  199. D21 = 0.;
  200. D22 = 0.;
  201.  
  202. B1RCCMd1 = 0.5 ;
  203. B2RCCMd1 = 1. ;
  204. B1RCCMc1 = 0.5 ;
  205. B2RCCMc1 = 0. ;
  206. COEF1 = 1 ;
  207. B1RCCMd2 = 0.5 ;
  208. B2RCCMd2 = 1. ;
  209. B1RCCMc2 = 0.5 ;
  210. B2RCCMc2 = 0. ;
  211. COEF2 = 1 ;
  212.  
  213. B1MRd1 =0.5 ;
  214. B2MRd1= 1. ;
  215. D1MRd1= 0.4 ;
  216. D21MRd1 = 1.1 ;
  217. COEF31 = 1 ;
  218. D22MRd1 = 0. ;
  219. B1MRc1= 0. ;
  220. B2MRc1= 0. ;
  221. D1MRc1= 0.5 ;
  222. COEF32 = 1 ;
  223. D21MRc1 = 1.1 ;
  224. COEF33 = 1 ;
  225. D22MRc1 = 0. ;
  226. COEF34 = 1 ;
  227.  
  228. B1ASMEd1 = 0.5 ;
  229. B2ASMEd1 = 1. ;
  230. B1ASMEc1 = 0. ;
  231. COEF41 = 1 ;
  232. B2ASMEc1 = 0. ;
  233. COEF42 = 1 ;
  234. B1ASMEd2 = 0.5 ;
  235. B2ASMEd2 = 1. ;
  236. B1ASMEc2 = 0. ;
  237. COEF51 = 1 ;
  238. B2ASMEc2 = 0. ;
  239. COEF52 = 1 ;
  240.  
  241. B1ETCMd2 = 0.5 ;
  242. B2ETCMd2 = 1. ;
  243. B1ETCMc2 = 0.5 ;
  244. B2ETCMc2 = 0. ;
  245. COEF6 = 1 ;
  246.  
  247. B1EMSId1 = 0.5 ;
  248. B2EMSId1 = 1. ;
  249. B1EMSIc1 = 0.5 ;
  250. B2EMSIc1 = 0. ;
  251. COEF7 = 1 ;
  252.  
  253.  
  254. * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy)
  255. Sy1 = 0. ;
  256. * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re)
  257. * A TEMPERATURE AMBIANTE
  258. Re1 = 0. ;
  259.  
  260. * RESISTANCE A LA RmPTURE (Su)
  261. Su1 = 0. ;
  262. * RESISTANCE A LA RmPTURE A TEMPERATURE AMBIANTE (Rm)
  263. Rm1 = 0. ;
  264.  
  265. *COEFFICIENTS DEDIES AU CALCUL DES CONTRAINTES ADMISSIBLES
  266. am1 = 0. ;
  267. bu1 = 0. ;
  268. ce1 = 0. ;
  269. dy1 = 0. ;
  270.  
  271. * CONTRAINTES ADMISSIBLES CLASSE 1(Sm)
  272. SmRCCM1 = 0. ;
  273. SmRCCMR1 = 0. ;
  274. SmASME1 = 0. ;
  275. SmEMSI1 = 0. ;
  276.  
  277. * CONTRAINTES ADMISSIBLES CLASSE 2(Sh)
  278. ShRCCM2 = 0. ;
  279. ShRCCMR2 = 0. ;
  280. ShETCM2 = 0. ;
  281. SmASME2 = 0. ;
  282.  
  283. * INITIALISATIONS - CAS PARTICULIERS
  284. * ##################################
  285.  
  286. * CRITERE 3459 = EMSI, CLASSE 1 & 2
  287. * ---------------------------------
  288. * COEFF (s) valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1
  289. s1 = 3 ;
  290. D3 = 0 ;
  291.  
  292. * ETCM, CLASSE 2
  293. * --------------
  294. * COEFF (alpha), VALEUR PAR DEFAUT 1
  295. *1<=alpha2=(10/D2)**0.5<=2 SI ON CONNAIT L'AMORTISSEMENT D2
  296. alpha2 = 1 ;
  297. D2 = 0 ;
  298.  
  299. * RCC-MR
  300. * ------
  301.  
  302. * CONTRAINTE EQUIVALENTE DUE A LA PRESSION
  303. * ET AUX MOMENTS DUS AUX FORCES (Pm+Pb)
  304. * -------------------------------------
  305.  
  306. * EVENTUELLEMENT EFFORT NORMAUX DUES A DES CHARGES IMPOSEES
  307. * QUAND ILS SONT NOTABLES (N1)
  308. NORM1 = 0 ;
  309. N1 = 0. ;
  310. N1b = 0. ;
  311.  
  312. * CONTRAINTE EQUIVALENTE DUE A LA PRESSION
  313. * ET AUX MOMENTS DUS AUX FORCES ET AUX DEPLACEMENTS (Sigm+Sigb)
  314. * -------------------------------------------------------------
  315.  
  316. * COEFFICIENT D'ABBATEMENT VALEUR FIXEE A 0 PAR DEFAUT (g)
  317. g1 = 0. ;
  318. * les moments dus aux deplacements ne sont pas traite ici.
  319. m13 = 0. ;
  320. mr3 = 0. ;
  321.  
  322. *CONTRAINTE
  323. Setoile1 = 0. ;
  324. Setoile2 = 0. ;
  325.  
  326. *COEFF (alpha) valeur 1 par defaut, SAUF RAISON VALABLE
  327. alpha1= 1 ;
  328.  
  329.  
  330. ********************************************************************************
  331. *//////////////////////////////////////////////////////////////////////////////*
  332. ********************************************************************************
  333. *TITRE
  334. *-----
  335. 'MESS' ' ' ;
  336. 'MESS' '***************************************************' ;
  337. 'MESS' '* *' ;
  338. 'MESS' '* #### #### #### #### #### #### # # #### #### *' ;
  339. 'MESS' '* # # # # # # # # # # # # # # # *' ;
  340. 'MESS' '* #### ### # # # ### # # # # ### ### *' ;
  341. 'MESS' '* # # # # # # # # # # # # # # *' ;
  342. 'MESS' '* # # # #### #### #### #### #### # # #### *' ;
  343. 'MESS' '* *' ;
  344. 'MESS' '* #### #### #### #### # # #### #### # # #### *' ;
  345. 'MESS' '* # # # # # # ## # # # # # ## ## # *' ;
  346. 'MESS' '* # # # # # ### # # # # # ### # # # ### *' ;
  347. 'MESS' '* # # # # # # # ## # # # # # # # *' ;
  348. 'MESS' '* #### #### #### #### # # #### # # # # #### *' ;
  349. 'MESS' '* *' ;
  350. 'MESS' '***************************************************' ;
  351. 'MESS' ' ' ;
  352.  
  353. *--------------------------------------*
  354. * DEFINITION DE LA TABLE DES RESULTATS *
  355. *--------------------------------------*
  356. ZTABENT.'RESULTATS' = TABLE ;
  357. *
  358. *-----------------------------------*
  359. * DEFINITION DE LA TABLE DE CALCUL *
  360. *-----------------------------------*
  361.  
  362. ZTAB2 = TABLE ;
  363. ZTAB2.'RCN' = TABLE ;
  364. ZTAB2.'S' = TABLE ;
  365. ZTAB2.'MOMENT' = TABLE ;
  366. ZTAB2.'Sanom' = TABLE ;
  367. ZTAB2.'SAMAX' = TABLE ;
  368. ZTAB2.'NUMZMAX' = TABLE ;
  369. ZTAB2.'NOMRMAX' = TABLE ;
  370. ZTAB2.'MA' = TABLE ;
  371. ZTAB2.'MB' = TABLE ;
  372.  
  373. ZTAB2.'D1c' = TABLE ;
  374. ZTAB2.'D21c' = TABLE ;
  375. ZTAB2.'D22c' = TABLE ;
  376. ZTAB2.'D1d' = TABLE ;
  377. ZTAB2.'D21d' = TABLE ;
  378. ZTAB2.'D22d' = TABLE ;
  379.  
  380. *************************
  381. * TESTS SUR LES ENTREES * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  382. *************************
  383. ***********
  384. * MOMENTS * ON TEST LA NATURE DES MOMENTS FOURNIS * * * * * * * * * * * * * * *
  385. ***********
  386.  
  387. 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX') ;
  388. TOTAUX1 = 1 ;
  389. 'FINSI' ;
  390.  
  391. 'SI' ( 'EXISTE' ZTABENT 'MPOIDS' ) ;
  392. POIDS1 = 1 ;
  393. 'FINSI' ;
  394.  
  395. 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT' ) ;
  396. PERM1 = 1 ;
  397. 'FINSI' ;
  398.  
  399. 'SI' ( 'EXISTE' ZTABENT 'MSEISME' ) ;
  400. SEISME1 = 1 ;
  401. 'FINSI' ;
  402.  
  403. LOG1 = 'OU' ( PERM1 'EGA' 1 ) ( POIDS1 'EGA' 1 ) ;
  404. LOG2 = 'OU' ( LOG1 ) ( SEISME1 'EGA' 1 ) ;
  405.  
  406.  
  407. *ON TEST SI L'UTILISATION DE LA PROCEDURE SERA MANUELLE OU AUTOMATIQUE
  408. *MANUEL (MAN1 = 1) OU AUTOMATIQUE (MAN1 = 0 PAR DEFAUT)
  409. *------------------------------------------------------
  410. 'SI' ( 'EXISTE' ZTABENT 'MAN' ) ;
  411. MAN1 = 1 ;
  412.  
  413. * SI MODE MANUEL
  414. * on fixe l'itération de la boucle sur les zones à 1
  415. DIMZONE2 = 1 ;
  416.  
  417. *VERIFICATION DES ENTREES POUR LE CALCUL MANUEL
  418. *----------------------------------------------
  419. **********************
  420. * NATURE DE LA LIGNE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  421. **********************
  422. 'SI' ( 'EXISTE' ZTABENT 'COUDE' ) ;
  423. COUDE = 1 ;
  424.  
  425. *RAYON DE COURBURE
  426. *-----------------
  427. 'SI' ( 'EXISTE' ZTABENT 'RAYON DE COURBURE' ) ;
  428. Rcmc1 = ZTABENT.'RAYON DE COURBURE' ;
  429. 'SINON' ;
  430. 'MESS' 'ERREUR CODENORM : IL MANQUE LE RAYON DE COURBURE' ;
  431. 'MESS' ' ';
  432. IERR1 = 1 ;
  433. 'FINSI' ;
  434.  
  435. 'FINSI' ;
  436.  
  437. 'SI' ( 'EXISTE' ZTABENT 'DROIT' ) ;
  438. PARTDTE = 1 ;
  439. 'FINSI' ;
  440.  
  441. LOG3 = COUDE + PARTDTE ;
  442.  
  443. 'SI' ( LOG3 'EGA' 0 ) ;
  444. 'MESS' 'ERREUR CODENORM : CALCUL MANUEL' ;
  445. 'MESS' 'IL FAUT PRECISER : COUDE OU PARTIE DROITE' ;
  446. 'MESS' ' ';
  447. IERR1 = 1 ;
  448. 'FINSI' ;
  449.  
  450. 'SI' ( LOG3 'EGA' 2 ) ;
  451. 'MESS' 'ERREUR CODENORM : CALCUL MANUEL' ;
  452. 'MESS' 'IL FAUT CHOISIR ENTRE PARTIE DROITE ET COUDE' ;
  453. 'MESS' ' ';
  454. IERR1 = 1 ;
  455. 'FINSI' ;
  456.  
  457. *************
  458. * GEOMETRIE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  459. *************
  460.  
  461. *RAYON EXTERIEUR
  462. *---------------
  463. 'SI' ( 'EXISTE' ZTABENT 'RAYON_EXTERIEUR' ) ;
  464. Rext1 = ZTABENT.'RAYON_EXTERIEUR' ;
  465. 'SINON' ;
  466. 'MESS' 'ERREUR CODENORM : IL MANQUE LE RAYON EXTERIEUR' ;
  467. 'MESS' ' ';
  468. IERR1 = 1 ;
  469. 'FINSI' ;
  470.  
  471. *EPAISSEUR DE CALCUL (e)
  472. *-----------------------
  473. 'SI' ( 'EXISTE' ZTABENT 'EPAISSEUR' ) ;
  474. e1 = ZTABENT.'EPAISSEUR' ;
  475. 'SINON' ;
  476. 'MESS' 'ERREUR CODENORM : IL MANQUE L EPAISSEUR' ;
  477. 'MESS' ' ';
  478. IERR1 = 1 ;
  479. 'FINSI' ;
  480.  
  481. *PRESSION DE CALCUL (P)
  482. *----------------------
  483. 'SI' ( 'EXISTE' ZTABENT 'PRESSION' ) ;
  484. Pres1 = ZTABENT.'PRESSION' ;
  485. 'SINON' ;
  486. PRES1 = 0 ;
  487. 'MESS' 'LA PRESSION PAR DEFAUT EST 0' ;
  488. 'MESS' ' ';
  489. 'FINSI' ;
  490.  
  491. ***********
  492. * MOMENTS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  493. ***********
  494. * MOMENTS TOTAUX
  495. * --------------
  496. 'SI' ( TOTAUX1 'EGA' 1) ;
  497. *-1-
  498. 'SI' ( 'NON' LOG2 ) ;
  499.  
  500. * MOMENTS DE TORSION
  501. * ------------------
  502. 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'TORSION' ) ;
  503. MXt1 = ZTABENT.'MTOTAUX'.'TORSION' ;
  504. 'FINSI' ;
  505.  
  506. * MOMENTS DE FLEXION DANS LE PLAN
  507. * -------------------------------
  508. 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_DANS_PLAN' ) ;
  509. MYt1 = ZTABENT.'MTOTAUX'.'FLEXION_DANS_PLAN' ;
  510. 'FINSI' ;
  511.  
  512. * MOMENTS DE FLEXION HORS PLAN
  513. * ----------------------------
  514. 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_HORS_PLAN') ;
  515. MZt1 = ZTABENT.'MTOTAUX'.'FLEXION_HORS_PLAN' ;
  516. 'FINSI' ;
  517.  
  518. 'FINSI' ;
  519.  
  520. 'SINON' ;
  521. IERR2 = 1 ;
  522. 'FINSI' ;
  523. *FIN-1-
  524.  
  525.  
  526. * MOMENTS DUS AUX EFFORTS PERMANENTS
  527. * ----------------------------------
  528. 'SI' ( PERM1 'EGA' 1 ) ;
  529. *-2-
  530.  
  531. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  532.  
  533. * MOMENTS DE TORSION
  534. * ------------------
  535. 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'TORSION') ;
  536. MXpe1 = ZTABENT.'MPERMANENT'.'TORSION' ;
  537. 'FINSI' ;
  538.  
  539. * MOMENTS DE FLEXION DANS LE PLAN
  540. * -------------------------------
  541. 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_DANS_PLAN' ) ;
  542. MYpe1 = ZTABENT.'MPERMANENT'.'FLEXION_DANS_PLAN' ;
  543. 'FINSI' ;
  544.  
  545. * MOMENTS DE FLEXION HORS PLAN
  546. * ----------------------------
  547. 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_HORS_PLAN') ;
  548. MZpe1 = ZTABENT.'MPERMANENT'.'FLEXION_HORS_PLAN' ;
  549. 'FINSI' ;
  550.  
  551. 'FINSI' ;
  552.  
  553. 'SINON' ;
  554. IERR3 = 1 ;
  555. 'FINSI' ;
  556. *FIN-2-
  557.  
  558. * MOMENTS DUS AUX EFFORTS SISMIQUES
  559. * ---------------------------------
  560. 'SI' ( SEISME1 'EGA' 1 ) ;
  561. *-3-
  562.  
  563. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  564.  
  565. * MOMENTS DE TORSION
  566. * ------------------
  567. 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'TORSION' ) ;
  568. MXs1 = ZTABENT.'MSEISME'.'TORSION' ;
  569. 'FINSI' ;
  570.  
  571. * MOMENTS DE FLEXION DANS LE PLAN
  572. * -------------------------------
  573. 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_DANS_PLAN' ) ;
  574. MYs1 = ZTABENT.'MSEISME'.'FLEXION_DANS_PLAN' ;
  575. 'FINSI' ;
  576.  
  577. * MOMENTS DE FLEXION HORS PLAN
  578. * ----------------------------
  579. 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_HORS_PLAN' );
  580. MZs1 = ZTABENT.'MSEISME'.'FLEXION_HORS_PLAN' ;
  581. 'FINSI' ;
  582.  
  583. 'FINSI' ;
  584.  
  585. 'SINON' ;
  586. IERR4 = 1 ;
  587. 'FINSI' ;
  588. *FIN-3-
  589.  
  590.  
  591. * MOMENTS DUS AUX POIDS
  592. * ---------------------
  593. 'SI' ( POIDS1 'EGA' 1 ) ;
  594. *-4-
  595.  
  596. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  597.  
  598. * MOMENTS DE TORSION
  599. * ------------------
  600. 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'TORSION') ;
  601. MXpo1 = ZTABENT.'MPOIDS'.'TORSION' ;
  602. 'FINSI' ;
  603.  
  604. * MOMENTS DE FLEXION DANS LE PLAN
  605. * -------------------------------
  606. 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_DANS_PLAN' ) ;
  607. MYpo1 = ZTABENT.'MPOIDS'.'FLEXION_DANS_PLAN' ;
  608. 'FINSI' ;
  609.  
  610. * MOMENTS DE FLEXION HORS PLAN
  611. * ----------------------------
  612. 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_HORS_PLAN' ) ;
  613. MZpo1 = ZTABENT.'MPOIDS'.'FLEXION_HORS_PLAN' ;
  614. 'FINSI' ;
  615.  
  616. 'FINSI' ;
  617.  
  618. 'SINON' ;
  619. IERR5 = 1 ;
  620. 'FINSI' ;
  621. *FIN-4-
  622.  
  623. 'SI' ( IERR2 'EGA' 0 ) ;
  624. *SI MOMENTS TOTAUX SELECTIONNES
  625. *-5-
  626.  
  627. 'SI' ( IERR3 'EGA' 0 ) ;
  628. *SI MOMENTS PERMANENTS SELECTIONNES
  629. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
  630. 'MESS' 'ET LES MOMENTS DUS AUX EFFORTS PERMANENTS EN MEME TEMPS' ;
  631. 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  632. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  633. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  634. 'MESS' 'SISMIQUES APPLIQUES A LA LIGNE' ;
  635. 'MESS' ' ';
  636. IERR1 = 1 ;
  637. 'FINSI' ;
  638.  
  639. *SI MOMENTS SISMIQUES SELECTIONNES
  640. 'SI' ( IERR4 'EGA' 0 ) ;
  641. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
  642. 'MESS' 'ET LES MOMENTS DUS AUX EFFORTS SISMIQUES' ;
  643. 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  644. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  645. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  646. 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
  647. 'MESS' ' ';
  648. IERR1 = 1 ;
  649. 'FINSI' ;
  650.  
  651. 'SI' ( IERR5 'EGA' 0 ) ;
  652. *SI MOMENTS DUS AU POIDS SELECTIONNES
  653. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
  654. 'MESS' 'ET LES MOMENTS DUS AU POIDS EN MEME TEMPS' ;
  655. 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  656. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  657. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  658. 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
  659. 'MESS' ' ';
  660. IERR1 = 1 ;
  661. 'FINSI' ;
  662.  
  663. 'FINSI' ;
  664. *FIN-5-
  665.  
  666. *
  667. 'SINON' ;
  668. *SI MODE AUTOMATIQUE
  669. *
  670.  
  671. *DECLARATION DES SOUS TABLES DE RESULTATS POUR LE MODE AUTOMATIQUE
  672. *-----------------------------------------------------------------
  673. ZTABENT.'RESULTATS'.'MODL' = TABLE ;
  674. ZTABENT.'RESULTATS'.'MAIL' = TABLE ;
  675. ZTABENT.'RESULTATS'.'NATURE' = TABLE ;
  676. ZTABENT.'RESULTATS'.'RAYON' = TABLE ;
  677. ZTABENT.'RESULTATS'.'RCOURB' = TABLE ;
  678. ZTABENT.'RESULTATS'.'EPAISSEUR' = TABLE ;
  679. ZTABENT.'RESULTATS'.'PRESSION' = TABLE ;
  680. ZTABENT.'RESULTATS'.'I' = TABLE ;
  681. ZTABENT.'RESULTATS'.'Z' = TABLE ;
  682. ZTABENT.'RESULTATS'.'COEF_COUDE' = TABLE ;
  683.  
  684. *VERIFICATION DES ENTREES POUR LE CALCUL AUTOMATIQUE
  685. *---------------------------------------------------
  686. *MODELE
  687. *------
  688. 'SI' ( 'EXISTE' ZTABENT 'MODL' ) ;
  689. MODL1 = ZTABENT.'MODL' ;
  690.  
  691. * initialisation
  692. MXt1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  693. MYt1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  694. MZt1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  695. MXpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  696. MYpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  697. MZpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  698. MXpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  699. MYpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  700. MZpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  701. MXs1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  702. MYs1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  703. MZs1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  704. m13 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  705. mr3 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
  706. 'SINON' ;
  707. 'MESS' 'ERREUR CODENORM : IL MANQUE LE MODELE DE LA LIGNE' ;
  708. 'MESS' ' ';
  709. IERR1 = 1 ;
  710. 'FINSI' ;
  711.  
  712. * RECUPERATION DANS LA TABLE D'ENTREE DES MODELES
  713. * ET DES MAILLAGES DES DIFFERENTS ZONES DE LA LIGNE
  714. * -------------------------------------------------
  715. ZONMOMA1 = 'EXTR' MODL1 'ZONE' ;
  716. DIMZONE1 = 'DIME' ZONMOMA1 ;
  717.  
  718. * CALCUL DU NOMBRE DE ZONES
  719. * -------------------------
  720. DIMZONE2 = DIMZONE1 / 2 ;
  721.  
  722. ZTABENT.'RESULTATS'.'NBZONE' = DIMZONE2 ;
  723. 'MESS' ' ';
  724. 'MESS' 'LA LIGNE COMPORTE' DIMZONE2 'ZONE(S)';
  725.  
  726. * CARACTERISTIQUES
  727. * ----------------
  728. 'SI' ( 'EXISTE' ZTABENT 'CARACTERISTIQUES' ) ;
  729. CARACT1 = ZTABENT.'CARACTERISTIQUES' ;
  730. 'SINON' ;
  731. 'MESS' 'ERREUR CODENORM :' ;
  732. 'MESS' 'IL MANQUE LES CARACTERISTIQUES DE LA LIGNE';
  733. 'MESS' ' ';
  734. IERR1 = 1 ;
  735. 'FINSI' ;
  736.  
  737. *******************************************
  738. * CONTRAINTES ISSUES DE L'OPERATEUR SIGMA *
  739. * ET RECUPERATION DES MOMENTS * * * * * * * * * * * * * * * * * * *
  740. *******************************************
  741.  
  742. * MOMENTS TOTAUX
  743. * --------------
  744. 'SI' ( TOTAUX1 'EGA' 1) ;
  745. *-1-
  746. 'SI' ( 'NON' LOG2 ) ;
  747.  
  748. SIGM1 = ZTABENT.'MTOTAUX' ;
  749.  
  750. * MOMENTS DE TORSION
  751. * ------------------
  752. MXt1 = 'EXCO' MOMX SIGM1 MOM ;
  753.  
  754. * MOMENTS DE FLEXION DANS LE PLAN
  755. * -------------------------------
  756. MYt1 = 'EXCO' MOMY SIGM1 MOM ;
  757.  
  758. * MOMENTS DE FLEXION HORS PLAN
  759. * ----------------------------
  760. MZt1 = 'EXCO' MOMZ SIGM1 MOM ;
  761.  
  762. 'FINSI' ;
  763.  
  764. 'SINON' ;
  765. IERR2 = 1 ;
  766. 'FINSI' ;
  767. *FIN-1-
  768.  
  769.  
  770. * MOMENTS DUS AUX EFFORTS PERMANENTS
  771. * ----------------------------------
  772. 'SI' ( PERM1 'EGA' 1 ) ;
  773. *-2-
  774. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  775.  
  776. SIGM1 = ZTABENT.'MPERMANENT' ;
  777.  
  778. * MOMENTS DE TORSION
  779. * ------------------
  780. MXpe1 = 'EXCO' MOMX SIGM1 MOM ;
  781.  
  782. * MOMENTS DE FLEXION DANS LE PLAN
  783. * -------------------------------
  784. MYpe1 = 'EXCO' MOMY SIGM1 MOM ;
  785.  
  786. * MOMENTS DE FLEXION HORS PLAN
  787. * ----------------------------
  788. MZpe1 = 'EXCO' MOMZ SIGM1 MOM ;
  789.  
  790. 'FINSI' ;
  791.  
  792. 'SINON' ;
  793. IERR3 = 1 ;
  794. 'FINSI' ;
  795. *FIN-2-
  796.  
  797. * MOMENTS DUS AUX EFFORTS SISMIQUES
  798. * ---------------------------------
  799. 'SI' ( SEISME1 'EGA' 1 ) ;
  800. *-3-
  801.  
  802. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  803. SIGM1 = ZTABENT.'MSEISME' ;
  804.  
  805. * MOMENTS DE TORSION
  806. * ------------------
  807. MXs1 = 'EXCO' MOMX SIGM1 MOM ;
  808.  
  809. * MOMENTS DE FLEXION DANS LE PLAN
  810. * -------------------------------
  811. MYs1 = 'EXCO' MOMY SIGM1 MOM ;
  812.  
  813. * MOMENTS DE FLEXION HORS PLAN
  814. * ----------------------------
  815. MZs1 = 'EXCO' MOMZ SIGM1 MOM ;
  816.  
  817. 'FINSI' ;
  818.  
  819. 'SINON' ;
  820. IERR4 = 1 ;
  821. 'FINSI' ;
  822. *FIN-3-
  823.  
  824.  
  825. * MOMENTS DUS AUX POIDS
  826. * ---------------------
  827. 'SI' ( POIDS1 'EGA' 1 ) ;
  828. *-4-
  829.  
  830. 'SI' ( TOTAUX1 'EGA' 0 ) ;
  831. SIGM1 = ZTABENT.'MPOIDS' ;
  832.  
  833. * MOMENTS DE TORSION
  834. * ------------------
  835. MXpo1 = 'EXCO' MOMX SIGM1 MOM ;
  836.  
  837. * MOMENTS DE FLEXION DANS LE PLAN
  838. * -------------------------------
  839. MYpo1 = 'EXCO' MOMY SIGM1 MOM ;
  840.  
  841. * MOMENTS DE FLEXION HORS PLAN
  842. * ----------------------------
  843. MZpo1 = 'EXCO' MOMZ SIGM1 MOM ;
  844.  
  845. 'FINSI' ;
  846.  
  847. 'SINON' ;
  848. IERR5 = 1 ;
  849. 'FINSI' ;
  850. *FIN-4-
  851.  
  852. 'SI' ( IERR2 'EGA' 0 ) ;
  853. *SI MOMENTS TOTAUX SELECTIONNES
  854. *-5-
  855.  
  856. 'SI' ( IERR3 'EGA' 0 ) ;
  857. *SI MOMENTS PERMANENTS SELECTIONNES
  858. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
  859. 'MESS' 'TOTALES ET LES MOMENTS DUS AUX EFFORTS PERMANENTS EN MEME' ;
  860. 'MESS' 'TEMPS. IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  861. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  862. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  863. 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
  864. 'MESS' ' ';
  865. IERR1 = 1 ;
  866. 'FINSI' ;
  867.  
  868. *SI MOMENTS SISMIQUES SELECTIONNES
  869. 'SI' ( IERR4 'EGA' 0 ) ;
  870. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
  871. 'MESS' 'TOTALES ET LES MOMENTS DUS AUX EFFORTS SISMIQUES' ;
  872. 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  873. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  874. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  875. 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
  876. 'MESS' ' ';
  877. IERR1 = 1 ;
  878. 'FINSI' ;
  879.  
  880. 'SI' ( IERR5 'EGA' 0 ) ;
  881. *SI MOMENTS DUS AU POIDS SELECTIONNES
  882. 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
  883. 'MESS' 'TOTALES ET LES MOMENTS DUS AU POIDS EN MEME TEMPS' ;
  884. 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
  885. 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
  886. 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
  887. 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
  888. 'MESS' ' ';
  889. IERR1 = 1 ;
  890. 'FINSI' ;
  891.  
  892. 'FINSI' ;
  893. *FIN-5-
  894.  
  895. 'FINSI' ;
  896. *FINSI OPTION CALCUL MANUEL ou AUTOMATIQUE
  897. ********************************************************************************
  898.  
  899. 'SI' ( IERR2 'EGA' 1 ) ;
  900. *SI MOMENTS TOTAUX NON SELECTIONNES
  901. *-5-
  902.  
  903. *SI MOMENTS DUS AU POIDS, PERMANENTS, SISMIQUES NON SELECTIONNES
  904. 'SI' ( IERR3 'EGA' 1 ) ;
  905. 'SI' ( IERR4 'EGA' 1 ) ;
  906. 'SI' ( IERR5 'EGA' 1 ) ;
  907. 'MESS' 'ERREUR CODENORM :' ;
  908. 'MESS' 'AUCUN MOMENT APPLIQUE A LA LIGNE N A ETE DEFINIT' ;
  909. 'MESS' ' ';
  910. IERR1 = 1 ;
  911. 'FINSI' ;
  912. 'FINSI' ;
  913. 'FINSI' ;
  914.  
  915. 'FINSI' ;
  916. *FIN-5-
  917.  
  918. *CALCUL DE MOMENTS PRELIMINAIRES
  919.  
  920. MX3 = MXpo1 + MXpe1 ;
  921. MY3 = MYpo1 + MYpe1 ;
  922. MZ3 = MZpo1 + MZpe1 ;
  923.  
  924. 'SI' ( SEISME1 'EGA' 1 ) ;
  925. MX3 = 'ABS' MX3 ;
  926. MY3 = 'ABS' MY3 ;
  927. MZ3 = 'ABS' MZ3 ;
  928. 'FINSI' ;
  929.  
  930. *-----------------------------------------*
  931. * ENTREES COMMUNE AUX DEUX MODES DE CALCUL*
  932. *-----------------------------------------*
  933. ******************************
  934. * CARACTERISTIQUES PHYSIQUES * * * * * * * * * * * * * * * * * * * * * * * * * *
  935. ******************************
  936.  
  937. *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy)
  938. *-----------------------------------------------
  939. 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE' ) ;
  940. Sy1 = ZTABENT.'LIMITE_ELASTIQUE' ;
  941. 'SINON' ;
  942. 'MESS' 'ERREUR CODENORM : IL MANQUE LA LIMITE ELASTIQUE (Sy)';
  943. 'MESS' ' ';
  944. IERR1 = 1 ;
  945. 'FINSI' ;
  946.  
  947. *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re)
  948. *A TEMPERATURE AMBIANTE
  949. *----------------------
  950. 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE_TAMB' ) ;
  951. Re1 = ZTABENT.'LIMITE_ELASTIQUE_TAMB' ;
  952. 'SINON' ;
  953. 'MESS' 'ERREUR CODENORM : IL MANQUE LA LIMITE ELASTIQUE A' ;
  954. 'MESS' ' TEMPERATURE AMBIANTE (Re)' ;
  955. 'MESS' ' ';
  956. IERR1 = 1 ;
  957. 'FINSI' ;
  958.  
  959. *RESISTANCE A LA RUPTURE (Su)
  960. *----------------------------
  961. 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE' ) ;
  962. Su1 = ZTABENT.'RESISTANCE_RUPTURE' ;
  963. 'SINON' ;
  964. 'MESS' 'ERREUR CODENORM : IL MANQUE LA RESISTANCE A LA RUPTURE (Su)';
  965. 'MESS' ' ';
  966. IERR1 = 1 ;
  967. 'FINSI' ;
  968.  
  969. *RESISTANCE A LA RUPTURE A TEMPERATURE AMBIANTE (Rm)
  970. *---------------------------------------------------
  971. 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE_TAMB' ) ;
  972. Rm1 = ZTABENT.'RESISTANCE_RUPTURE_TAMB' ;
  973. 'SINON' ;
  974. 'MESS' 'ERREUR CODENORM : IL MANQUE LA RESISTANCE A LA RUPTURE A' ;
  975. 'MESS' ' TEMPERATURE AMBIANTE (Rm)' ;
  976. 'MESS' ' ';
  977. IERR1 = 1 ;
  978. 'FINSI' ;
  979.  
  980. *ACIER FERRITIQUE OU AUSTENITIQUE ?
  981. *--------------------------------
  982. 'SI' ( 'EXISTE' ZTABENT 'FERRITIQUE' ) ;
  983. Fer1 = 1 ;
  984. 'FINSI' ;
  985.  
  986. 'SI' ( 'EXISTE' ZTABENT 'AUSTENITIQUE' ) ;
  987. Auste1 = 1 ;
  988. 'FINSI' ;
  989.  
  990. LOG4 = Fer1 + Auste1 ;
  991.  
  992. 'SI' ( LOG4 'EGA' 0 ) ;
  993. 'MESS' 'ERREUR CODENORM :' ;
  994. 'MESS' 'IL MANQUE LA NATURE DE L ACIER DE LA LIGNE:' ;
  995. 'MESS' 'FERRITIQUE OU AUSTENITIQUE' ;
  996. 'MESS' ' ';
  997. IERR1 = 1 ;
  998. 'FINSI' ;
  999.  
  1000. 'SI' ( LOG4 'EGA' 2 ) ;
  1001. 'MESS' 'ERREUR CODENORM : LA NATURE DE L ACIER DE LA LIGNE' ;
  1002. 'MESS' 'EST DOUBLE :FERRITIQUE OU AUSTENITIQUE' ;
  1003. 'MESS' 'CHOISIR L UNE OU L AUTRE' ;
  1004. 'MESS' ' ';
  1005. IERR1 = 1 ;
  1006. 'FINSI' ;
  1007.  
  1008. **********************************************
  1009. * REGLEMENTS:RCC-M, RCC-MR, ASME, ETCM, EMSI ***********************************
  1010. **********************************************
  1011. *****************************************
  1012. * LES COEFFICIENTS B1,B2, D1, D21 & D22 *
  1013. * SONT AJUSTABLES PAR L'UTILISATEUR *
  1014. *****************************************
  1015. *-----*
  1016. *RCC-M*
  1017. *-----*
  1018. 'SI' ( 'EXISTE' ZTABENT 'RCCM' ) ;
  1019. *-SI-RCCM-
  1020. RCOD1= 1 ;
  1021. ZTABENT.'RESULTATS'.'RCCM' = table;
  1022. * CLASSES 1 ET/OU 2
  1023. * -----------------
  1024. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1' ) ;
  1025. *-*-
  1026. RCLASSE1 = 1 ;
  1027. * LES COEFFICIENTS DE CONTRAINTE
  1028. * ------------------------------
  1029. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1d' ) ;
  1030. B1RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B1d' ;
  1031. 'FINSI' ;
  1032.  
  1033. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B2d' ) ;
  1034. B2RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B2d' ;
  1035. 'FINSI' ;
  1036.  
  1037. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1c' ) ;
  1038. B1RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B1c' ;
  1039. 'FINSI' ;
  1040.  
  1041. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B2c' ) ;
  1042. B2RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B2c' ;
  1043. COEF1 = 0 ;
  1044. 'FINSI' ;
  1045.  
  1046. * ON DETERMINE Sm
  1047. * ---------------
  1048. 'SI' ( Fer1 'EGA' 1 ) ;
  1049. am1 = 1. / 3. ;
  1050. bu1 = 1. / 3. ;
  1051. ce1 = 2. / 3. ;
  1052. dy1 = 2. / 3. ;
  1053. 'FINSI' ;
  1054.  
  1055. 'SI' ( Auste1 'EGA' 1 ) ;
  1056. am1 = 1. / 3. ;
  1057. bu1 = 1. / 3. ;
  1058. ce1 = 2. / 3. ;
  1059. dy1 = 0.9 ;
  1060. 'FINSI' ;
  1061.  
  1062. LISTSM1 = PROG ;
  1063. LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  1064. LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  1065. SmRCCM1 = 'MINI' LISTSM1;
  1066. ZTABENT.'RESULTATS'.'RCCM'.'Sm' = SmRCCM1;
  1067.  
  1068. * CALCUL DES MOMENTS
  1069. * ------------------
  1070. 'SI' ( TOTAUX1 'EGA' 1 ) ;
  1071. MQUAD1= ((MXt1)**2) + ((MYt1)**2) + ((MZt1)**2) ;
  1072. 'SINON' ;
  1073. MX4 = MX3 + ( 'ABS' MXs1 ) ;
  1074. MY4 = MY3 + ( 'ABS' MYs1 ) ;
  1075. MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
  1076. MQUAD1 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
  1077. 'FINSI' ;
  1078. MQUAD1 = (MQUAD1)**(0.5) ;
  1079.  
  1080. * NIVEAUX C ET/OU D
  1081. * ------------------
  1082. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'C' ) ;
  1083. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1084. ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C' = TABLE ;
  1085.  
  1086. RCRIT1 = 1;
  1087. REG2 = REG2 + 1 ;
  1088. ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_C' ;
  1089. ZTAB2.'S'.REG2 = 1.9 * SmRCCM1 ;
  1090. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1091. ZTAB2.'SAMAX'.REG2 = 0 ;
  1092. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1093. ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_C' ;
  1094.  
  1095. ZTAB2.'D1d'.REG2 = B1RCCMd1 ;
  1096. ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
  1097. ZTAB2.'D22d'.REG2 = 0. ;
  1098. ZTAB2.'D1c'.REG2 = B1RCCMc1 ;
  1099. ZTAB2.'D21c'.REG2 = B2RCCMc1 ;
  1100. ZTAB2.'D22c'.REG2 = 0. ;
  1101.  
  1102. ZTAB2.MA.REG2 = MQUAD1 ;
  1103. 'SI' ( MAN1 'EGA' 0 ) ;
  1104. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1105. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1106. ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C'.'Sa' = TABLE ;
  1107. 'SINON' ;
  1108. ZTAB2.MB.REG2 = 0 ;
  1109. 'FINSI' ;
  1110.  
  1111. 'FINSI' ;
  1112.  
  1113. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'D' ) ;
  1114. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1115. ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D' = TABLE ;
  1116. RCRIT1 = 1;
  1117.  
  1118. * EQUATION POUR LES PARTIES DROITES ET LES COUDES
  1119. REG2 = REG2 + 1 ;
  1120. ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ;
  1121. ZTAB2.'S'.REG2 = 3 * SmRCCM1 ;
  1122. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1123. ZTAB2.'SAMAX'.REG2 = 0 ;
  1124. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1125. ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ;
  1126. ZTAB2.'D1d'.REG2 = B1RCCMd1 ;
  1127. ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
  1128. ZTAB2.'D22d'.REG2 = 0. ;
  1129. ZTAB2.'D1c'.REG2 = B1RCCMc1 ;
  1130. ZTAB2.'D21c'.REG2 = B2RCCMc1 ;
  1131. ZTAB2.'D22c'.REG2 = 0. ;
  1132.  
  1133. ZTAB2.MA.REG2 = MQUAD1 ;
  1134. 'SI' ( MAN1 'EGA' 0 ) ;
  1135. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1136. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1137. ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sa' = TABLE ;
  1138. 'SINON' ;
  1139. ZTAB2.MB.REG2 = 0 ;
  1140. 'FINSI' ;
  1141.  
  1142. * EQUATION POUR LES PARTIES DROITES SEULEMENT
  1143. REG2 = REG2 + 1 ;
  1144. ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ;
  1145. ZTAB2.'S'.REG2 = 2.5 * SmRCCM1 ;
  1146. ZTAB2.'Sanom'.REG2 = 'Sapdroite' ;
  1147. ZTAB2.'SAMAX'.REG2 = 0 ;
  1148. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1149. ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ;
  1150. ZTAB2.'D1d'.REG2 = 0. ;
  1151. ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
  1152. ZTAB2.'D22d'.REG2 = 0. ;
  1153. ZTAB2.'D1c'.REG2 = 0. ;
  1154. ZTAB2.'D21c'.REG2 = 0. ;
  1155. ZTAB2.'D22c'.REG2 = 0. ;
  1156.  
  1157. ZTAB2.MA.REG2 = MQUAD1 ;
  1158. 'SI' ( MAN1 'EGA' 0 ) ;
  1159. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1160. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1161. ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sapdroite' = TABLE ;
  1162. 'SINON' ;
  1163. ZTAB2.MB.REG2 = 0 ;
  1164. 'FINSI' ;
  1165.  
  1166. 'FINSI' ;
  1167.  
  1168. 'SI' ( RCRIT1 'EGA' 0 ) ;
  1169. 'MESS' 'ERREUR CODENORM : RCC-M CLASSE 1' ;
  1170. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  1171. 'MESS' ' ';
  1172. IERR1 = 1 ;
  1173. 'FINSI' ;
  1174.  
  1175. 'FINSI' ;
  1176. *-fin classe 1
  1177.  
  1178. RCRIT1 = 0 ;
  1179.  
  1180. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2' ) ;
  1181. RCLASSE1 = 1 ;
  1182.  
  1183. * LES COEFFICIENTS DE CONTRAINTE
  1184. * ------------------------------
  1185. * B2RCCMd2 & B2RCCMc2 représentent ici le coefficient 0.75i
  1186.  
  1187. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2d' ) ;
  1188. B2RCCMd2 = ZTABENT.'RCCM'.'CLASSE2'.'B2d' ;
  1189. 'FINSI' ;
  1190.  
  1191. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2c' ) ;
  1192. B2RCCMc2 = ZTABENT.'RCCM'.'CLASSE2'.'B2c' ;
  1193. COEF2 = 0 ;
  1194. 'FINSI' ;
  1195.  
  1196. 'SI' ( TOTAUX1 'EGA' 1) ;
  1197. 'MESS' 'ERREUR CODENORM : LES OPTIONS: MOMENT TOTAUX ET' ;
  1198. 'MESS' 'ETUDE REGLEMENTAIRE RCC-M CLASSE 2 SONT INCOMPATIBLES' ;
  1199. 'MESS' ' ';
  1200. IERR1 = 1 ;
  1201. 'FINSI' ;
  1202.  
  1203. * ON DETERMINE Sh
  1204. * ---------------
  1205. 'SI' ( Fer1 'EGA' 1 ) ;
  1206. am1 = 1. / 4. ;
  1207. bu1 = 1. / 4. ;
  1208. ce1 = 2. / 3. ;
  1209. dy1 = 2. / 3. ;
  1210. 'FINSI' ;
  1211.  
  1212. 'SI' ( Auste1 'EGA' 1 ) ;
  1213. am1 = 1. / 4. ;
  1214. bu1 = 1. / 4. ;
  1215. ce1 = 2. / 3. ;
  1216. dy1 = 0.9 ;
  1217. 'FINSI' ;
  1218.  
  1219. LISTSH2 = PROG ;
  1220. LISTSH2 = LISTSH2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  1221. LISTSH2 = LISTSH2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  1222. ShRCCM2 = 'MINI' LISTSH2;
  1223. ZTABENT.'RESULTATS'.'RCCM'.'Sh' = ShRCCM2;
  1224.  
  1225.  
  1226. * CALCUL DES MOMENTS
  1227. * ------------------
  1228. MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
  1229. MQUADp1 = (MQUADp1)**(0.5) ;
  1230. MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
  1231. MQUADs1 = (MQUADs1)**(0.5) ;
  1232. MQUAD2 = MQUADp1 + MQUADs1 ;
  1233.  
  1234. * NIVEAUX C ET/OU D
  1235. * ------------------
  1236. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'C' ) ;
  1237. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1238. ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C' = TABLE ;
  1239.  
  1240. RCRIT1 = 1;
  1241. REG2 = REG2 + 1 ;
  1242. ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_C' ;
  1243. ZTAB2.'S'.REG2 = 1.8 * ShRCCM2 ;
  1244. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1245. ZTAB2.'SAMAX'.REG2 = 0 ;
  1246. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1247. ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ;
  1248. ZTAB2.'D1d'.REG2 = B1RCCMd2 ;
  1249. ZTAB2.'D21d'.REG2 = B2RCCMd2 ;
  1250. ZTAB2.'D22d'.REG2 = 0. ;
  1251. ZTAB2.'D1c'.REG2 = B1RCCMc2 ;
  1252. ZTAB2.'D21c'.REG2 = B2RCCMc2 ;
  1253. ZTAB2.'D22c'.REG2 = 0. ;
  1254.  
  1255. ZTAB2.MA.REG2 = MQUAD2 ;
  1256. 'SI' ( MAN1 'EGA' 0 ) ;
  1257. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1258. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1259. ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C'.'Sa' = TABLE ;
  1260. 'SINON' ;
  1261. ZTAB2.MB.REG2 = 0 ;
  1262. 'FINSI' ;
  1263. 'FINSI' ;
  1264.  
  1265. 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'D' ) ;
  1266. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1267. ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D' = TABLE ;
  1268.  
  1269. RCRIT1 = 1;
  1270. REG2 = REG2 + 1 ;
  1271. ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_D' ;
  1272. ZTAB2.'S'.REG2 = 2.4 * ShRCCM2 ;
  1273. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1274. ZTAB2.'SAMAX'.REG2 = 0 ;
  1275. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1276. ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ;
  1277. ZTAB2.'D1d'.REG2 = B1RCCMd2 ;
  1278. ZTAB2.'D21d'.REG2 = B2RCCMd2 ;
  1279. ZTAB2.'D22d'.REG2 = 0. ;
  1280. ZTAB2.'D1c'.REG2 = B1RCCMc2 ;
  1281. ZTAB2.'D21c'.REG2 = B2RCCMc2 ;
  1282. ZTAB2.'D22c'.REG2 = 0. ;
  1283.  
  1284. ZTAB2.MA.REG2 = MQUAD2 ;
  1285. 'SI' ( MAN1 'EGA' 0 ) ;
  1286. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1287. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1288. ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D'.'Sa' = TABLE ;
  1289. 'SINON' ;
  1290. ZTAB2.MB.REG2 = 0 ;
  1291. 'FINSI' ;
  1292. 'FINSI' ;
  1293.  
  1294. 'SI' ( RCRIT1 'EGA' 0 ) ;
  1295. 'MESS' 'ERREUR CODENORM : RCC-M CLASSE 2' ;
  1296. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  1297. 'MESS' ' ';
  1298. IERR1 = 1 ;
  1299. 'FINSI' ;
  1300.  
  1301. 'FINSI' ;
  1302. *-fin classe 2
  1303.  
  1304. 'SI' ( RCLASSE1 'EGA' 0 ) ;
  1305. 'MESS' 'ERREUR CODENORM : RCC-M' ;
  1306. 'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ;
  1307. 'MESS' ' ' ;
  1308. IERR1 = 1 ;
  1309. 'FINSI' ;
  1310.  
  1311. 'FINSI' ;
  1312. *-FIN-REGLEMENT-RCC-M
  1313.  
  1314. RCLASSE1 = 0 ;
  1315. RCRIT1 = 0 ;
  1316.  
  1317. *RCC-MR
  1318. *------
  1319. 'SI' ( 'EXISTE' ZTABENT 'RCCMR' ) ;
  1320. *-SI-RCCM-R
  1321. RCOD1= 1;
  1322. ZTABENT.'RESULTATS'.'RCCMR' = table;
  1323.  
  1324. * Pour une future utilisation: si g pris non nul
  1325. * et si on considere les moments dus aux déplacements
  1326. * g est un scalaire, m1 et mr sont des scalaires en mode
  1327. * manuel et des MCHAML en mode automatique.
  1328. * ------------------------------------------------------
  1329. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'g' ) ;
  1330. g1= ZTABENT.'RCCMR'.'g' ;
  1331. 'FINSI' ;
  1332.  
  1333. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'m1' ) ;
  1334. m13= ZTABENT.'RCCMR'.'m1' ;
  1335. 'FINSI' ;
  1336.  
  1337. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'mr' ) ;
  1338. mr3= ZTABENT.'RCCMR'.'mr' ;
  1339. 'FINSI' ;
  1340.  
  1341. * SI LES EFFORTS NORMAUX SONT NOTABLES
  1342. * ------------------------------------
  1343. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'N1' ) ;
  1344. NORM1= 1;
  1345. N1= ZTABENT.'RCCMR'.'N1' ;
  1346. 'FINSI' ;
  1347.  
  1348. * ANGLE DES COUDES
  1349. * VALEUR PAR DEFAUT = PI/2. ATTENTION CET ANGLE DONNE EN DEGRES PAR
  1350. * L'UTILISATEUR DE LA PROCEDURE S'EXPRIME EN RADIAN DANS LES CALCULS
  1351. * IL EST MODIFIABLE EN MANUEL POUR UN CALCUL PONCTUEL, OU EN AUTOMATIQUE
  1352. * SUR UNE SEULE ZONE QUI EST UN COUDE, OU ENCORE SUR UNE LIGNE
  1353. * OU TOUS LES COUDES SONT DE MEME ANGLE.
  1354. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ANGLE' ) ;
  1355. anglec2 = ZTABENT.'RCCMR'.'ANGLE' ;
  1356. anglec1 = (PI / 180.) * anglec2 ;
  1357. 'FINSI' ;
  1358.  
  1359. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ALPHA' ) ;
  1360. * VALEUR PAR DEFAUT : 1, POUR LE CALCUL DE S*
  1361. alpha1 = ZTABENT.'RCCMR'.'ALPHA' ;
  1362. 'FINSI' ;
  1363.  
  1364. * LES COEFFICIENTS DE CONTRAINTE
  1365. * ------------------------------
  1366. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1d' ) ;
  1367. B1MRd1 = ZTABENT.'RCCMR'.'B1d' ;
  1368. 'FINSI' ;
  1369.  
  1370. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2d' ) ;
  1371. B2MRd1 = ZTABENT.'RCCMR'.'B2d' ;
  1372. 'FINSI' ;
  1373.  
  1374. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1d' ) ;
  1375. D1MRd1 = ZTABENT.'RCCMR'.'D1d' ;
  1376. 'FINSI' ;
  1377.  
  1378. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21d' ) ;
  1379. D21MRd1 = ZTABENT.'RCCMR'.'D21d' ;
  1380. COEF31 = 0 ;
  1381. 'FINSI' ;
  1382.  
  1383. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22d' ) ;
  1384. D22MRd1 = ZTABENT.'RCCMR'.'D22d' ;
  1385. 'FINSI' ;
  1386.  
  1387. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1c' ) ;
  1388. B1MRc1 = ZTABENT.'RCCMR'.'B1c' ;
  1389. COEF32 = 0 ;
  1390. 'FINSI' ;
  1391.  
  1392. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2c' ) ;
  1393. B2MRc1 = ZTABENT.'RCCMR'.'B2c' ;
  1394. COEF33 = 0 ;
  1395. 'FINSI' ;
  1396.  
  1397. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1c' ) ;
  1398. D1MRc1 = ZTABENT.'RCCMR'.'D1c' ;
  1399. 'FINSI' ;
  1400.  
  1401. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21c' ) ;
  1402. D21MRc1 = ZTABENT.'RCCMR'.'D21c' ;
  1403. COEF34 = 0 ;
  1404. 'FINSI' ;
  1405.  
  1406. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22c' ) ;
  1407. D22MRc1 = ZTABENT.'RCCMR'.'D22c' ;
  1408. 'FINSI' ;
  1409.  
  1410. * ON DETERMINE Sm
  1411. * ---------------
  1412. 'SI' ( Fer1 'EGA' 1 ) ;
  1413. am1 = 1. / 3. ;
  1414. bu1 = 1. / 3. ;
  1415. ce1 = 2. / 3. ;
  1416. dy1 = 2. / 3. ;
  1417. 'FINSI' ;
  1418.  
  1419. 'SI' ( Auste1 'EGA' 1 ) ;
  1420. am1 = 1. / 3. ;
  1421. bu1 = 1. / 2.7 ;
  1422. ce1 = 2. / 3. ;
  1423. dy1 = 0.9 ;
  1424. 'FINSI' ;
  1425.  
  1426. LISTSM1 = PROG ;
  1427. LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  1428. LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  1429. SmRCCMR1 = 'MINI' LISTSM1;
  1430. ZTABENT.'RESULTATS'.'RCCMR'.'Sm' = SmRCCMR1;
  1431.  
  1432.  
  1433. * CALCUL DE S*=min(0.8Sy, 0.4Rm)
  1434. * ------------------------------
  1435. TEST1 = PROG ;
  1436. TEST1 = TEST1 'ET' ( PROG (0.8 * Sy1) ) ;
  1437. TEST1 = TEST1 'ET' ( PROG (0.4 * Rm1) ) ;
  1438. Setoile1 = 'MINI' TEST1 ;
  1439. Setoile1 = alpha1 * Setoile1 ;
  1440.  
  1441. * CALCUL DE min(3Sm, 0.9Rm)
  1442. * -------------------------
  1443. TEST2 = PROG ;
  1444. TEST2 = TEST2 'ET' ( PROG (3. * SmRCCMR1) ) ;
  1445. TEST2 = TEST2 'ET' ( PROG (0.9 * Rm1) ) ;
  1446. Setoile2 = 'MINI' TEST2 ;
  1447.  
  1448. * CALCUL DES MOMENTS
  1449. * ------------------
  1450.  
  1451. 'SI' ( TOTAUX1 'EGA' 1 ) ;
  1452. M1 = MXt1;
  1453. M2 = ( MYt1**2 ) + ( MZt1**2 );
  1454. M2 = M2**(0.5) ;
  1455. 'SINON' ;
  1456. M1 = MX3 + ('ABS' MXs1 ) ;
  1457. M2 = ( ( MY3 + ('ABS' MYs1 ) )**2 ) ;
  1458. M2 = M2 + ( ( MZ3 + ('ABS' MZs1 ) )**2 );
  1459. M2 = M2**(0.5) ;
  1460. 'FINSI' ;
  1461.  
  1462. M1 = M1 + ( m13 * g1 ) ;
  1463. M2 = M2 + ( mr3 * g1 ) ;
  1464.  
  1465. * NIVEAUX C ET/OU D
  1466. * ------------------
  1467. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'C' ) ;
  1468. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1469. ZTABENT.'RESULTATS'.'RCCMR_C' = TABLE ;
  1470. 'SI' ( MAN1 'EGA' 0 ) ;
  1471. ZTABENT.'RESULTATS'.'RCCMR_C'.'PmPb' = TABLE ;
  1472. ZTABENT.'RESULTATS'.'RCCMR_C'.'SigmSigb' = TABLE ;
  1473. 'FINSI' ;
  1474.  
  1475. RCRIT1 = 1;
  1476. * Pour l'équation de Pm+Pb
  1477. REG2 = REG2 + 1 ;
  1478. ZTAB2.'RCN'.REG2 = 'RCCMR_C' ;
  1479. ZTAB2.'S'.REG2 = 1.9 * SmRCCMR1 ;
  1480. ZTAB2.'Sanom'.REG2 = 'PmPb' ;
  1481. ZTAB2.'SAMAX'.REG2 = 0 ;
  1482. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1483. ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;
  1484. ZTAB2.'D1d'.REG2 = B1MRd1 ;
  1485. ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 ) ;
  1486. ZTAB2.'D22d'.REG2 = B2MRd1 ;
  1487. ZTAB2.'D1c'.REG2 = B1MRc1 ;
  1488. ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 ) ;
  1489. ZTAB2.'D22c'.REG2 = B2MRc1 ;
  1490.  
  1491. ZTAB2.MA.REG2 = M1 ;
  1492. ZTAB2.MB.REG2 = M2 ;
  1493.  
  1494. * Pour l'équation de Sigm+Sigb
  1495. REG2 = REG2 + 1 ;
  1496. ZTAB2.'RCN'.REG2 = 'RCCMR_C' ;
  1497. ZTAB2.'S'.REG2 = 1.25 * Setoile1 ;
  1498. ZTAB2.'Sanom'.REG2 = 'SigmSigb' ;
  1499. ZTAB2.'SAMAX'.REG2 = 0 ;
  1500. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1501. ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;
  1502. ZTAB2.'D1d'.REG2 = D1MRd1 ;
  1503. ZTAB2.'D21d'.REG2 = D21MRd1 ;
  1504. ZTAB2.'D22d'.REG2 = D22MRd1 ;
  1505. ZTAB2.'D1c'.REG2 = D1MRc1 ;
  1506. ZTAB2.'D21c'.REG2 = D21MRc1 ;
  1507. ZTAB2.'D22c'.REG2 = D22MRc1 ;
  1508.  
  1509. ZTAB2.MA.REG2 = M1 ;
  1510. ZTAB2.MB.REG2 = M2 ;
  1511.  
  1512. 'FINSI' ;
  1513.  
  1514. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D' ) ;
  1515. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1516. ZTABENT.'RESULTATS'.'RCCMR_D' = TABLE ;
  1517. 'SI' ( MAN1 'EGA' 0 ) ;
  1518. ZTABENT.'RESULTATS'.'RCCMR_D'.'PmPb' = TABLE ;
  1519. ZTABENT.'RESULTATS'.'RCCMR_D'.'SigmSigb' = TABLE ;
  1520. 'FINSI' ;
  1521.  
  1522. RCRIT1 = 1;
  1523. * Pour l'équation de Pm+Pb
  1524. REG2 = REG2 + 1 ;
  1525. ZTAB2.'RCN'.REG2 = 'RCCMR_D' ;
  1526. ZTAB2.'S'.REG2 = Setoile2 ;
  1527. ZTAB2.'Sanom'.REG2 = 'PmPb' ;
  1528. ZTAB2.'SAMAX'.REG2 = 0 ;
  1529. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1530. ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;
  1531. ZTAB2.'D1d'.REG2 = B1MRd1 ;
  1532. ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 ) ;
  1533. ZTAB2.'D22d'.REG2 = B2MRd1 ;
  1534. ZTAB2.'D1c'.REG2 = B1MRc1 ;
  1535. ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 ) ;
  1536. ZTAB2.'D22c'.REG2 = B2MRc1 ;
  1537.  
  1538. ZTAB2.MA.REG2 = M1 ;
  1539. ZTAB2.MB.REG2 = M2 ;
  1540.  
  1541. * Pour l'équation de Sigm+Sigb
  1542. REG2 = REG2 + 1 ;
  1543. ZTAB2.'RCN'.REG2 = 'RCCMR_D' ;
  1544. ZTAB2.'S'.REG2 = 1.9 * Setoile1 ;
  1545. ZTAB2.'Sanom'.REG2 = 'SigmSigb' ;
  1546. ZTAB2.'SAMAX'.REG2 = 0 ;
  1547. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1548. ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;
  1549. ZTAB2.'D1d'.REG2 = D1MRd1 ;
  1550. ZTAB2.'D21d'.REG2 = D21MRd1 ;
  1551. ZTAB2.'D22d'.REG2 = D22MRd1 ;
  1552. ZTAB2.'D1c'.REG2 = D1MRc1 ;
  1553. ZTAB2.'D21c'.REG2 = D21MRc1 ;
  1554. ZTAB2.'D22c'.REG2 = D22MRc1 ;
  1555.  
  1556. ZTAB2.MA.REG2 = M1 ;
  1557. ZTAB2.MB.REG2 = M2 ;
  1558. 'FINSI' ;
  1559.  
  1560. 'SI' ( RCRIT1 'EGA' 0 ) ;
  1561. 'MESS' 'ERREUR CODENORM : RCC-MR' ;
  1562. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  1563. 'MESS' ' ';
  1564. IERR1 = 1 ;
  1565. 'FINSI' ;
  1566.  
  1567. 'FINSI' ;
  1568. *-FIN-REGLEMENT-RCC-MR
  1569.  
  1570. RCLASSE1 = 0 ;
  1571. RCRIT1 = 0 ;
  1572.  
  1573. *ASME
  1574. *-----
  1575. 'SI' ( 'EXISTE' ZTABENT 'ASME' ) ;
  1576. *-SI-ASME-
  1577. RCOD1= 1 ;
  1578. ZTABENT.'RESULTATS'.'ASME' = table;
  1579.  
  1580. 'SI' ( TOTAUX1 'EGA' 1) ;
  1581. 'MESS' 'ERREUR CODENORM :' ;
  1582. 'MESS' 'LES OPTIONS: MOMENT TOTAUX ET' ;
  1583. 'MESS' 'ETUDE REGLEMENTAIRE ASME SONT INCOMPATIBLES' ;
  1584. 'MESS' ' ';
  1585. IERR1 = 1 ;
  1586. 'FINSI' ;
  1587.  
  1588. *CLASSE 1 ET/OU 2
  1589. *-----------------
  1590. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1' ) ;
  1591. RCLASSE1 = 1 ;
  1592.  
  1593. * LES COEFFICIENTS DE CONTRAINTE
  1594. * ------------------------------
  1595. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1d' ) ;
  1596. B1ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B1d' ;
  1597. 'FINSI' ;
  1598.  
  1599. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2d' ) ;
  1600. B2ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B2d' ;
  1601. 'FINSI' ;
  1602.  
  1603. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1c' ) ;
  1604. B1ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B1c' ;
  1605. COEF41 = 0 ;
  1606. 'FINSI' ;
  1607.  
  1608. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2c' ) ;
  1609. B2ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B2c' ;
  1610. COEF42 = 0 ;
  1611. 'FINSI' ;
  1612.  
  1613. * ON DETERMINE Sm
  1614. * ---------------
  1615. 'SI' ( Fer1 'EGA' 1 ) ;
  1616. am1 = 1. / 3. ;
  1617. bu1 = 1. / 3. ;
  1618. ce1 = 2. / 3. ;
  1619. dy1 = 2. / 3. ;
  1620. 'FINSI' ;
  1621.  
  1622. 'SI' ( Auste1 'EGA' 1 ) ;
  1623. am1 = 1. / 3. ;
  1624. bu1 = 1. / 3. ;
  1625. ce1 = 2. / 3. ;
  1626. dy1 = 0.9 ;
  1627. 'FINSI' ;
  1628.  
  1629. LISTSM1 = PROG ;
  1630. LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  1631. LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  1632. SmASME1 = 'MINI' LISTSM1;
  1633. ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME1;
  1634.  
  1635. * CALCUL DES MOMENTS
  1636. * ------------------
  1637. MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ;
  1638. MQUAD3 = (MQUAD3)**(0.5) ;
  1639.  
  1640. MX4 = MX3 + ( 'ABS' MXs1 ) ;
  1641. MY4 = MY3 + ( 'ABS' MYs1 ) ;
  1642. MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
  1643. MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
  1644. MQUAD4 = (MQUAD4)**(0.5) ;
  1645.  
  1646. * NIVEAUX C ET/OU D
  1647. * ------------------
  1648. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'C' ) ;
  1649. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1650. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C' = TABLE ;
  1651.  
  1652. RCRIT1 = 1;
  1653. * équation sur les moments dus au poids
  1654. REG2 = REG2 + 1 ;
  1655. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ;
  1656. ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME1 ;
  1657. ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
  1658. ZTAB2.'SAMAX'.REG2 = 0 ;
  1659. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1660. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
  1661. ZTAB2.'D1d'.REG2 = 0. ;
  1662. ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
  1663. ZTAB2.'D22d'.REG2 = 0. ;
  1664. ZTAB2.'D1c'.REG2 = 0. ;
  1665. ZTAB2.'D21c'.REG2 = B2ASMEc1 ;
  1666. ZTAB2.'D22c'.REG2 = 0. ;
  1667.  
  1668. ZTAB2.MA.REG2 = MQUAD3 ;
  1669. 'SI' ( MAN1 'EGA' 0 ) ;
  1670. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1671. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1672. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sapoids' = TABLE ;
  1673. 'SINON' ;
  1674. ZTAB2.MB.REG2 = 0 ;
  1675. 'FINSI' ;
  1676.  
  1677. * équation sur les tous les moments
  1678. REG2 = REG2 + 1 ;
  1679. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ;
  1680. ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME1 ;
  1681. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1682. ZTAB2.'SAMAX'.REG2 = 0 ;
  1683. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1684. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
  1685. ZTAB2.'D1d'.REG2 = B1ASMEd1 ;
  1686. ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
  1687. ZTAB2.'D22d'.REG2 = 0. ;
  1688. ZTAB2.'D1c'.REG2 = B1ASMEc1 ;
  1689. ZTAB2.'D21c'.REG2 = B2ASMEc1 ;
  1690. ZTAB2.'D22c'.REG2 = 0. ;
  1691.  
  1692. ZTAB2.MA.REG2 = MQUAD4 ;
  1693. 'SI' ( MAN1 'EGA' 0 ) ;
  1694. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1695. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1696. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sa' = TABLE ;
  1697. 'SINON' ;
  1698. ZTAB2.MB.REG2 = 0 ;
  1699. 'FINSI' ;
  1700.  
  1701. 'FINSI' ;
  1702.  
  1703. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'D' ) ;
  1704. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1705. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D' = TABLE ;
  1706.  
  1707. RCRIT1 = 1;
  1708. * équation sur les moments dus au poids
  1709. REG2 = REG2 + 1 ;
  1710. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ;
  1711. ZTAB2.'S'.REG2 = 0.5 * SmASME1 ;
  1712. ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
  1713. ZTAB2.'SAMAX'.REG2 = 0 ;
  1714. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1715. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
  1716. ZTAB2.'D1d'.REG2 = 0. ;
  1717. ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
  1718. ZTAB2.'D22d'.REG2 = 0. ;
  1719. ZTAB2.'D1c'.REG2 = 0. ;
  1720. ZTAB2.'D21c'.REG2 = B2ASMEc1 ;
  1721. ZTAB2.'D22c'.REG2 = 0. ;
  1722.  
  1723. ZTAB2.MA.REG2 = MQUAD3 ;
  1724. 'SI' ( MAN1 'EGA' 0 ) ;
  1725. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1726. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1727. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sapoids' = TABLE ;
  1728. 'SINON' ;
  1729. ZTAB2.MB.REG2 = 0 ;
  1730. 'FINSI' ;
  1731.  
  1732. * équation sur les tous les moments
  1733. REG2 = REG2 + 1 ;
  1734. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ;
  1735. ZTAB2.'S'.REG2 = 4.5 * SmASME1 ;
  1736. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1737. ZTAB2.'SAMAX'.REG2 = 0 ;
  1738. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1739. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
  1740. ZTAB2.'D1d'.REG2 = B1ASMEd1 ;
  1741. ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
  1742. ZTAB2.'D22d'.REG2 = 0. ;
  1743. ZTAB2.'D1c'.REG2 = B1ASMEc1 ;
  1744. ZTAB2.'D21c'.REG2 = B2ASMEc1 ;
  1745. ZTAB2.'D22c'.REG2 = 0. ;
  1746.  
  1747. ZTAB2.MA.REG2 = MQUAD4 ;
  1748. 'SI' ( MAN1 'EGA' 0 ) ;
  1749. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1750. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1751. ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sa' = TABLE ;
  1752. 'SINON' ;
  1753. ZTAB2.MB.REG2 = 0 ;
  1754. 'FINSI' ;
  1755.  
  1756. 'FINSI' ;
  1757.  
  1758. 'SI' ( RCRIT1 'EGA' 0 ) ;
  1759. 'MESS' 'ERREUR CODENORM : ASME CLASSE 1' ;
  1760. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  1761. 'MESS' ' ';
  1762. IERR1 = 1 ;
  1763. 'FINSI' ;
  1764.  
  1765. 'FINSI' ;
  1766. *-fin classe 1
  1767.  
  1768. RCRIT1 = 0 ;
  1769.  
  1770. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2' ) ;
  1771. RCLASSE1 = 1 ;
  1772.  
  1773. * LES COEFFICIENTS DE CONTRAINTE
  1774. * ------------------------------
  1775. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1d' ) ;
  1776. B1ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B1d' ;
  1777. 'FINSI' ;
  1778.  
  1779. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2d' ) ;
  1780. B2ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B2d' ;
  1781. 'FINSI' ;
  1782.  
  1783. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1c' ) ;
  1784. B1ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B1c' ;
  1785. COEF51 = 0 ;
  1786. 'FINSI' ;
  1787.  
  1788. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2c' ) ;
  1789. B2ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B2c' ;
  1790. COEF52 = 0 ;
  1791. 'FINSI' ;
  1792.  
  1793. * ON DETERMINE Sm
  1794. * ---------------
  1795. 'SI' ( Fer1 'EGA' 1 ) ;
  1796. am1 = 1. / 3. ;
  1797. bu1 = 1. / 3. ;
  1798. ce1 = 2. / 3. ;
  1799. dy1 = 2. / 3. ;
  1800. 'FINSI' ;
  1801.  
  1802. 'SI' ( Auste1 'EGA' 1 ) ;
  1803. am1 = 1. / 3. ;
  1804. bu1 = 1. / 3. ;
  1805. ce1 = 2. / 3. ;
  1806. dy1 = 0.9 ;
  1807. 'FINSI' ;
  1808.  
  1809. LISTSM2 = PROG ;
  1810. LISTSM2 = LISTSM2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  1811. LISTSM2 = LISTSM2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  1812. SmASME2 = 'MINI' LISTSM2;
  1813. ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME2;
  1814.  
  1815. * CALCUL DES MOMENTS
  1816. * ------------------
  1817. MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ;
  1818. MQUAD3 = (MQUAD3)**(0.5) ;
  1819.  
  1820. MX4 = MX3 + ( 'ABS' MXs1 ) ;
  1821. MY4 = MY3 + ( 'ABS' MYs1 ) ;
  1822. MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
  1823. MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
  1824. MQUAD4 = (MQUAD4)**(0.5) ;
  1825.  
  1826. * NIVEAUX C ET/OU D
  1827. * ------------------
  1828. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'C' ) ;
  1829. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1830. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C' = TABLE ;
  1831.  
  1832. RCRIT1 = 1;
  1833. * équation sur les moments dus au poids
  1834. REG2 = REG2 + 1 ;
  1835. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ;
  1836. ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME2 ;
  1837. ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
  1838. ZTAB2.'SAMAX'.REG2 = 0 ;
  1839. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1840. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
  1841. ZTAB2.'D1d'.REG2 = 0. ;
  1842. ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
  1843. ZTAB2.'D22d'.REG2 = 0. ;
  1844. ZTAB2.'D1c'.REG2 = 0. ;
  1845. ZTAB2.'D21c'.REG2 = B2ASMEc2 ;
  1846. ZTAB2.'D22c'.REG2 = 0. ;
  1847.  
  1848. ZTAB2.MA.REG2 = MQUAD3 ;
  1849. 'SI' ( MAN1 'EGA' 0 ) ;
  1850. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1851. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1852. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sapoids' = TABLE ;
  1853. 'SINON' ;
  1854. ZTAB2.MB.REG2 = 0 ;
  1855. 'FINSI' ;
  1856.  
  1857. * équation sur les tous les moments
  1858. REG2 = REG2 + 1 ;
  1859. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ;
  1860. ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME2 ;
  1861. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1862. ZTAB2.'SAMAX'.REG2 = 0 ;
  1863. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1864. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
  1865. ZTAB2.'D1d'.REG2 = B1ASMEd2 ;
  1866. ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
  1867. ZTAB2.'D22d'.REG2 = 0. ;
  1868. ZTAB2.'D1c'.REG2 = B1ASMEc2 ;
  1869. ZTAB2.'D21c'.REG2 = B2ASMEc2 ;
  1870. ZTAB2.'D22c'.REG2 = 0. ;
  1871.  
  1872. ZTAB2.MA.REG2 = MQUAD4 ;
  1873. 'SI' ( MAN1 'EGA' 0 ) ;
  1874. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1875. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1876. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sa' = TABLE ;
  1877. 'SINON' ;
  1878. ZTAB2.MB.REG2 = 0 ;
  1879. 'FINSI' ;
  1880.  
  1881. 'FINSI' ;
  1882.  
  1883. 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'D' ) ;
  1884. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1885. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D' = TABLE ;
  1886.  
  1887. RCRIT1 = 1;
  1888. * équation sur les moments dus au poids
  1889. REG2 = REG2 + 1 ;
  1890. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ;
  1891. ZTAB2.'S'.REG2 = 0.5 * SmASME2 ;
  1892. ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
  1893. ZTAB2.'SAMAX'.REG2 = 0 ;
  1894. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1895. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
  1896. ZTAB2.'D1d'.REG2 = 0. ;
  1897. ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
  1898. ZTAB2.'D22d'.REG2 = 0. ;
  1899. ZTAB2.'D1c'.REG2 = 0. ;
  1900. ZTAB2.'D21c'.REG2 = B2ASMEc2 ;
  1901. ZTAB2.'D22c'.REG2 = 0. ;
  1902.  
  1903. ZTAB2.MA.REG2 = MQUAD3 ;
  1904. 'SI' ( MAN1 'EGA' 0 ) ;
  1905. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1906. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1907. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sapoids' = TABLE ;
  1908. 'SINON' ;
  1909. ZTAB2.MB.REG2 = 0 ;
  1910. 'FINSI' ;
  1911.  
  1912. * équation sur les tous les moments
  1913. REG2 = REG2 + 1 ;
  1914. ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ;
  1915. ZTAB2.'S'.REG2 = 4.5 * SmASME2 ;
  1916. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  1917. ZTAB2.'SAMAX'.REG2 = 0 ;
  1918. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  1919. ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
  1920. ZTAB2.'D1d'.REG2 = B1ASMEd2 ;
  1921. ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
  1922. ZTAB2.'D22d'.REG2 = 0. ;
  1923. ZTAB2.'D1c'.REG2 = B1ASMEc2 ;
  1924. ZTAB2.'D21c'.REG2 = B2ASMEc2 ;
  1925. ZTAB2.'D22c'.REG2 = 0. ;
  1926. ZTAB2.MA.REG2 = MQUAD4 ;
  1927.  
  1928. 'SI' ( MAN1 'EGA' 0 ) ;
  1929. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  1930. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  1931. ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sa' = TABLE ;
  1932. 'SINON' ;
  1933. ZTAB2.MB.REG2 = 0 ;
  1934. 'FINSI' ;
  1935.  
  1936. 'FINSI' ;
  1937.  
  1938. 'SI' ( RCRIT1 'EGA' 0 ) ;
  1939. 'MESS' 'ERREUR CODENORM : ASME CLASSE 2' ;
  1940. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE' ;
  1941. 'MESS' ' ';
  1942. IERR1 = 1 ;
  1943. 'FINSI' ;
  1944.  
  1945. 'FINSI' ;
  1946. *-fin classe 2
  1947.  
  1948. 'SI' ( RCLASSE1 'EGA' 0 ) ;
  1949. 'MESS' 'ERREUR CODENORM : ASME' ;
  1950. 'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ;
  1951. 'MESS' ' ' ;
  1952. IERR1 = 1 ;
  1953. 'FINSI' ;
  1954.  
  1955. 'FINSI' ;
  1956. *-FINSI-REGLEMENT-ASME-
  1957.  
  1958. RCLASSE1 = 0 ;
  1959. RCRIT1 = 0 ;
  1960. LOG1 = 0;
  1961. LOG2 = 0;
  1962.  
  1963. *----*
  1964. *ETCM*
  1965. *----*
  1966. 'SI' ( 'EXISTE' ZTABENT 'ETCM' ) ;
  1967. *-SI-ETCM-
  1968. RCOD1 = 1 ;
  1969. ZTABENT.'RESULTATS'.'ETCM' = table ;
  1970.  
  1971. 'SI' ( TOTAUX1 'EGA' 1) ;
  1972. 'MESS' 'ERREUR CODENORM :' ;
  1973. 'MESS' 'LES OPTIONS: MOMENT TOTAUX ET' ;
  1974. 'MESS' 'ETUDE REGLEMENTAIRE ETCM SONT INCOMPATIBLES' ;
  1975. 'MESS' ' ';
  1976. IERR1 = 1 ;
  1977. 'FINSI' ;
  1978.  
  1979. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'ALPHA' ) ;
  1980. * VALEUR PAR DEFAUT = 1
  1981. alpha2 = ZTABENT.'ETCM'.'ALPHA' ;
  1982. LOG1 = 1;
  1983. 'FINSI' ;
  1984.  
  1985. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'AMORTIS' ) ;
  1986. D2 = ZTABENT.'ETCM'.'AMORTIS' ;
  1987. LOG2 = 1;
  1988. alpha2=( 10 / D2 )**0.5 ;
  1989.  
  1990. 'SI'(alpha2 '<' 1 ) ;
  1991. alpha2 = 1 ;
  1992. 'FINSI' ;
  1993.  
  1994. 'SI'(alpha2 '>' 2 ) ;
  1995. alpha2 = 2 ;
  1996. 'FINSI' ;
  1997. ZTABENT.'RESULTATS'.'ETCM'.'ALPHA' = alpha2 ;
  1998. 'FINSI' ;
  1999.  
  2000. LOG3 = LOG1 + LOG2 ;
  2001. 'SI' (LOG3 'EGA' 2 ) ;
  2002. 'MESS' 'ERREUR CODENORM : ETCM' ;
  2003. 'MESS' 'ON NE PEUT PAS FOURNIR L AMORTISSEMENT ET' ;
  2004. 'MESS' 'LE COEFFICIENT DE REDUCTION alpha EM MEME TEMPS' ;
  2005. 'MESS' ' ';
  2006. IERR1 = 1 ;
  2007. 'FINSI' ;
  2008.  
  2009. *CLASSE 2
  2010. *--------
  2011. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2' ) ;
  2012. RCLASSE1 = 1;
  2013.  
  2014. * LES COEFFICIENTS DE CONTRAINTE
  2015. * ------------------------------
  2016. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1d' ) ;
  2017. B1ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B1d' ;
  2018. 'FINSI' ;
  2019.  
  2020. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2d' ) ;
  2021. B2ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B2d' ;
  2022. 'FINSI' ;
  2023.  
  2024. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1c' ) ;
  2025. B1ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B1c' ;
  2026. 'FINSI' ;
  2027.  
  2028. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2c' ) ;
  2029. B2ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B2c' ;
  2030. COEF6 = 0 ;
  2031. 'FINSI' ;
  2032.  
  2033. * ON DETERMINE Sh
  2034. * ---------------
  2035. 'SI' ( Fer1 'EGA' 1 ) ;
  2036. am1 = 1. / 4. ;
  2037. bu1 = 1. / 4. ;
  2038. ce1 = 2. / 3. ;
  2039. dy1 = 2. / 3. ;
  2040. 'FINSI' ;
  2041.  
  2042. 'SI' ( Auste1 'EGA' 1 ) ;
  2043. am1 = 1. / 4. ;
  2044. bu1 = 1. / 4. ;
  2045. ce1 = 2. / 3. ;
  2046. dy1 = 0.9 ;
  2047. 'FINSI' ;
  2048.  
  2049. LISTSH2 = PROG ;
  2050. LISTSH2 = LISTSH2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  2051. LISTSH2 = LISTSH2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  2052. ShETCM2 = 'MINI' LISTSH2;
  2053. ZTABENT.'RESULTATS'.'ETCM'.'Sh' = ShETCM2;
  2054.  
  2055. * CALCUL DES MOMENTS
  2056. * ------------------
  2057. MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
  2058. MQUADp1 = (MQUADp1)**(0.5) ;
  2059. MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
  2060. MQUADs1 = (MQUADs1)**(0.5) ;
  2061. MQUAD51 = MQUADp1 + MQUADs1 ;
  2062. MQUAD52 = MQUADp1 + ( MQUADs1 / alpha2 ) ;
  2063.  
  2064. * CALCUL DES CONTRAINTES LIMITES DU REGLEMENT ETCM
  2065. LOG1 = PROG ;
  2066. LOG1 = LOG1 'ET' ( PROG ( 2.25 * ShETCM2 ) ) ;
  2067. LOG1 = LOG1 'ET' ( PROG ( 1.8 * Sy1 ) ) ;
  2068. LOG2 = 'MINI' LOG1 ;
  2069.  
  2070. LOG3 = PROG ;
  2071. LOG3 = LOG3 'ET' ( PROG ( 3. * ShETCM2 ) ) ;
  2072. LOG3 = LOG3 'ET' ( PROG ( 2. * Sy1 ) ) ;
  2073. LOG4 = 'MINI' LOG3 ;
  2074.  
  2075. * NIVEAUX C ET/OU D
  2076. * ------------------
  2077. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'C' ) ;
  2078. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2079. ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C' = TABLE ;
  2080.  
  2081. RCRIT1 = 1;
  2082. REG2 = REG2 + 1 ;
  2083. ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_C' ;
  2084. ZTAB2.'S'.REG2 = LOG2 ;
  2085. ZTAB2.'Sanom'.REG2 = 'Sac' ;
  2086. ZTAB2.'SAMAX'.REG2 = 0 ;
  2087. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  2088. ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_C' ;
  2089. ZTAB2.'D1d'.REG2 = B1ETCMd2 ;
  2090. ZTAB2.'D21d'.REG2 = B2ETCMd2 ;
  2091. ZTAB2.'D22d'.REG2 = 0. ;
  2092. ZTAB2.'D1c'.REG2 = B1ETCMc2 ;
  2093. ZTAB2.'D21c'.REG2 = B2ETCMc2 ;
  2094. ZTAB2.'D22c'.REG2 = 0. ;
  2095.  
  2096. ZTAB2.MA.REG2 = MQUAD51 ;
  2097. 'SI' ( MAN1 'EGA' 0 ) ;
  2098. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  2099. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2100. ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C'.'Sac' = TABLE ;
  2101. 'SINON' ;
  2102. ZTAB2.MB.REG2 = 0 ;
  2103. 'FINSI' ;
  2104.  
  2105. 'FINSI' ;
  2106.  
  2107. 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'D' ) ;
  2108. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2109. ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D' = TABLE ;
  2110.  
  2111. RCRIT1 = 1;
  2112. REG2 = REG2 + 1 ;
  2113. ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_D' ;
  2114. ZTAB2.'S'.REG2 = LOG4 ;
  2115. ZTAB2.'Sanom'.REG2 = 'Sad' ;
  2116. ZTAB2.'SAMAX'.REG2 = 0 ;
  2117. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  2118. ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_D' ;
  2119. ZTAB2.'D1d'.REG2 = B1ETCMd2 ;
  2120. ZTAB2.'D21d'.REG2 = B2ETCMd2 ;
  2121. ZTAB2.'D22d'.REG2 = 0. ;
  2122. ZTAB2.'D1c'.REG2 = B1ETCMc2 ;
  2123. ZTAB2.'D21c'.REG2 = B2ETCMc2 ;
  2124. ZTAB2.'D22c'.REG2 = 0. ;
  2125.  
  2126. ZTAB2.MA.REG2 = MQUAD52 ;
  2127. 'SI' ( MAN1 'EGA' 0 ) ;
  2128. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  2129. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2130. ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D'.'Sad' = TABLE ;
  2131. 'SINON' ;
  2132. ZTAB2.MB.REG2 = 0 ;
  2133. 'FINSI' ;
  2134.  
  2135. 'FINSI' ;
  2136.  
  2137. 'SI' ( RCRIT1 'EGA' 0 ) ;
  2138. 'MESS' 'ERREUR CODENORM : ETCM CLASSE 2' ;
  2139. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  2140. 'MESS' ' ';
  2141. IERR1 = 1 ;
  2142. 'FINSI' ;
  2143.  
  2144. 'FINSI' ;
  2145. *-fin classe 2
  2146.  
  2147. 'SI' ( RCLASSE1 'EGA' 0 ) ;
  2148. 'MESS' 'ERREUR CODENORM : ETCM' ;
  2149. 'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ;
  2150. 'MESS' ' ' ;
  2151. IERR1 = 1 ;
  2152. 'FINSI' ;
  2153.  
  2154. 'FINSI' ;
  2155. *-FINSI-REGLEMENT-ETCM-
  2156.  
  2157. RCLASSE1 = 0 ;
  2158. RCRIT1 = 0 ;
  2159.  
  2160. LOG1 = 0;
  2161. LOG2 = 0;
  2162.  
  2163. *EMSI
  2164. *-----
  2165. 'SI' ( 'EXISTE' ZTABENT 'EMSI' ) ;
  2166. *-SI EMSI-
  2167. RCOD1 = 1;
  2168. ZTABENT.'RESULTATS'.'EMSI' = table;
  2169.  
  2170. 'SI' ( TOTAUX1 'EGA' 1) ;
  2171. 'MESS' 'ERREUR CODENORM : LES OPTIONS: MOMENT TOTAUX ET' ;
  2172. 'MESS' 'ETUDE REGLEMENTAIRE EMSI SONT INCOMPATIBLES' ;
  2173. 'MESS' ' ';
  2174. IERR1 = 1 ;
  2175. 'FINSI' ;
  2176.  
  2177. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'s' ) ;
  2178. * valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1
  2179. s1 = ZTABENT.'EMSI'.'s' ;
  2180. LOG1 = 1;
  2181. 'FINSI' ;
  2182.  
  2183. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'AMORTIS' ) ;
  2184. D3 = ZTABENT.'EMSI'.'AMORTIS' ;
  2185. LOG2 = 1;
  2186. 'SI'(D3 '>' 2 ) ;
  2187. s1 = 1 ;
  2188. 'FINSI' ;
  2189. ZTABENT.'RESULTATS'.'EMSI'.'s' = s1 ;
  2190. 'FINSI' ;
  2191.  
  2192. LOG3 = LOG1 + LOG2 ;
  2193. 'SI' (LOG3 'EGA' 2 ) ;
  2194. 'MESS' 'ERREUR CODENORM : EMSI' ;
  2195. 'MESS' 'ON NE PEUT PAS FOURNIR L AMORTISSEMENT ET' ;
  2196. 'MESS' 'LE COEFFICIENT DE REDUCTION s EM MEME TEMPS' ;
  2197. 'MESS' ' ';
  2198. IERR1 = 1 ;
  2199. 'FINSI' ;
  2200.  
  2201. *CLASSE 1
  2202. *--------
  2203. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1' ) ;
  2204. RCLASSE1 = 1;
  2205.  
  2206. * LES COEFFICIENTS DE CONTRAINTE
  2207. * ------------------------------
  2208. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1d' ) ;
  2209. B1EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B1d' ;
  2210. 'FINSI' ;
  2211.  
  2212. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2d' ) ;
  2213. B2EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B2d' ;
  2214. 'FINSI' ;
  2215.  
  2216. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1c' ) ;
  2217. B1EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B1c' ;
  2218. 'FINSI' ;
  2219.  
  2220. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2c' ) ;
  2221. B2EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B2c' ;
  2222. COEF7 = 0 ;
  2223. 'FINSI' ;
  2224.  
  2225. *ON DETERMINE Sm
  2226. *---------------
  2227. 'SI' ( Fer1 'EGA' 1 ) ;
  2228. am1 = 1. / 3. ;
  2229. bu1 = 1. / 3. ;
  2230. ce1 = 2. / 3. ;
  2231. dy1 = 2. / 3. ;
  2232. 'FINSI' ;
  2233.  
  2234. 'SI' ( Auste1 'EGA' 1 ) ;
  2235. am1 = 1. / 3. ;
  2236. bu1 = 1. / 3. ;
  2237. ce1 = 2. / 3. ;
  2238. dy1 = 0.9 ;
  2239. 'FINSI' ;
  2240.  
  2241. LISTSM1 = PROG ;
  2242. LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
  2243. LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
  2244. SmEMSI1 = 'MINI' LISTSM1;
  2245. ZTABENT.'RESULTATS'.'EMSI'.'Sm' = SmEMSI1;
  2246.  
  2247. * CALCUL DES MOMENTS
  2248. * ------------------
  2249. MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
  2250. MQUADp1 = (MQUADp1)**(0.5) ;
  2251. MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
  2252. MQUADs1 = (MQUADs1)**(0.5) ;
  2253. MQUAD6 = MQUADp1 + ( MQUADs1 / s1 ) ;
  2254.  
  2255. * NIVEAUX C ET/OU D
  2256. * ------------------
  2257. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'C' ) ;
  2258. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2259. ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C' = TABLE ;
  2260.  
  2261. RCRIT1 = 1;
  2262. REG2 = REG2 + 1 ;
  2263. ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_C' ;
  2264. ZTAB2.'S'.REG2 = 1.9 * SmEMSI1 ;
  2265. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  2266. ZTAB2.'SAMAX'.REG2 = 0 ;
  2267. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  2268. ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_C' ;
  2269. ZTAB2.'D1d'.REG2 = B1EMSId1 ;
  2270. ZTAB2.'D21d'.REG2 = B2EMSId1 ;
  2271. ZTAB2.'D22d'.REG2 = 0. ;
  2272. ZTAB2.'D1c'.REG2 = B1EMSIc1 ;
  2273. ZTAB2.'D21c'.REG2 = B2EMSIc1 ;
  2274. ZTAB2.'D22c'.REG2 = 0. ;
  2275.  
  2276. ZTAB2.MA.REG2 = MQUAD6 ;
  2277. 'SI' ( MAN1 'EGA' 0 ) ;
  2278. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  2279. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2280. ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C'.'Sa' = TABLE ;
  2281. 'SINON' ;
  2282. ZTAB2.MB.REG2 = 0 ;
  2283. 'FINSI' ;
  2284. 'FINSI' ;
  2285.  
  2286. 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'D' ) ;
  2287. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2288. ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D' = TABLE ;
  2289. RCRIT1 = 1;
  2290.  
  2291. * EQUATION POUR LES PARTIES DROITES ET LES COUDES
  2292. REG2 = REG2 + 1 ;
  2293. ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ;
  2294. ZTAB2.'S'.REG2 = 3. * SmEMSI1 ;
  2295. ZTAB2.'Sanom'.REG2 = 'Sa' ;
  2296. ZTAB2.'SAMAX'.REG2 = 0 ;
  2297. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  2298. ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ;
  2299. ZTAB2.'D1d'.REG2 = B1EMSId1 ;
  2300. ZTAB2.'D21d'.REG2 = B2EMSId1 ;
  2301. ZTAB2.'D22d'.REG2 = 0. ;
  2302. ZTAB2.'D1c'.REG2 = B1EMSIc1 ;
  2303. ZTAB2.'D21c'.REG2 = B2EMSIc1 ;
  2304. ZTAB2.'D22c'.REG2 = 0. ;
  2305.  
  2306. ZTAB2.MA.REG2 = MQUAD6 ;
  2307. 'SI' ( MAN1 'EGA' 0 ) ;
  2308. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  2309. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2310. ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sa' = TABLE ;
  2311. 'SINON' ;
  2312. ZTAB2.MB.REG2 = 0 ;
  2313. 'FINSI' ;
  2314.  
  2315. * EQUATION POUR LES PARTIES DROITES SEULEMENT
  2316. REG2 = REG2 + 1 ;
  2317. ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ;
  2318. ZTAB2.'S'.REG2 = 2.5 * SmEMSI1 ;
  2319. ZTAB2.'Sanom'.REG2 = 'Sapdroite' ;
  2320. ZTAB2.'SAMAX'.REG2 = 0 ;
  2321. ZTAB2.'NUMZMAX'.REG2 = 0 ;
  2322. ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ;
  2323. ZTAB2.'D1d'.REG2 = 0. ;
  2324. ZTAB2.'D21d'.REG2 = B2EMSId1 ;
  2325. ZTAB2.'D22d'.REG2 = 0. ;
  2326. ZTAB2.'D1c'.REG2 = 0. ;
  2327. ZTAB2.'D21c'.REG2 = 0. ;
  2328. ZTAB2.'D22c'.REG2 = 0. ;
  2329.  
  2330. ZTAB2.MA.REG2 = MQUAD6 ;
  2331. 'SI' ( MAN1 'EGA' 0 ) ;
  2332. ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
  2333. * DECLARATION D'UNE SOUS TABLE DE RESULTATS
  2334. ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sapdroite' = TABLE ;
  2335. 'SINON' ;
  2336. ZTAB2.MB.REG2 = 0 ;
  2337. 'FINSI' ;
  2338. 'FINSI' ;
  2339.  
  2340. 'SI' ( RCRIT1 'EGA' 0 ) ;
  2341. 'MESS' 'ERREUR CODENORM : EMSI CLASSE 1' ;
  2342. 'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ;
  2343. 'MESS' ' ';
  2344. IERR1 = 1 ;
  2345. 'FINSI' ;
  2346.  
  2347. 'FINSI' ;
  2348. *-fin classe 1
  2349.  
  2350. 'SI' ( RCLASSE1 'EGA' 0 ) ;
  2351. 'MESS' 'ERREUR CODENORM : EMSI' ;
  2352. 'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ;
  2353. 'MESS' ' ' ;
  2354. IERR1 = 1 ;
  2355. 'FINSI' ;
  2356.  
  2357. 'FINSI' ;
  2358. *-FINSI-EMSI-REGLEMENT
  2359.  
  2360. *REGLEMENTS
  2361. *----------
  2362.  
  2363. 'SI' ( RCOD1 'EGA' 0 ) ;
  2364. 'MESS' 'ERREUR CODENORM : AUCUN REGLEMENT N A ETE DEFINIE DANS LA' ;
  2365. 'MESS' 'TABLE D ENTREE POUR REALISER L ANALYSE REGLEMENTAIRE' ;
  2366. 'MESS' ' ';
  2367. IERR1 = 1 ;
  2368. 'FINSI' ;
  2369.  
  2370.  
  2371. ************************************************
  2372. * GESTION DES ERREURS SUR LES DONNEES D'ENTREE *
  2373. ************************************************
  2374. 'SI' ( IERR1 'EGA' 1 ) ;
  2375. 'MESS' ' ';
  2376. 'MESS' '***************************************' ;
  2377. 'MESS' '* ARRET DE LA PROCEDURE CODENORM *' ;
  2378. 'MESS' '* UNE OU PLUSIEURS ERREURS ONT ETE *' ;
  2379. 'MESS' '* DETECTEES DANS LES DONNEES D ENTREE *' ;
  2380. 'MESS' '***************************************' ;
  2381. 'FIN' ;
  2382. 'FINSI' ;
  2383.  
  2384. *******************************************************************************
  2385. *\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*
  2386. *******************************************************************************
  2387.  
  2388. *COMPTEURS DE BOUCLE
  2389. izone1 = 0 ;
  2390. ireg1 = 0 ;
  2391.  
  2392. *COMPTEURS
  2393. imodel2 = 0 ;
  2394. imail3 = 0 ;
  2395.  
  2396. * *********************************************************
  2397. * * BOUCLE GENERALE SUR LES DIFFERENTES ZONES DE LA LIGNE *
  2398. * *********************************************************
  2399. ***************************
  2400. 'REPETER' BOUCLE1 DIMZONE2;
  2401. ***************************
  2402. imodel2 = 2 * izone1 + 1 ;
  2403. izone1 = izone1 + 1 ;
  2404. imail3 = imodel2 + 1 ;
  2405.  
  2406. *SI CALCUL AUTOMATIQUE
  2407. 'SI' ( MAN1 'EGA' 0 ) ;
  2408.  
  2409. PARTDTE = 0;
  2410. COUDE = 0;
  2411.  
  2412. 'MESS' ' ' ;
  2413. 'MESS' ' ***************************************' ;
  2414. 'MESS' ' * ETUDE DE LA ZONE' izone1 'DE LA LIGNE *' ;
  2415. 'MESS' ' ***************************************' ;
  2416. 'MESS' ' ' ;
  2417.  
  2418. * SOUS-MODELE DE LA ZONE TRAITEE
  2419. * ------------------------------
  2420. 'MESS' 'DE MODELE:' ;
  2421. ZMOD1 = ZONMOMA1.imodel2 ;
  2422. ZTABENT.'RESULTATS'.'MODL'.izone1 = ZMOD1 ;
  2423. LIST ZMOD1 ;
  2424.  
  2425. * SOUS-MAILLAGE DE LA ZONE TRAITEE
  2426. * --------------------------------
  2427. 'MESS' 'DE MAILLAGE:' ;
  2428. ZMAIL1 = ZONMOMA1.imail3 ;
  2429. ZTABENT.'RESULTATS'.'MAIL'.izone1 = ZMAIL1 ;
  2430. LIST ZMAIL1 ;
  2431.  
  2432. 'MESS' ' ' ;
  2433.  
  2434. * ON REDUIT LES CARACTERISTIQUES A LA ZONE ETUDIEE
  2435. * ------------------------------------------------
  2436. redcar1 = 'REDU' CARACT1 ZMOD1 ;
  2437.  
  2438. * TEST SUR LA NATURE DE LA ZONE : PARTIE DROITE, COUDE
  2439. * ----------------------------------------------------
  2440. TESTRCO1 = 'EXIST' redcar1 'RACO' ;
  2441. 'SI' ( TESTRCO1 ) ;
  2442. COUDE = 1 ;
  2443. ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'COUDE' ;
  2444. 'MESS' 'CETTE ZONE EST UN COUDE' ;
  2445. 'SINON' ;
  2446. PARTDTE = 1;
  2447. ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'ZONE DROITE' ;
  2448. 'MESS' 'CETTE ZONE EST UNE PARTIE DROITE' ;
  2449. 'FINSI' ;
  2450.  
  2451. * TEST LA PRESENCE DE LA PRESSION, DU RAYON EXTERIEUR,
  2452. * DE L'EPAISSEUR DANS LES CARACTERISTIQUES DE LA ZONE
  2453. * ----------------------------------------------------
  2454. TESTRAY1 = 'EXIST' redcar1 'RAYO' ;
  2455. 'SI' ( 'NON' TESTRAY1 ) ;
  2456. 'MESS' 'ERREUR CODENORM :' ;
  2457. 'MESS' 'DANS LA RECHERCHE AUTOMATIQUE, ON NE TROUVE PAS' ;
  2458. 'MESS' 'LE RAYON EXTERIEUR DANS LES CARACTERISTIQUES' ;
  2459. 'MESS' ' ';
  2460. 'FIN';
  2461. 'FINSI' ;
  2462.  
  2463. TESTEPA1 = 'EXIST' redcar1 'EPAI' ;
  2464. 'SI' ( 'NON' TESTEPA1 ) ;
  2465. 'MESS' 'ERREUR CODENORM :' ;
  2466. 'MESS' 'DANS LA RECHERCHE AUTOMATIQUE, ON NE TROUVE PAS' ;
  2467. 'MESS' 'L EPAISSEUR DANS LES CARACTERISTIQUES' ;
  2468. 'MESS' ' ';
  2469. 'FIN';
  2470. 'FINSI' ;
  2471.  
  2472. TESTPRE1 = 'EXIST' redcar1 'PRES' ;
  2473.  
  2474. * MODE AUTOMATIQUE, RECUPERATION DE DONNEES
  2475. * -----------------------------------------
  2476.  
  2477. *RECUPERATION DU RAYON EXTERIEUR
  2478. Rext1 = 'EXCO' RAYO redcar1 ;
  2479. Rext1 = 'EXTR' Rext1 RAYO 1 1 1 ;
  2480. ZTABENT.'RESULTATS'.'RAYON'.izone1 = Rext1 ;
  2481.  
  2482. *RECUPERATION DU RAYON DE COURBURE
  2483. 'SI' ( COUDE 'EGA' 1 ) ;
  2484. Rcmc1 = 'EXCO' RACO redcar1 ;
  2485. Rcmc1 = 'EXTR' Rcmc1 RACO 1 1 1 ;
  2486. ZTABENT.'RESULTATS'.'RCOURB'.izone1 = Rcmc1 ;
  2487. 'FINSI' ;
  2488.  
  2489. *RECUPERATION DE L'EPAISSEUR
  2490. e1 = 'EXCO' EPAI redcar1 ;
  2491. e1 = 'EXTR' e1 EPAI 1 1 1 ;
  2492. ZTABENT.'RESULTATS'.'EPAISSEUR'.izone1 = e1 ;
  2493.  
  2494. *RECUPERATION DE LA PRESSION
  2495. 'SI' ( TESTPRE1 ) ;
  2496. Pres1 = 'EXCO' PRES redcar1 ;
  2497. Pres1 = 'EXTR' Pres1 PRES 1 1 1 ;
  2498. ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ;
  2499. 'SINON' ;
  2500. 'MESS' 'VALEUR PAR DEFAUT DE LA PRESSION = 0' ;
  2501. Pres1 = 0 ;
  2502. ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ;
  2503. 'FINSI' ;
  2504.  
  2505. 'FINSI' ;
  2506. *FINSI AUTOMATIQUE
  2507.  
  2508. *******************************************
  2509. * CALCUL DE (De) (I) (Z) (f) POUR LA ZONE *
  2510. *******************************************
  2511.  
  2512. ********************************
  2513. * CALCUL DU DIAMETRE EXTERIEUR *
  2514. ********************************
  2515. Dext1 = 2 * Rext1 ;
  2516.  
  2517. *************************
  2518. * CALCUL DU RAYON MOYEN *
  2519. *************************
  2520. Rmoy1= ( Dext1 - e1 ) / 2. ;
  2521.  
  2522. ********************************************
  2523. * CALCUL DU RAYON ET DU DIAMETRE INTERIEUR *
  2524. ********************************************
  2525. Rint1 = Rext1 - e1 ;
  2526. Dint1 = 2 * Rint1 ;
  2527. tpo = ( PI / 64. ) ;
  2528.  
  2529. *********************************
  2530. * CALCUL DU MOMENT D'INETIE (I) *
  2531. *********************************
  2532. In1 = tpo * ( ( (Dext1)**4 ) - ( (Dint1)**4 ) ) ;
  2533.  
  2534. **********************************
  2535. * CALCUL DU MODULE D'INETIE (Z) *
  2536. **********************************
  2537. Z1 = ( 2. * In1 ) / Dext1 ;
  2538.  
  2539. *SI CALCUL AUTOMATIQUE
  2540. 'SI' ( MAN1 'EGA' 0 ) ;
  2541. ZTABENT.'RESULTATS'.'I'.izone1 = In1 ;
  2542. ZTABENT.'RESULTATS'.'Z'.izone1 = Z1 ;
  2543. 'FINSI' ;
  2544. *FINSI AUTOMATIQUE
  2545.  
  2546. *SI CALCUL MANUEL
  2547. 'SI' ( MAN1 'EGA' 1 ) ;
  2548. ZTABENT.'RESULTATS'.'I' = In1 ;
  2549. ZTABENT.'RESULTATS'.'Z' = Z1 ;
  2550. 'FINSI' ;
  2551. *FINSI MANUEL
  2552.  
  2553. ***************************
  2554. * CALCUL DU COEFFICIENT f *
  2555. ***************************
  2556.  
  2557. f1 = ( e1 * Rcmc1 ) / ( Rmoy1**2 ) ;
  2558.  
  2559. *SI CALCUL AUTOMATIQUE
  2560. 'SI' ( MAN1 'EGA' 0 ) ;
  2561. ZTABENT.'RESULTATS'.'COEF_COUDE'.izone1 = f1 ;
  2562. 'FINSI' ;
  2563. *FINSI AUTOMATIQUE
  2564.  
  2565. *SI CALCUL MANUEL
  2566. 'SI' ( MAN1 'EGA' 1 ) ;
  2567. ZTABENT.'RESULTATS'.'COEF_COUDE' = f1 ;
  2568. 'FINSI' ;
  2569. *FINSI MANUEL
  2570.  
  2571. **********
  2572. * CALCUL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2573. **********
  2574.  
  2575. * ***************************************************
  2576. * * BOUCLE GENERALE SUR LES DIFFERENTES REGLEMENTS *
  2577. * ***************************************************
  2578.  
  2579. ireg1 = 0 ;
  2580. ***************************
  2581. 'REPETER' BOUCLE2 REG2;
  2582. ***************************
  2583. ireg1 = ireg1 + 1 ;
  2584.  
  2585. NOM1 = ZTAB2.'NOMRMAX'.ireg1 ;
  2586. NOM2 = ZTAB2.'Sanom'.ireg1 ;
  2587.  
  2588. *COEFFICIENTS DE CONTRAINTES DEPENDANT
  2589. *DE LA GEOMETRIE DE LA ZONE
  2590.  
  2591. 'SI' ( PARTDTE 'EGA' 1 ) ;
  2592. **********
  2593. * RCC-MR *
  2594. **********
  2595. *Pour le calcul de Sigm+Sigb
  2596. 'SI' ( 'EGA' NOM1 'RCCMR' ) ;
  2597. 'SI' ( 'EGA' NOM2 'SigmSigb' ) ;
  2598. 'SI' ( COEF31 'EGA' 1 ) ;
  2599. deno1 = ( Dext1 / e1 ) ;
  2600. ZTAB2.'D22d'.ireg1 = 0.35 * ( deno1**( 1. / 3. ) ) ;
  2601. 'FINSI' ;
  2602. 'FINSI' ;
  2603. 'FINSI' ;
  2604.  
  2605. D1 = ZTAB2.'D1d'.ireg1 ;
  2606. D21 = ZTAB2.'D21d'.ireg1 ;
  2607. D22 = ZTAB2.'D22d'.ireg1 ;
  2608. 'FINSI' ;
  2609.  
  2610. LOG4 = 0 ;
  2611. 'SI' ( COUDE 'EGA' 1 ) ;
  2612.  
  2613. 'SI' ( 'EGA' NOM2 'Sapdroite' ) ;
  2614. LOG4 = 1 ;
  2615. 'FINSI' ;
  2616.  
  2617. *****************
  2618. * RCCM CLASSE 1 *
  2619. *****************
  2620.  
  2621. LOG1 = ( 'EGA' NOM1 'RCCM_CLASSE_1_C' ) ;
  2622. LOG2 = ( 'EGA' NOM1 'RCCM_CLASSE_1_D' ) ;
  2623. LOG3 = 'OU' LOG1 LOG2 ;
  2624.  
  2625. 'SI' ( LOG3 ) ;
  2626. 'SI' ( COEF1 'EGA' 1 ) ;
  2627. ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ;
  2628. 'FINSI' ;
  2629. 'FINSI' ;
  2630.  
  2631. *****************
  2632. * RCCM CLASSE 2 *
  2633. *****************
  2634. 'SI' ( 'EGA' NOM1 'RCCM_CLASSE_2' ) ;
  2635. 'SI' ( COEF2 'EGA' 1 ) ;
  2636. ZTAB2.'D21c'.ireg1 = 0.675 * ( f1**( -2. / 3. ) );
  2637. 'FINSI' ;
  2638. 'FINSI' ;
  2639.  
  2640. **********
  2641. * RCC-MR *
  2642. **********
  2643. *Pour le calcul de Pm+Pb
  2644. 'SI' ( 'EGA' NOM1 'RCCMR' ) ;
  2645.  
  2646. 'SI' ( 'EGA' NOM2 'PmPb' ) ;
  2647. 'SI' ( COEF32 'EGA' 1 ) ;
  2648. ZTAB2.'D1c'.ireg1 = ( 0.4 * f1 ) - 0.1 ;
  2649. ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
  2650. ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;
  2651. 'FINSI' ;
  2652.  
  2653. 'SI' ( COEF33 'EGA' 1 ) ;
  2654. ZTAB2.'D22c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
  2655. 'FINSI' ;
  2656. 'FINSI' ;
  2657.  
  2658. *Pour le calcul de Sigm+Sigb
  2659.  
  2660. 'SI' ( 'EGA' NOM2 'SigmSigb' ) ;
  2661. 'SI' ( COEF34 'EGA' 1 ) ;
  2662. gpa1 = ( Pi / anglec1 )**(-0.4) ;
  2663. deno2 = 2. * e1 * f1 *Sy1 ;
  2664. gpa1 = gpa1 / ( 1. + ( 0.7 * Pres1 * ( Dext1 / deno2 ) ) ) ;
  2665. ZTAB2.'D22c'.ireg1 = 1.6 * ( gpa1 * ( f1**( -2. / 3. ) ) ) ;
  2666. 'FINSI' ;
  2667. 'FINSI' ;
  2668.  
  2669. 'FINSI' ;
  2670.  
  2671. ******************
  2672. * ASME CLASSE 1 *
  2673. ******************
  2674.  
  2675. 'SI' ( 'EGA' NOM1 'ASME_CLASSE_1' ) ;
  2676.  
  2677. 'SI' ( 'EGA' NOM2 'Sa' ) ;
  2678. 'SI' ( COEF41 'EGA' 1 ) ;
  2679. ZTAB2.'D1c'.ireg1 = 0.4 * f1 - 0.1 ;
  2680. ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
  2681. ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;
  2682. 'FINSI' ;
  2683. 'FINSI' ;
  2684.  
  2685. 'SI' ( COEF42 'EGA' 1 ) ;
  2686. ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
  2687. 'FINSI' ;
  2688.  
  2689. 'FINSI' ;
  2690.  
  2691. ******************
  2692. * ASME CLASSE 2 *
  2693. ******************
  2694.  
  2695. 'SI' ( 'EGA' NOM1 'ASME_CLASSE_2' ) ;
  2696.  
  2697. 'SI' ( 'EGA' NOM2 'Sa' ) ;
  2698. 'SI' ( COEF51 'EGA' 1 ) ;
  2699. ZTAB2.'D1c'.ireg1 = 0.4 * f1 - 0.1 ;
  2700. ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
  2701. ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;
  2702. 'FINSI' ;
  2703. 'FINSI' ;
  2704.  
  2705. 'SI' ( COEF52 'EGA' 1 ) ;
  2706. ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
  2707. 'FINSI' ;
  2708.  
  2709. 'FINSI' ;
  2710.  
  2711. *********
  2712. * ETCM *
  2713. *********
  2714. LOG1 = ( 'EGA' NOM1 'ETCM_CLASSE_2_C' ) ;
  2715. LOG2 = ( 'EGA' NOM1 'ETCM_CLASSE_2_D' ) ;
  2716. LOG3 = 'OU' LOG1 LOG2 ;
  2717.  
  2718. 'SI' ( LOG3 ) ;
  2719. 'SI' ( COEF6 'EGA' 1 ) ;
  2720. ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ;
  2721. 'FINSI' ;
  2722. 'FINSI' ;
  2723.  
  2724. *********
  2725. * EMSI *
  2726. *********
  2727. LOG1 = ( 'EGA' NOM1 'EMSI_CLASSE_1_C' ) ;
  2728. LOG2 = ( 'EGA' NOM1 'EMSI_CLASSE_1_D' ) ;
  2729. LOG3 = 'OU' LOG1 LOG2 ;
  2730.  
  2731. 'SI' ( LOG3 ) ;
  2732. 'SI' ( COEF7 'EGA' 1 ) ;
  2733. ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ;
  2734. 'FINSI' ;
  2735. 'FINSI' ;
  2736.  
  2737. *
  2738. *
  2739. 'SI' ( ZTAB2.'D21c'.ireg1 '<' 1. ) ;
  2740. ZTAB2.'D21c'.ireg1 = 1. ;
  2741. 'FINSI' ;
  2742.  
  2743. D1 = ZTAB2.'D1c'.ireg1 ;
  2744. D21 = ZTAB2.'D21c'.ireg1 ;
  2745. D22 = ZTAB2.'D22c'.ireg1 ;
  2746. 'FINSI' ;
  2747.  
  2748. *******************************
  2749. *RCCM CLASSE 1 ET EMSI CLASSE 1
  2750. *L'EQUATION POUR LES PARTIES DROITES SEULES DANS
  2751. *LE CAS D'UN COUDE N'EST PAS TRAITE ==> LOG3=1
  2752.  
  2753. 'SI' ( LOG4 'EGA' 0 ) ;
  2754.  
  2755. *CALCUL DE SA
  2756. *------------
  2757. SA1 = 0 ;
  2758. SA2 = 0 ;
  2759. SA3 = 0 ;
  2760. SA4 = 0 ;
  2761.  
  2762. RCN = ZTAB2.'RCN'.ireg1 ;
  2763. Sanom = ZTAB2.'Sanom'.ireg1 ;
  2764. S = ZTAB2.'S'.ireg1 ;
  2765.  
  2766.  
  2767. * INTITULE DU REGLEMENT TRAITE
  2768. 'MESS' ' ' ;
  2769. 'MESS' ' *******************' ;
  2770. 'MESS' ' * ' RCN ' *' ;
  2771. 'MESS' ' *******************' ;
  2772. 'MESS' ' ' ;
  2773.  
  2774. *SI CALCUL AUTOMATIQUE
  2775. 'SI' ( MAN1 'EGA' 0 ) ;
  2776.  
  2777. * ON REDUIT LE CHAMP DES MOMENTS AU MAILLAGE ZMAIL1
  2778. * -------------------------------------------------
  2779. MOMA = 'REDU' ZTAB2.MA.ireg1 ZMAIL1 ;
  2780. MOMB = 'REDU' ZTAB2.MB.ireg1 ZMAIL1 ;
  2781.  
  2782. * CALCUL DE SA
  2783. * ------------
  2784. SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ;
  2785. SA1 = manu 'CHML' ZMOD1 'MOM' SA1 'TYPE' SCALAIRE 'STRESSES' ;
  2786. SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ;
  2787. SA2 = SA2 / Z1 ;
  2788.  
  2789. *
  2790. SA3 = SA1 + SA2 ;
  2791.  
  2792. **********
  2793. * RCC-MR *
  2794. **********
  2795. * SI LES EFFORTS NORMAUX SONT NOTABLES
  2796. * UNIQUEMENT POUR LE REGLEMENT RCC-MR
  2797. * POUR LE CALCUL DE Pm+Pb
  2798. * ------------------------------------
  2799. 'SI' ( 'EGA' NOM1 'RCCMR' ) ;
  2800. 'SI' ( 'EGA' NOM2 'PmPb' ) ;
  2801. 'SI' ( NORM1 'EGA' 1 ) ;
  2802. * ON REDUIT LE CHAMP DES EFFORTS NORMAUX AU MAILLAGE ZMAIL1
  2803. * ---------------------------------------------------------
  2804. N1b = 'REDU' N1 ZMAIL1 ;
  2805. SA3 = SA3 + ( N1b / ( 2. * PI * Rmoy1 * e1 ) ) ;
  2806. 'FINSI' ;
  2807. 'FINSI' ;
  2808. 'FINSI' ;
  2809.  
  2810. * ON TEST LE REGLEMENT SUR LA VALEUR MAXIMUM
  2811. * DU CHAMP DE CONTRAINTES DE LA ZONE CONSIDEREE
  2812. * ---------------------------------------------
  2813. SA4 = 'MAXI' SA3 ;
  2814.  
  2815. * stockage MAXIMUM + numero zone
  2816. MAX = ZTAB2.'SAMAX'.ireg1 ;
  2817.  
  2818. 'SI' ( SA4 '>EG' MAX ) ;
  2819. ZTAB2.'SAMAX'.ireg1 = SA4 ;
  2820. ZTAB2.'NUMZMAX'.ireg1 = izone1 ;
  2821. 'FINSI' ;
  2822.  
  2823. *Stockage de Sa
  2824. ZTABENT.'RESULTATS'.RCN.Sanom.izone1 = SA4;
  2825.  
  2826. rap1 = SA4 / S ;
  2827. 'MESS' 'CONTRAINTE DU CRITERE S = ' S ;
  2828. 'MESS' 'CONTRAINTE MAX SUR CETTE ZONE ' sanom 'MAX =' SA4 ;
  2829. 'MESS' '( ' sanom 'MAX/S ) =' rap1 ;
  2830.  
  2831. 'SINON' ;
  2832.  
  2833. * MOMENTS
  2834. * -------
  2835. MOMA = ZTAB2.MA.ireg1 ;
  2836. MOMB = ZTAB2.MB.ireg1 ;
  2837.  
  2838. * CALCUL DE SA
  2839. * ------------
  2840. SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ;
  2841. SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ;
  2842. SA2 = SA2 / Z1 ;
  2843. SA3 = SA1 + SA2 ;
  2844.  
  2845. ***********************************
  2846. * RCC-MR Pour le calcul de Pm+Pb *
  2847. ***********************************
  2848. * SI LES EFFORTS NORMAUX SONT NOTABLES
  2849. * UNIQUEMENT POUR LE REGLEMENT RCC-MR
  2850. * POUR LE CALCUL DE Pm+Pb
  2851. * ------------------------------------
  2852. 'SI' ( 'EGA' NOM1 'RCCMR' ) ;
  2853. 'SI' ( 'EGA' NOM2 'PmPb' ) ;
  2854. 'SI' ( NORM1 'EGA' 1 ) ;
  2855. SA3 = SA3 + ( N1 / ( 2. * PI * Rmoy1 * e1 ) ) ;
  2856. 'FINSI' ;
  2857. 'FINSI' ;
  2858. 'FINSI' ;
  2859.  
  2860. SA4 = SA3 ;
  2861. ZTABENT.'RESULTATS'.RCN.Sanom = SA4;
  2862. ZTAB2.'SAMAX'.ireg1 = SA4 ;
  2863.  
  2864. rap1 = SA4 / S ;
  2865. 'MESS' 'CONTRAINTE DU CRITERE S =' S ;
  2866. 'MESS' 'CONTRAINTE CALCULEE ' sanom '=' SA4 ;
  2867. 'MESS' '( ' sanom '/S ) =' rap1 ;
  2868. 'FINSI' ;
  2869.  
  2870. rap2 = rap1 - 1.;
  2871. 'SI' (rap2 '<' 10e-5 ) ;
  2872. rap1 = 1;
  2873. 'FINSI' ;
  2874.  
  2875. 'SI' (rap1 '&lt;EG' 1. ) ;
  2876. 'MESS' 'LE CRITERE EST SATISFAIT' ;
  2877. 'SINON' ;
  2878. 'MESS' 'LE CRITERE N EST PAS SATISFAIT' ;
  2879. 'FINSI';
  2880.  
  2881. 'FINSI' ;
  2882.  
  2883. ***************
  2884. 'FIN' BOUCLE2 ;
  2885. ***************
  2886. 'MESS' ' ' ;
  2887.  
  2888. ***************
  2889. 'FIN' BOUCLE1 ;
  2890. ***************
  2891. 'MESS' ' ' ;
  2892.  
  2893. *POST TRAITEMENTS
  2894. *----------------
  2895. ireg1 = 0 ;
  2896.  
  2897. ************************
  2898. 'REPETER' BOUCLE3 REG2 ;
  2899. ************************
  2900. ireg1 = ireg1 + 1 ;
  2901. RCN = ZTAB2.'RCN'.ireg1 ;
  2902. Sanom = ZTAB2.'Sanom'.ireg1 ;
  2903. SAMAX = ZTAB2.'SAMAX'.ireg1 ;
  2904. NUMZMAX = ZTAB2.'NUMZMAX'.ireg1 ;
  2905. NOMRMAX = ZTAB2.'NOMRMAX'.ireg1 ;
  2906.  
  2907. *SI CALCUL AUTOMATIQUE
  2908. 'SI' ( MAN1 'EGA' 0 ) ;
  2909. 'MESS' '****************************************************' ;
  2910. 'MESS' 'REGLEMENT:' RCN ;
  2911. 'MESS' 'LE MAXIMUM DE LA CONTRAINTE ' Sanom ;
  2912. 'MESS' 'SUR TOUTE LA LIGNE EST ' SAMAX ;
  2913. 'MESS' 'IL SE SITUE SUR LA ZONE' NUMZMAX ;
  2914. 'MESS' '****************************************************' ;
  2915. 'MESS' ' ' ;
  2916.  
  2917. ZTABENT.'RESULTATS'.RCN.Sanom.'MAX' = SAMAX ;
  2918. imodel2 = ( 2 * ( NUMZMAX - 1 ) ) + 1 ;
  2919. imail3 = imodel2 + 1 ;
  2920. ZTABENT.'RESULTATS'.RCN.'MODELMAX' = ZONMOMA1.imodel2 ;
  2921. ZTABENT.'RESULTATS'.RCN.'MAILMAX' = ZONMOMA1.imail3 ;
  2922. 'FINSI' ;
  2923. *FINSI AUTOMATIQUE
  2924.  
  2925. *SI PLUS D'UN REGLEMENT
  2926. 'SI' ( REG2 '>' 1 ) ;
  2927. 'SI' ( SAMAX '>EG' MAX0 ) ;
  2928. MAX0 = SAMAX ;
  2929. CPTMX0 = NUMZMAX ;
  2930. NOMSMX0 = Sanom ;
  2931. NOMRMX0 = NOMRMAX ;
  2932. 'FINSI' ;
  2933. 'FINSI' ;
  2934.  
  2935. ***************
  2936. 'FIN' BOUCLE3 ;
  2937. ***************
  2938.  
  2939. 'SI' ( REG2 '>' 1 ) ;
  2940. ZTABENT.'RESULTATS'.'SAMAX' = MAX0 ;
  2941.  
  2942. * SI CALCUL AUTOMATIQUE
  2943. 'SI' ( MAN1 'EGA' 0 ) ;
  2944. 'MESS' '****************************************************' ;
  2945. 'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ;
  2946. 'MESS' 'EST ' NOMSMX0 ' =' MAX0 ;
  2947. 'MESS' 'DU REGLEMENT ' NOMRMX0 ;
  2948. 'MESS' 'SITUE EN ZONE ' CPTMX0 ;
  2949. 'MESS' '****************************************************' ;
  2950. 'MESS' ' ' ;
  2951.  
  2952. imodel2 = ( 2 * CPTMX0 ) + 1 ;
  2953. imail3 = imodel2 + 1 ;
  2954. ZTABENT.'RESULTATS'.'MODELMAX' = ZONMOMA1.imodel2 ;
  2955. ZTABENT.'RESULTATS'.'MAILMAX' = ZONMOMA1.imail3 ;
  2956. 'FINSI' ;
  2957. * FINSI AUTOMATIQUE
  2958.  
  2959.  
  2960. * SI CALCUL MANUEL
  2961. 'SI' ( MAN1 'EGA' 1 ) ;
  2962. 'MESS' '****************************************************' ;
  2963. 'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ;
  2964. 'MESS' 'EST ' NOMSMX0 ' =' MAX0 ;
  2965. 'MESS' 'DU REGLEMENT ' NOMRMX0 ;
  2966. 'MESS' '****************************************************' ;
  2967. 'MESS' ' ' ;
  2968. 'FINSI' ;
  2969. * FINSI MANUEL
  2970.  
  2971. 'FINSI' ;
  2972.  
  2973. ***********************
  2974. * FIN DE LA PROCEDURE *
  2975. ***********************
  2976. 'FINPROC' CODENORM ;
  2977.  
  2978.  

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