* CODENORM PROCEDUR AM 02/12/12 21:17:39 4501 *==========================================================* * PROCEDURE D'ANALYSE REGLEMENTAIRE * * LES EQUATIONS TRAITEES VISENT LA PREVENTION * * DE L'INSTABILITE PLASTIQUE, ET SONT ISSUES DES * * CODES : ASME, RCCM (CLASSE 1&2), RCC-MR (CLASSE 1) * * ETCM (CLASSE 1), CRITERE 3459 dit EMSI (CLASSE 1). * * LES COEFFICIENTS B1 et B2 ISSUS DE RCCM CLASSE 1 * * SONT MODIFIABLES PAR L'UTILISATEUR DE LA PROCEDURE. * * L'ANALYSE PEUT ETRE MISE EN OEUVRE A LA SUITE D'UN * * CALCUL : STATIQUE, DYNAMIQUE PAR LA METHODE * * SPECTRALE, DYNAMIQUE PAR LA METHODE TEMPORELLE * * (POUR UN PAS DE TEMPS DONNE), OU ENCORE MANUELLEMENT * * (QUI SIGNIFIT L'UTILISATION PONCTUELLE DES CRITERES * * AVEC UNE VALEUR DE PRESSION, UNE VALEUR DE MOMENTS, * * UNE VALEUR DE RAYON EXTERIEUR, D'EPAISSEUR, DE RAYON * * DE COURBURE POUR LES COUDES). * *==========================================================* * * * INITIALISATIONS - GENERALITES * ############################### * * FLAGS * ----- IERR1 = 0 ; IERR2 = 0 ; IERR3 = 0 ; IERR4 = 0 ; IERR5 = 0 ; MAX0 = 0 ; MAX = 0 ; NOMSMX0 = 0 ; NOMRMX0 = 0 ; CPTMX0 = 0 ; TESTRCO1 = 0 ; TESTEPA1 = 0 ; TESTPRE1 = 0 ; TESTRAY1 = 0 ; rap1 = 0 ; LOG1 = 0 ; LOG2 = 0 ; LOG3 = 0 ; LOG4 = 0 ; * FLAG POUR L'OPTION ENTREE DES DONNEES MANUELLE * LA RECUPERATION DES DONNEES EST AUTOMATIQUE PAR DEFAUT * ------------------------------------------------------ MAN1 = 0 ; * FLAGS POUR LES MOMENTS *----------------------- TOTAUX1 = 0 ; POIDS1 = 0 ; PERM1 = 0 ; SEISME1 = 0 ; * FLAGS POUR LA GEOMETRIE * ----------------------- PARTDTE = 0 ; COUDE = 0 ; * FLAGS POUR LA NATURE DE L'ACIER * ------------------------------- Fer1 = 0 ; Auste1 = 0 ; * FLAG POUR LES REGLEMENTS * ------------------------ RCOD1 = 0 ; REG2 = 0 ; * FLAG POUR LES CLASSES * --------------------- RCLASSE1 = 0 ; * FLAG POUR LES NIVEAUX C & D * ---------------------------- RCRIT1 = 0 ; ************* * GEOMETRIE * ************* *angle du coude en radian anglec1 = PI / 2 ; anglec2 = 0 ; * DIAMETRE INTERIEUR Dint1 = 0. ; * DIAMETRE EXTERIEUR (D) Dext1 = 0. ; * RAYON INTERIEUR Rint1 = 0. ; * RAYON EXTERIEUR Rext1 = 0. ; * RAYON DE COURBURE MOYEN DES COUDES Rcmc1 = 0. ; * EPAISSEUR DE CALCUL (e) e1 = 0. ; * MOMENT D'INERTIE (I) In1 = 0. ; * MODULE D'INERTIE (Z=I/Rext) Z1 = 0. ; * COEFFICIENT f f1 = 0; ******************** * EFFORTS, MOMENTS * ******************** * PRESSION DE CALCUL, VALEUR PAR DEFAUT (P) PRES1 = 0. ; * MOMENTS M1 = 0. ; M2 = 0. ; MOMA = 0. ; MOMB = 0. ; MX3 = 0. ; MY3 = 0. ; MZ3 = 0. ; MX4 = 0. ; MY4 = 0. ; MZ4 = 0. ; MQUAD1 = 0. ; MQUAD2 = 0. ; MQUAD3 = 0. ; MQUAD4 = 0. ; MQUAD51 = 0. ; MQUAD52 = 0. ; MQUAD6 = 0. ; MQUADp1 = 0. ; MQUADs1 = 0. ; * MOMENTS TOTAUX * -------------- * MOMENTS DE TORSION MXt1 = 0. ; * MOMENTS DE FLEXION DANS LE PLAN MYt1 = 0. ; * MOMENTS DE FLEXION HORS PLAN MZt1 = 0. ; * MOMENTS DUS AU POIDS * -------------------- * MOMENTS DE TORSION MXpo1 = 0. ; * MOMENTS DE FLEXION DANS LE PLAN MYpo1 = 0. ; * MOMENTS DE FLEXION HORS PLAN MZpo1 = 0. ; * MOMENTS DUS AUX EFFORTS PERMANENTS * ---------------------------------- * MOMENTS DE TORSION MXpe1 = 0. ; * MOMENTS DE FLEXION DANS LE PLAN MYpe1 = 0. ; * MOMENTS DE FLEXION HORS PLAN MZpe1 = 0. ; * MOMENTS DUS AUX EFFORTS SISMIQUES * --------------------------------- * MOMENTS DE TORSION MXs1 = 0. ; * MOMENTS DE FLEXION DANS LE PLAN MYs1 = 0. ; * MOMENTS DE FLEXION HORS PLAN MZs1 = 0. ; ****************************** * CARACTERISTIQUES PHYSIQUES * ****************************** * COEFFICIENTS DE CONTRAINTE ************************************ * LES COEFFICIENTS SONT AJUSTABLES * * PAR L'UTILISATEUR * ************************************ D1= 0. ; D21 = 0.; D22 = 0.; B1RCCMd1 = 0.5 ; B2RCCMd1 = 1. ; B1RCCMc1 = 0.5 ; B2RCCMc1 = 0. ; COEF1 = 1 ; B1RCCMd2 = 0.5 ; B2RCCMd2 = 1. ; B1RCCMc2 = 0.5 ; B2RCCMc2 = 0. ; COEF2 = 1 ; B1MRd1 =0.5 ; B2MRd1= 1. ; D1MRd1= 0.4 ; D21MRd1 = 1.1 ; COEF31 = 1 ; D22MRd1 = 0. ; B1MRc1= 0. ; B2MRc1= 0. ; D1MRc1= 0.5 ; COEF32 = 1 ; D21MRc1 = 1.1 ; COEF33 = 1 ; D22MRc1 = 0. ; COEF34 = 1 ; B1ASMEd1 = 0.5 ; B2ASMEd1 = 1. ; B1ASMEc1 = 0. ; COEF41 = 1 ; B2ASMEc1 = 0. ; COEF42 = 1 ; B1ASMEd2 = 0.5 ; B2ASMEd2 = 1. ; B1ASMEc2 = 0. ; COEF51 = 1 ; B2ASMEc2 = 0. ; COEF52 = 1 ; B1ETCMd2 = 0.5 ; B2ETCMd2 = 1. ; B1ETCMc2 = 0.5 ; B2ETCMc2 = 0. ; COEF6 = 1 ; B1EMSId1 = 0.5 ; B2EMSId1 = 1. ; B1EMSIc1 = 0.5 ; B2EMSIc1 = 0. ; COEF7 = 1 ; * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy) Sy1 = 0. ; * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re) * A TEMPERATURE AMBIANTE Re1 = 0. ; * RESISTANCE A LA RmPTURE (Su) Su1 = 0. ; * RESISTANCE A LA RmPTURE A TEMPERATURE AMBIANTE (Rm) Rm1 = 0. ; *COEFFICIENTS DEDIES AU CALCUL DES CONTRAINTES ADMISSIBLES am1 = 0. ; bu1 = 0. ; ce1 = 0. ; dy1 = 0. ; * CONTRAINTES ADMISSIBLES CLASSE 1(Sm) SmRCCM1 = 0. ; SmRCCMR1 = 0. ; SmASME1 = 0. ; SmEMSI1 = 0. ; * CONTRAINTES ADMISSIBLES CLASSE 2(Sh) ShRCCM2 = 0. ; ShRCCMR2 = 0. ; ShETCM2 = 0. ; SmASME2 = 0. ; * INITIALISATIONS - CAS PARTICULIERS * ################################## * CRITERE 3459 = EMSI, CLASSE 1 & 2 * --------------------------------- * COEFF (s) valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1 s1 = 3 ; D3 = 0 ; * ETCM, CLASSE 2 * -------------- * COEFF (alpha), VALEUR PAR DEFAUT 1 *1<=alpha2=(10/D2)**0.5<=2 SI ON CONNAIT L'AMORTISSEMENT D2 alpha2 = 1 ; D2 = 0 ; * RCC-MR * ------ * CONTRAINTE EQUIVALENTE DUE A LA PRESSION * ET AUX MOMENTS DUS AUX FORCES (Pm+Pb) * ------------------------------------- * EVENTUELLEMENT EFFORT NORMAUX DUES A DES CHARGES IMPOSEES * QUAND ILS SONT NOTABLES (N1) NORM1 = 0 ; N1 = 0. ; N1b = 0. ; * CONTRAINTE EQUIVALENTE DUE A LA PRESSION * ET AUX MOMENTS DUS AUX FORCES ET AUX DEPLACEMENTS (Sigm+Sigb) * ------------------------------------------------------------- * COEFFICIENT D'ABBATEMENT VALEUR FIXEE A 0 PAR DEFAUT (g) g1 = 0. ; * les moments dus aux deplacements ne sont pas traite ici. m13 = 0. ; mr3 = 0. ; *CONTRAINTE Setoile1 = 0. ; Setoile2 = 0. ; *COEFF (alpha) valeur 1 par defaut, SAUF RAISON VALABLE alpha1= 1 ; ******************************************************************************** *//////////////////////////////////////////////////////////////////////////////* ******************************************************************************** *TITRE *----- 'MESS' ' ' ; 'MESS' ' ' ; *--------------------------------------* * DEFINITION DE LA TABLE DES RESULTATS * *--------------------------------------* ZTABENT.'RESULTATS' = TABLE ; * *-----------------------------------* * DEFINITION DE LA TABLE DE CALCUL * *-----------------------------------* ZTAB2 = TABLE ; ZTAB2.'RCN' = TABLE ; ZTAB2.'S' = TABLE ; ZTAB2.'MOMENT' = TABLE ; ZTAB2.'Sanom' = TABLE ; ZTAB2.'SAMAX' = TABLE ; ZTAB2.'NUMZMAX' = TABLE ; ZTAB2.'NOMRMAX' = TABLE ; ZTAB2.'MA' = TABLE ; ZTAB2.'MB' = TABLE ; ZTAB2.'D1c' = TABLE ; ZTAB2.'D21c' = TABLE ; ZTAB2.'D22c' = TABLE ; ZTAB2.'D1d' = TABLE ; ZTAB2.'D21d' = TABLE ; ZTAB2.'D22d' = TABLE ; ************************* * TESTS SUR LES ENTREES * * * * * * * * * * * * * * * * * * * * * * * * * * * * ************************* *********** * MOMENTS * ON TEST LA NATURE DES MOMENTS FOURNIS * * * * * * * * * * * * * * * *********** 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX') ; TOTAUX1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'MPOIDS' ) ; POIDS1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT' ) ; PERM1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'MSEISME' ) ; SEISME1 = 1 ; 'FINSI' ; LOG1 = 'OU' ( PERM1 'EGA' 1 ) ( POIDS1 'EGA' 1 ) ; LOG2 = 'OU' ( LOG1 ) ( SEISME1 'EGA' 1 ) ; *ON TEST SI L'UTILISATION DE LA PROCEDURE SERA MANUELLE OU AUTOMATIQUE *MANUEL (MAN1 = 1) OU AUTOMATIQUE (MAN1 = 0 PAR DEFAUT) *------------------------------------------------------ 'SI' ( 'EXISTE' ZTABENT 'MAN' ) ; MAN1 = 1 ; * SI MODE MANUEL * on fixe l'itération de la boucle sur les zones à 1 DIMZONE2 = 1 ; *VERIFICATION DES ENTREES POUR LE CALCUL MANUEL *---------------------------------------------- ********************** * NATURE DE LA LIGNE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ********************** 'SI' ( 'EXISTE' ZTABENT 'COUDE' ) ; COUDE = 1 ; *RAYON DE COURBURE *----------------- 'SI' ( 'EXISTE' ZTABENT 'RAYON DE COURBURE' ) ; Rcmc1 = ZTABENT.'RAYON DE COURBURE' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'DROIT' ) ; PARTDTE = 1 ; 'FINSI' ; LOG3 = COUDE + PARTDTE ; 'SI' ( LOG3 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( LOG3 'EGA' 2 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; ************* * GEOMETRIE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ************* *RAYON EXTERIEUR *--------------- 'SI' ( 'EXISTE' ZTABENT 'RAYON_EXTERIEUR' ) ; Rext1 = ZTABENT.'RAYON_EXTERIEUR' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *EPAISSEUR DE CALCUL (e) *----------------------- 'SI' ( 'EXISTE' ZTABENT 'EPAISSEUR' ) ; e1 = ZTABENT.'EPAISSEUR' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *PRESSION DE CALCUL (P) *---------------------- 'SI' ( 'EXISTE' ZTABENT 'PRESSION' ) ; Pres1 = ZTABENT.'PRESSION' ; 'SINON' ; PRES1 = 0 ; 'MESS' ' '; 'FINSI' ; *********** * MOMENTS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *********** * MOMENTS TOTAUX * -------------- 'SI' ( TOTAUX1 'EGA' 1) ; *-1- 'SI' ( 'NON' LOG2 ) ; * MOMENTS DE TORSION * ------------------ 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'TORSION' ) ; MXt1 = ZTABENT.'MTOTAUX'.'TORSION' ; 'FINSI' ; * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_DANS_PLAN' ) ; MYt1 = ZTABENT.'MTOTAUX'.'FLEXION_DANS_PLAN' ; 'FINSI' ; * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_HORS_PLAN') ; MZt1 = ZTABENT.'MTOTAUX'.'FLEXION_HORS_PLAN' ; 'FINSI' ; 'FINSI' ; 'SINON' ; IERR2 = 1 ; 'FINSI' ; *FIN-1- * MOMENTS DUS AUX EFFORTS PERMANENTS * ---------------------------------- 'SI' ( PERM1 'EGA' 1 ) ; *-2- 'SI' ( TOTAUX1 'EGA' 0 ) ; * MOMENTS DE TORSION * ------------------ 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'TORSION') ; MXpe1 = ZTABENT.'MPERMANENT'.'TORSION' ; 'FINSI' ; * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_DANS_PLAN' ) ; MYpe1 = ZTABENT.'MPERMANENT'.'FLEXION_DANS_PLAN' ; 'FINSI' ; * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_HORS_PLAN') ; MZpe1 = ZTABENT.'MPERMANENT'.'FLEXION_HORS_PLAN' ; 'FINSI' ; 'FINSI' ; 'SINON' ; IERR3 = 1 ; 'FINSI' ; *FIN-2- * MOMENTS DUS AUX EFFORTS SISMIQUES * --------------------------------- 'SI' ( SEISME1 'EGA' 1 ) ; *-3- 'SI' ( TOTAUX1 'EGA' 0 ) ; * MOMENTS DE TORSION * ------------------ 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'TORSION' ) ; MXs1 = ZTABENT.'MSEISME'.'TORSION' ; 'FINSI' ; * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_DANS_PLAN' ) ; MYs1 = ZTABENT.'MSEISME'.'FLEXION_DANS_PLAN' ; 'FINSI' ; * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_HORS_PLAN' ); MZs1 = ZTABENT.'MSEISME'.'FLEXION_HORS_PLAN' ; 'FINSI' ; 'FINSI' ; 'SINON' ; IERR4 = 1 ; 'FINSI' ; *FIN-3- * MOMENTS DUS AUX POIDS * --------------------- 'SI' ( POIDS1 'EGA' 1 ) ; *-4- 'SI' ( TOTAUX1 'EGA' 0 ) ; * MOMENTS DE TORSION * ------------------ 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'TORSION') ; MXpo1 = ZTABENT.'MPOIDS'.'TORSION' ; 'FINSI' ; * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_DANS_PLAN' ) ; MYpo1 = ZTABENT.'MPOIDS'.'FLEXION_DANS_PLAN' ; 'FINSI' ; * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_HORS_PLAN' ) ; MZpo1 = ZTABENT.'MPOIDS'.'FLEXION_HORS_PLAN' ; 'FINSI' ; 'FINSI' ; 'SINON' ; IERR5 = 1 ; 'FINSI' ; *FIN-4- 'SI' ( IERR2 'EGA' 0 ) ; *SI MOMENTS TOTAUX SELECTIONNES *-5- 'SI' ( IERR3 'EGA' 0 ) ; *SI MOMENTS PERMANENTS SELECTIONNES 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ; 'MESS' 'SISMIQUES APPLIQUES A LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *SI MOMENTS SISMIQUES SELECTIONNES 'SI' ( IERR4 'EGA' 0 ) ; 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ; 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( IERR5 'EGA' 0 ) ; *SI MOMENTS DUS AU POIDS SELECTIONNES 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ; 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *FIN-5- * 'SINON' ; *SI MODE AUTOMATIQUE * *DECLARATION DES SOUS TABLES DE RESULTATS POUR LE MODE AUTOMATIQUE *----------------------------------------------------------------- ZTABENT.'RESULTATS'.'MODL' = TABLE ; ZTABENT.'RESULTATS'.'MAIL' = TABLE ; ZTABENT.'RESULTATS'.'NATURE' = TABLE ; ZTABENT.'RESULTATS'.'RAYON' = TABLE ; ZTABENT.'RESULTATS'.'RCOURB' = TABLE ; ZTABENT.'RESULTATS'.'EPAISSEUR' = TABLE ; ZTABENT.'RESULTATS'.'PRESSION' = TABLE ; ZTABENT.'RESULTATS'.'I' = TABLE ; ZTABENT.'RESULTATS'.'Z' = TABLE ; ZTABENT.'RESULTATS'.'COEF_COUDE' = TABLE ; *VERIFICATION DES ENTREES POUR LE CALCUL AUTOMATIQUE *--------------------------------------------------- *MODELE *------ 'SI' ( 'EXISTE' ZTABENT 'MODL' ) ; MODL1 = ZTABENT.'MODL' ; * initialisation 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; * RECUPERATION DANS LA TABLE D'ENTREE DES MODELES * ET DES MAILLAGES DES DIFFERENTS ZONES DE LA LIGNE * ------------------------------------------------- * CALCUL DU NOMBRE DE ZONES * ------------------------- DIMZONE2 = DIMZONE1 / 2 ; ZTABENT.'RESULTATS'.'NBZONE' = DIMZONE2 ; 'MESS' ' '; * CARACTERISTIQUES * ---------------- 'SI' ( 'EXISTE' ZTABENT 'CARACTERISTIQUES' ) ; CARACT1 = ZTABENT.'CARACTERISTIQUES' ; 'SINON' ; 'MESS' 'IL MANQUE LES CARACTERISTIQUES DE LA LIGNE'; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; ******************************************* * CONTRAINTES ISSUES DE L'OPERATEUR SIGMA * * ET RECUPERATION DES MOMENTS * * * * * * * * * * * * * * * * * * * ******************************************* * MOMENTS TOTAUX * -------------- 'SI' ( TOTAUX1 'EGA' 1) ; *-1- 'SI' ( 'NON' LOG2 ) ; SIGM1 = ZTABENT.'MTOTAUX' ; * MOMENTS DE TORSION * ------------------ * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'FINSI' ; 'SINON' ; IERR2 = 1 ; 'FINSI' ; *FIN-1- * MOMENTS DUS AUX EFFORTS PERMANENTS * ---------------------------------- 'SI' ( PERM1 'EGA' 1 ) ; *-2- 'SI' ( TOTAUX1 'EGA' 0 ) ; SIGM1 = ZTABENT.'MPERMANENT' ; * MOMENTS DE TORSION * ------------------ * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'FINSI' ; 'SINON' ; IERR3 = 1 ; 'FINSI' ; *FIN-2- * MOMENTS DUS AUX EFFORTS SISMIQUES * --------------------------------- 'SI' ( SEISME1 'EGA' 1 ) ; *-3- 'SI' ( TOTAUX1 'EGA' 0 ) ; SIGM1 = ZTABENT.'MSEISME' ; * MOMENTS DE TORSION * ------------------ * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'FINSI' ; 'SINON' ; IERR4 = 1 ; 'FINSI' ; *FIN-3- * MOMENTS DUS AUX POIDS * --------------------- 'SI' ( POIDS1 'EGA' 1 ) ; *-4- 'SI' ( TOTAUX1 'EGA' 0 ) ; SIGM1 = ZTABENT.'MPOIDS' ; * MOMENTS DE TORSION * ------------------ * MOMENTS DE FLEXION DANS LE PLAN * ------------------------------- * MOMENTS DE FLEXION HORS PLAN * ---------------------------- 'FINSI' ; 'SINON' ; IERR5 = 1 ; 'FINSI' ; *FIN-4- 'SI' ( IERR2 'EGA' 0 ) ; *SI MOMENTS TOTAUX SELECTIONNES *-5- 'SI' ( IERR3 'EGA' 0 ) ; *SI MOMENTS PERMANENTS SELECTIONNES 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *SI MOMENTS SISMIQUES SELECTIONNES 'SI' ( IERR4 'EGA' 0 ) ; 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ; 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( IERR5 'EGA' 0 ) ; *SI MOMENTS DUS AU POIDS SELECTIONNES 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ; 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *FIN-5- 'FINSI' ; *FINSI OPTION CALCUL MANUEL ou AUTOMATIQUE ******************************************************************************** 'SI' ( IERR2 'EGA' 1 ) ; *SI MOMENTS TOTAUX NON SELECTIONNES *-5- *SI MOMENTS DUS AU POIDS, PERMANENTS, SISMIQUES NON SELECTIONNES 'SI' ( IERR3 'EGA' 1 ) ; 'SI' ( IERR4 'EGA' 1 ) ; 'SI' ( IERR5 'EGA' 1 ) ; 'MESS' 'AUCUN MOMENT APPLIQUE A LA LIGNE N A ETE DEFINIT' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; *FIN-5- *CALCUL DE MOMENTS PRELIMINAIRES MX3 = MXpo1 + MXpe1 ; MY3 = MYpo1 + MYpe1 ; MZ3 = MZpo1 + MZpe1 ; 'SI' ( SEISME1 'EGA' 1 ) ; MX3 = 'ABS' MX3 ; MY3 = 'ABS' MY3 ; MZ3 = 'ABS' MZ3 ; 'FINSI' ; *-----------------------------------------* * ENTREES COMMUNE AUX DEUX MODES DE CALCUL* *-----------------------------------------* ****************************** * CARACTERISTIQUES PHYSIQUES * * * * * * * * * * * * * * * * * * * * * * * * * * ****************************** *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy) *----------------------------------------------- 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE' ) ; Sy1 = ZTABENT.'LIMITE_ELASTIQUE' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re) *A TEMPERATURE AMBIANTE *---------------------- 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE_TAMB' ) ; Re1 = ZTABENT.'LIMITE_ELASTIQUE_TAMB' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *RESISTANCE A LA RUPTURE (Su) *---------------------------- 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE' ) ; Su1 = ZTABENT.'RESISTANCE_RUPTURE' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *RESISTANCE A LA RUPTURE A TEMPERATURE AMBIANTE (Rm) *--------------------------------------------------- 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE_TAMB' ) ; Rm1 = ZTABENT.'RESISTANCE_RUPTURE_TAMB' ; 'SINON' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *ACIER FERRITIQUE OU AUSTENITIQUE ? *-------------------------------- 'SI' ( 'EXISTE' ZTABENT 'FERRITIQUE' ) ; Fer1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'AUSTENITIQUE' ) ; Auste1 = 1 ; 'FINSI' ; LOG4 = Fer1 + Auste1 ; 'SI' ( LOG4 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( LOG4 'EGA' 2 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; ********************************************** * REGLEMENTS:RCC-M, RCC-MR, ASME, ETCM, EMSI *********************************** ********************************************** ***************************************** * LES COEFFICIENTS B1,B2, D1, D21 & D22 * * SONT AJUSTABLES PAR L'UTILISATEUR * ***************************************** *-----* *RCC-M* *-----* 'SI' ( 'EXISTE' ZTABENT 'RCCM' ) ; *-SI-RCCM- RCOD1= 1 ; ZTABENT.'RESULTATS'.'RCCM' = table; * CLASSES 1 ET/OU 2 * ----------------- 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1' ) ; *-*- RCLASSE1 = 1 ; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1d' ) ; B1RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B2d' ) ; B2RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1c' ) ; B1RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B1c' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B2c' ) ; B2RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B2c' ; COEF1 = 0 ; 'FINSI' ; * ON DETERMINE Sm * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'RCCM'.'Sm' = SmRCCM1; * CALCUL DES MOMENTS * ------------------ 'SI' ( TOTAUX1 'EGA' 1 ) ; MQUAD1= ((MXt1)**2) + ((MYt1)**2) + ((MZt1)**2) ; 'SINON' ; MX4 = MX3 + ( 'ABS' MXs1 ) ; MY4 = MY3 + ( 'ABS' MYs1 ) ; MZ4 = MZ3 + ( 'ABS' MZs1 ) ; MQUAD1 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ; 'FINSI' ; MQUAD1 = (MQUAD1)**(0.5) ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_C' ; ZTAB2.'S'.REG2 = 1.9 * SmRCCM1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_C' ; ZTAB2.'D1d'.REG2 = B1RCCMd1 ; ZTAB2.'D21d'.REG2 = B2RCCMd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1RCCMc1 ; ZTAB2.'D21c'.REG2 = B2RCCMc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD1 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D' = TABLE ; RCRIT1 = 1; * EQUATION POUR LES PARTIES DROITES ET LES COUDES REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 3 * SmRCCM1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ; ZTAB2.'D1d'.REG2 = B1RCCMd1 ; ZTAB2.'D21d'.REG2 = B2RCCMd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1RCCMc1 ; ZTAB2.'D21c'.REG2 = B2RCCMc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD1 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * EQUATION POUR LES PARTIES DROITES SEULEMENT REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 2.5 * SmRCCM1 ; ZTAB2.'Sanom'.REG2 = 'Sapdroite' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2RCCMd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = 0. ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD1 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sapdroite' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 1 RCRIT1 = 0 ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2' ) ; RCLASSE1 = 1 ; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ * B2RCCMd2 & B2RCCMc2 représentent ici le coefficient 0.75i 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2d' ) ; B2RCCMd2 = ZTABENT.'RCCM'.'CLASSE2'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2c' ) ; B2RCCMc2 = ZTABENT.'RCCM'.'CLASSE2'.'B2c' ; COEF2 = 0 ; 'FINSI' ; 'SI' ( TOTAUX1 'EGA' 1) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; * ON DETERMINE Sh * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 4. ; bu1 = 1. / 4. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 4. ; bu1 = 1. / 4. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'RCCM'.'Sh' = ShRCCM2; * CALCUL DES MOMENTS * ------------------ MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ; MQUADp1 = (MQUADp1)**(0.5) ; MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ; MQUADs1 = (MQUADs1)**(0.5) ; MQUAD2 = MQUADp1 + MQUADs1 ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_C' ; ZTAB2.'S'.REG2 = 1.8 * ShRCCM2 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ; ZTAB2.'D1d'.REG2 = B1RCCMd2 ; ZTAB2.'D21d'.REG2 = B2RCCMd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1RCCMc2 ; ZTAB2.'D21c'.REG2 = B2RCCMc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD2 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_D' ; ZTAB2.'S'.REG2 = 2.4 * ShRCCM2 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ; ZTAB2.'D1d'.REG2 = B1RCCMd2 ; ZTAB2.'D21d'.REG2 = B2RCCMd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1RCCMc2 ; ZTAB2.'D21c'.REG2 = B2RCCMc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD2 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 2 'SI' ( RCLASSE1 'EGA' 0 ) ; 'MESS' ' ' ; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-FIN-REGLEMENT-RCC-M RCLASSE1 = 0 ; RCRIT1 = 0 ; *RCC-MR *------ 'SI' ( 'EXISTE' ZTABENT 'RCCMR' ) ; *-SI-RCCM-R RCOD1= 1; ZTABENT.'RESULTATS'.'RCCMR' = table; * Pour une future utilisation: si g pris non nul * et si on considere les moments dus aux déplacements * g est un scalaire, m1 et mr sont des scalaires en mode * manuel et des MCHAML en mode automatique. * ------------------------------------------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'g' ) ; g1= ZTABENT.'RCCMR'.'g' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'m1' ) ; m13= ZTABENT.'RCCMR'.'m1' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'mr' ) ; mr3= ZTABENT.'RCCMR'.'mr' ; 'FINSI' ; * SI LES EFFORTS NORMAUX SONT NOTABLES * ------------------------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'N1' ) ; NORM1= 1; N1= ZTABENT.'RCCMR'.'N1' ; 'FINSI' ; * ANGLE DES COUDES * VALEUR PAR DEFAUT = PI/2. ATTENTION CET ANGLE DONNE EN DEGRES PAR * L'UTILISATEUR DE LA PROCEDURE S'EXPRIME EN RADIAN DANS LES CALCULS * IL EST MODIFIABLE EN MANUEL POUR UN CALCUL PONCTUEL, OU EN AUTOMATIQUE * SUR UNE SEULE ZONE QUI EST UN COUDE, OU ENCORE SUR UNE LIGNE * OU TOUS LES COUDES SONT DE MEME ANGLE. 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ANGLE' ) ; anglec2 = ZTABENT.'RCCMR'.'ANGLE' ; anglec1 = (PI / 180.) * anglec2 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ALPHA' ) ; * VALEUR PAR DEFAUT : 1, POUR LE CALCUL DE S* alpha1 = ZTABENT.'RCCMR'.'ALPHA' ; 'FINSI' ; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1d' ) ; B1MRd1 = ZTABENT.'RCCMR'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2d' ) ; B2MRd1 = ZTABENT.'RCCMR'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1d' ) ; D1MRd1 = ZTABENT.'RCCMR'.'D1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21d' ) ; D21MRd1 = ZTABENT.'RCCMR'.'D21d' ; COEF31 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22d' ) ; D22MRd1 = ZTABENT.'RCCMR'.'D22d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1c' ) ; B1MRc1 = ZTABENT.'RCCMR'.'B1c' ; COEF32 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2c' ) ; B2MRc1 = ZTABENT.'RCCMR'.'B2c' ; COEF33 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1c' ) ; D1MRc1 = ZTABENT.'RCCMR'.'D1c' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21c' ) ; D21MRc1 = ZTABENT.'RCCMR'.'D21c' ; COEF34 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22c' ) ; D22MRc1 = ZTABENT.'RCCMR'.'D22c' ; 'FINSI' ; * ON DETERMINE Sm * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 2.7 ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'RCCMR'.'Sm' = SmRCCMR1; * CALCUL DE S*=min(0.8Sy, 0.4Rm) * ------------------------------ Setoile1 = alpha1 * Setoile1 ; * CALCUL DE min(3Sm, 0.9Rm) * ------------------------- * CALCUL DES MOMENTS * ------------------ 'SI' ( TOTAUX1 'EGA' 1 ) ; M1 = MXt1; M2 = ( MYt1**2 ) + ( MZt1**2 ); M2 = M2**(0.5) ; 'SINON' ; M1 = MX3 + ('ABS' MXs1 ) ; M2 = ( ( MY3 + ('ABS' MYs1 ) )**2 ) ; M2 = M2 + ( ( MZ3 + ('ABS' MZs1 ) )**2 ); M2 = M2**(0.5) ; 'FINSI' ; M1 = M1 + ( m13 * g1 ) ; M2 = M2 + ( mr3 * g1 ) ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCMR_C' = TABLE ; 'SI' ( MAN1 'EGA' 0 ) ; ZTABENT.'RESULTATS'.'RCCMR_C'.'SigmSigb' = TABLE ; 'FINSI' ; RCRIT1 = 1; * Pour l'équation de Pm+Pb REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCMR_C' ; ZTAB2.'S'.REG2 = 1.9 * SmRCCMR1 ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ; ZTAB2.'D1d'.REG2 = B1MRd1 ; ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 ) ; ZTAB2.'D22d'.REG2 = B2MRd1 ; ZTAB2.'D1c'.REG2 = B1MRc1 ; ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 ) ; ZTAB2.'D22c'.REG2 = B2MRc1 ; ZTAB2.MA.REG2 = M1 ; ZTAB2.MB.REG2 = M2 ; * Pour l'équation de Sigm+Sigb REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCMR_C' ; ZTAB2.'S'.REG2 = 1.25 * Setoile1 ; ZTAB2.'Sanom'.REG2 = 'SigmSigb' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ; ZTAB2.'D1d'.REG2 = D1MRd1 ; ZTAB2.'D21d'.REG2 = D21MRd1 ; ZTAB2.'D22d'.REG2 = D22MRd1 ; ZTAB2.'D1c'.REG2 = D1MRc1 ; ZTAB2.'D21c'.REG2 = D21MRc1 ; ZTAB2.'D22c'.REG2 = D22MRc1 ; ZTAB2.MA.REG2 = M1 ; ZTAB2.MB.REG2 = M2 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'RCCMR_D' = TABLE ; 'SI' ( MAN1 'EGA' 0 ) ; ZTABENT.'RESULTATS'.'RCCMR_D'.'SigmSigb' = TABLE ; 'FINSI' ; RCRIT1 = 1; * Pour l'équation de Pm+Pb REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCMR_D' ; ZTAB2.'S'.REG2 = Setoile2 ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ; ZTAB2.'D1d'.REG2 = B1MRd1 ; ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 ) ; ZTAB2.'D22d'.REG2 = B2MRd1 ; ZTAB2.'D1c'.REG2 = B1MRc1 ; ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 ) ; ZTAB2.'D22c'.REG2 = B2MRc1 ; ZTAB2.MA.REG2 = M1 ; ZTAB2.MB.REG2 = M2 ; * Pour l'équation de Sigm+Sigb REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'RCCMR_D' ; ZTAB2.'S'.REG2 = 1.9 * Setoile1 ; ZTAB2.'Sanom'.REG2 = 'SigmSigb' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ; ZTAB2.'D1d'.REG2 = D1MRd1 ; ZTAB2.'D21d'.REG2 = D21MRd1 ; ZTAB2.'D22d'.REG2 = D22MRd1 ; ZTAB2.'D1c'.REG2 = D1MRc1 ; ZTAB2.'D21c'.REG2 = D21MRc1 ; ZTAB2.'D22c'.REG2 = D22MRc1 ; ZTAB2.MA.REG2 = M1 ; ZTAB2.MB.REG2 = M2 ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-FIN-REGLEMENT-RCC-MR RCLASSE1 = 0 ; RCRIT1 = 0 ; *ASME *----- 'SI' ( 'EXISTE' ZTABENT 'ASME' ) ; *-SI-ASME- RCOD1= 1 ; ZTABENT.'RESULTATS'.'ASME' = table; 'SI' ( TOTAUX1 'EGA' 1) ; 'MESS' 'ETUDE REGLEMENTAIRE ASME SONT INCOMPATIBLES' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *CLASSE 1 ET/OU 2 *----------------- 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1' ) ; RCLASSE1 = 1 ; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1d' ) ; B1ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2d' ) ; B2ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1c' ) ; B1ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B1c' ; COEF41 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2c' ) ; B2ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B2c' ; COEF42 = 0 ; 'FINSI' ; * ON DETERMINE Sm * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME1; * CALCUL DES MOMENTS * ------------------ MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ; MQUAD3 = (MQUAD3)**(0.5) ; MX4 = MX3 + ( 'ABS' MXs1 ) ; MY4 = MY3 + ( 'ABS' MYs1 ) ; MZ4 = MZ3 + ( 'ABS' MZs1 ) ; MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ; MQUAD4 = (MQUAD4)**(0.5) ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C' = TABLE ; RCRIT1 = 1; * équation sur les moments dus au poids REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ; ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME1 ; ZTAB2.'Sanom'.REG2 = 'Sapoids' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2ASMEd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = B2ASMEc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD3 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sapoids' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * équation sur les tous les moments REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ; ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ; ZTAB2.'D1d'.REG2 = B1ASMEd1 ; ZTAB2.'D21d'.REG2 = B2ASMEd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ASMEc1 ; ZTAB2.'D21c'.REG2 = B2ASMEc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD4 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D' = TABLE ; RCRIT1 = 1; * équation sur les moments dus au poids REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 0.5 * SmASME1 ; ZTAB2.'Sanom'.REG2 = 'Sapoids' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2ASMEd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = B2ASMEc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD3 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sapoids' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * équation sur les tous les moments REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 4.5 * SmASME1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ; ZTAB2.'D1d'.REG2 = B1ASMEd1 ; ZTAB2.'D21d'.REG2 = B2ASMEd1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ASMEc1 ; ZTAB2.'D21c'.REG2 = B2ASMEc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD4 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 1 RCRIT1 = 0 ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2' ) ; RCLASSE1 = 1 ; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1d' ) ; B1ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2d' ) ; B2ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1c' ) ; B1ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B1c' ; COEF51 = 0 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2c' ) ; B2ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B2c' ; COEF52 = 0 ; 'FINSI' ; * ON DETERMINE Sm * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME2; * CALCUL DES MOMENTS * ------------------ MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ; MQUAD3 = (MQUAD3)**(0.5) ; MX4 = MX3 + ( 'ABS' MXs1 ) ; MY4 = MY3 + ( 'ABS' MYs1 ) ; MZ4 = MZ3 + ( 'ABS' MZs1 ) ; MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ; MQUAD4 = (MQUAD4)**(0.5) ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C' = TABLE ; RCRIT1 = 1; * équation sur les moments dus au poids REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ; ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME2 ; ZTAB2.'Sanom'.REG2 = 'Sapoids' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2ASMEd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = B2ASMEc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD3 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sapoids' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * équation sur les tous les moments REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ; ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME2 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ; ZTAB2.'D1d'.REG2 = B1ASMEd2 ; ZTAB2.'D21d'.REG2 = B2ASMEd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ASMEc2 ; ZTAB2.'D21c'.REG2 = B2ASMEc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD4 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D' = TABLE ; RCRIT1 = 1; * équation sur les moments dus au poids REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ; ZTAB2.'S'.REG2 = 0.5 * SmASME2 ; ZTAB2.'Sanom'.REG2 = 'Sapoids' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2ASMEd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = B2ASMEc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD3 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sapoids' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * équation sur les tous les moments REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ; ZTAB2.'S'.REG2 = 4.5 * SmASME2 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ; ZTAB2.'D1d'.REG2 = B1ASMEd2 ; ZTAB2.'D21d'.REG2 = B2ASMEd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ASMEc2 ; ZTAB2.'D21c'.REG2 = B2ASMEc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD4 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 2 'SI' ( RCLASSE1 'EGA' 0 ) ; 'MESS' ' ' ; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-FINSI-REGLEMENT-ASME- RCLASSE1 = 0 ; RCRIT1 = 0 ; LOG1 = 0; LOG2 = 0; *----* *ETCM* *----* 'SI' ( 'EXISTE' ZTABENT 'ETCM' ) ; *-SI-ETCM- RCOD1 = 1 ; ZTABENT.'RESULTATS'.'ETCM' = table ; 'SI' ( TOTAUX1 'EGA' 1) ; 'MESS' 'ETUDE REGLEMENTAIRE ETCM SONT INCOMPATIBLES' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'ALPHA' ) ; * VALEUR PAR DEFAUT = 1 alpha2 = ZTABENT.'ETCM'.'ALPHA' ; LOG1 = 1; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'AMORTIS' ) ; D2 = ZTABENT.'ETCM'.'AMORTIS' ; LOG2 = 1; alpha2=( 10 / D2 )**0.5 ; 'SI'(alpha2 '<' 1 ) ; alpha2 = 1 ; 'FINSI' ; 'SI'(alpha2 '>' 2 ) ; alpha2 = 2 ; 'FINSI' ; ZTABENT.'RESULTATS'.'ETCM'.'ALPHA' = alpha2 ; 'FINSI' ; LOG3 = LOG1 + LOG2 ; 'SI' (LOG3 'EGA' 2 ) ; 'MESS' 'LE COEFFICIENT DE REDUCTION alpha EM MEME TEMPS' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *CLASSE 2 *-------- 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2' ) ; RCLASSE1 = 1; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1d' ) ; B1ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2d' ) ; B2ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1c' ) ; B1ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B1c' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2c' ) ; B2ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B2c' ; COEF6 = 0 ; 'FINSI' ; * ON DETERMINE Sh * --------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 4. ; bu1 = 1. / 4. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 4. ; bu1 = 1. / 4. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'ETCM'.'Sh' = ShETCM2; * CALCUL DES MOMENTS * ------------------ MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ; MQUADp1 = (MQUADp1)**(0.5) ; MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ; MQUADs1 = (MQUADs1)**(0.5) ; MQUAD51 = MQUADp1 + MQUADs1 ; MQUAD52 = MQUADp1 + ( MQUADs1 / alpha2 ) ; * CALCUL DES CONTRAINTES LIMITES DU REGLEMENT ETCM * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_C' ; ZTAB2.'S'.REG2 = LOG2 ; ZTAB2.'Sanom'.REG2 = 'Sac' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_C' ; ZTAB2.'D1d'.REG2 = B1ETCMd2 ; ZTAB2.'D21d'.REG2 = B2ETCMd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ETCMc2 ; ZTAB2.'D21c'.REG2 = B2ETCMc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD51 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C'.'Sac' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_D' ; ZTAB2.'S'.REG2 = LOG4 ; ZTAB2.'Sanom'.REG2 = 'Sad' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_D' ; ZTAB2.'D1d'.REG2 = B1ETCMd2 ; ZTAB2.'D21d'.REG2 = B2ETCMd2 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1ETCMc2 ; ZTAB2.'D21c'.REG2 = B2ETCMc2 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD52 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D'.'Sad' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 2 'SI' ( RCLASSE1 'EGA' 0 ) ; 'MESS' ' ' ; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-FINSI-REGLEMENT-ETCM- RCLASSE1 = 0 ; RCRIT1 = 0 ; LOG1 = 0; LOG2 = 0; *EMSI *----- 'SI' ( 'EXISTE' ZTABENT 'EMSI' ) ; *-SI EMSI- RCOD1 = 1; ZTABENT.'RESULTATS'.'EMSI' = table; 'SI' ( TOTAUX1 'EGA' 1) ; 'MESS' 'ETUDE REGLEMENTAIRE EMSI SONT INCOMPATIBLES' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'s' ) ; * valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1 s1 = ZTABENT.'EMSI'.'s' ; LOG1 = 1; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'AMORTIS' ) ; D3 = ZTABENT.'EMSI'.'AMORTIS' ; LOG2 = 1; 'SI'(D3 '>' 2 ) ; s1 = 1 ; 'FINSI' ; ZTABENT.'RESULTATS'.'EMSI'.'s' = s1 ; 'FINSI' ; LOG3 = LOG1 + LOG2 ; 'SI' (LOG3 'EGA' 2 ) ; 'MESS' 'LE COEFFICIENT DE REDUCTION s EM MEME TEMPS' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; *CLASSE 1 *-------- 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1' ) ; RCLASSE1 = 1; * LES COEFFICIENTS DE CONTRAINTE * ------------------------------ 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1d' ) ; B1EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B1d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2d' ) ; B2EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B2d' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1c' ) ; B1EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B1c' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2c' ) ; B2EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B2c' ; COEF7 = 0 ; 'FINSI' ; *ON DETERMINE Sm *--------------- 'SI' ( Fer1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 2. / 3. ; 'FINSI' ; 'SI' ( Auste1 'EGA' 1 ) ; am1 = 1. / 3. ; bu1 = 1. / 3. ; ce1 = 2. / 3. ; dy1 = 0.9 ; 'FINSI' ; ZTABENT.'RESULTATS'.'EMSI'.'Sm' = SmEMSI1; * CALCUL DES MOMENTS * ------------------ MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ; MQUADp1 = (MQUADp1)**(0.5) ; MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ; MQUADs1 = (MQUADs1)**(0.5) ; MQUAD6 = MQUADp1 + ( MQUADs1 / s1 ) ; * NIVEAUX C ET/OU D * ------------------ 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'C' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C' = TABLE ; RCRIT1 = 1; REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_C' ; ZTAB2.'S'.REG2 = 1.9 * SmEMSI1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_C' ; ZTAB2.'D1d'.REG2 = B1EMSId1 ; ZTAB2.'D21d'.REG2 = B2EMSId1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1EMSIc1 ; ZTAB2.'D21c'.REG2 = B2EMSIc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD6 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'D' ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D' = TABLE ; RCRIT1 = 1; * EQUATION POUR LES PARTIES DROITES ET LES COUDES REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 3. * SmEMSI1 ; ZTAB2.'Sanom'.REG2 = 'Sa' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ; ZTAB2.'D1d'.REG2 = B1EMSId1 ; ZTAB2.'D21d'.REG2 = B2EMSId1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = B1EMSIc1 ; ZTAB2.'D21c'.REG2 = B2EMSIc1 ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD6 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sa' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; * EQUATION POUR LES PARTIES DROITES SEULEMENT REG2 = REG2 + 1 ; ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ; ZTAB2.'S'.REG2 = 2.5 * SmEMSI1 ; ZTAB2.'Sanom'.REG2 = 'Sapdroite' ; ZTAB2.'SAMAX'.REG2 = 0 ; ZTAB2.'NUMZMAX'.REG2 = 0 ; ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ; ZTAB2.'D1d'.REG2 = 0. ; ZTAB2.'D21d'.REG2 = B2EMSId1 ; ZTAB2.'D22d'.REG2 = 0. ; ZTAB2.'D1c'.REG2 = 0. ; ZTAB2.'D21c'.REG2 = 0. ; ZTAB2.'D22c'.REG2 = 0. ; ZTAB2.MA.REG2 = MQUAD6 ; 'SI' ( MAN1 'EGA' 0 ) ; * DECLARATION D'UNE SOUS TABLE DE RESULTATS ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sapdroite' = TABLE ; 'SINON' ; ZTAB2.MB.REG2 = 0 ; 'FINSI' ; 'FINSI' ; 'SI' ( RCRIT1 'EGA' 0 ) ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-fin classe 1 'SI' ( RCLASSE1 'EGA' 0 ) ; 'MESS' ' ' ; IERR1 = 1 ; 'FINSI' ; 'FINSI' ; *-FINSI-EMSI-REGLEMENT *REGLEMENTS *---------- 'SI' ( RCOD1 'EGA' 0 ) ; 'MESS' 'TABLE D ENTREE POUR REALISER L ANALYSE REGLEMENTAIRE' ; 'MESS' ' '; IERR1 = 1 ; 'FINSI' ; ************************************************ * GESTION DES ERREURS SUR LES DONNEES D'ENTREE * ************************************************ 'SI' ( IERR1 'EGA' 1 ) ; 'MESS' ' '; 'FIN' ; 'FINSI' ; ******************************************************************************* *\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\* ******************************************************************************* *COMPTEURS DE BOUCLE izone1 = 0 ; ireg1 = 0 ; *COMPTEURS imodel2 = 0 ; imail3 = 0 ; * ********************************************************* * * BOUCLE GENERALE SUR LES DIFFERENTES ZONES DE LA LIGNE * * ********************************************************* *************************** 'REPETER' BOUCLE1 DIMZONE2; *************************** imodel2 = 2 * izone1 + 1 ; izone1 = izone1 + 1 ; imail3 = imodel2 + 1 ; *SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; PARTDTE = 0; COUDE = 0; 'MESS' ' ' ; 'MESS' ' ' ; * SOUS-MODELE DE LA ZONE TRAITEE * ------------------------------ 'MESS' 'DE MODELE:' ; ZMOD1 = ZONMOMA1.imodel2 ; ZTABENT.'RESULTATS'.'MODL'.izone1 = ZMOD1 ; LIST ZMOD1 ; * SOUS-MAILLAGE DE LA ZONE TRAITEE * -------------------------------- 'MESS' 'DE MAILLAGE:' ; ZMAIL1 = ZONMOMA1.imail3 ; ZTABENT.'RESULTATS'.'MAIL'.izone1 = ZMAIL1 ; LIST ZMAIL1 ; 'MESS' ' ' ; * ON REDUIT LES CARACTERISTIQUES A LA ZONE ETUDIEE * ------------------------------------------------ * TEST SUR LA NATURE DE LA ZONE : PARTIE DROITE, COUDE * ---------------------------------------------------- TESTRCO1 = 'EXIST' redcar1 'RACO' ; 'SI' ( TESTRCO1 ) ; COUDE = 1 ; ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'COUDE' ; 'MESS' 'CETTE ZONE EST UN COUDE' ; 'SINON' ; PARTDTE = 1; ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'ZONE DROITE' ; 'MESS' 'CETTE ZONE EST UNE PARTIE DROITE' ; 'FINSI' ; * TEST LA PRESENCE DE LA PRESSION, DU RAYON EXTERIEUR, * DE L'EPAISSEUR DANS LES CARACTERISTIQUES DE LA ZONE * ---------------------------------------------------- TESTRAY1 = 'EXIST' redcar1 'RAYO' ; 'SI' ( 'NON' TESTRAY1 ) ; 'MESS' ' '; 'FIN'; 'FINSI' ; TESTEPA1 = 'EXIST' redcar1 'EPAI' ; 'SI' ( 'NON' TESTEPA1 ) ; 'MESS' ' '; 'FIN'; 'FINSI' ; * MODE AUTOMATIQUE, RECUPERATION DE DONNEES * ----------------------------------------- *RECUPERATION DU RAYON EXTERIEUR ZTABENT.'RESULTATS'.'RAYON'.izone1 = Rext1 ; *RECUPERATION DU RAYON DE COURBURE 'SI' ( COUDE 'EGA' 1 ) ; ZTABENT.'RESULTATS'.'RCOURB'.izone1 = Rcmc1 ; 'FINSI' ; *RECUPERATION DE L'EPAISSEUR ZTABENT.'RESULTATS'.'EPAISSEUR'.izone1 = e1 ; *RECUPERATION DE LA PRESSION 'SI' ( TESTPRE1 ) ; ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ; 'SINON' ; Pres1 = 0 ; ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ; 'FINSI' ; 'FINSI' ; *FINSI AUTOMATIQUE ******************************************* * CALCUL DE (De) (I) (Z) (f) POUR LA ZONE * ******************************************* ******************************** * CALCUL DU DIAMETRE EXTERIEUR * ******************************** Dext1 = 2 * Rext1 ; ************************* * CALCUL DU RAYON MOYEN * ************************* Rmoy1= ( Dext1 - e1 ) / 2. ; ******************************************** * CALCUL DU RAYON ET DU DIAMETRE INTERIEUR * ******************************************** Rint1 = Rext1 - e1 ; Dint1 = 2 * Rint1 ; tpo = ( PI / 64. ) ; ********************************* * CALCUL DU MOMENT D'INETIE (I) * ********************************* In1 = tpo * ( ( (Dext1)**4 ) - ( (Dint1)**4 ) ) ; ********************************** * CALCUL DU MODULE D'INETIE (Z) * ********************************** Z1 = ( 2. * In1 ) / Dext1 ; *SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; ZTABENT.'RESULTATS'.'I'.izone1 = In1 ; ZTABENT.'RESULTATS'.'Z'.izone1 = Z1 ; 'FINSI' ; *FINSI AUTOMATIQUE *SI CALCUL MANUEL 'SI' ( MAN1 'EGA' 1 ) ; ZTABENT.'RESULTATS'.'I' = In1 ; ZTABENT.'RESULTATS'.'Z' = Z1 ; 'FINSI' ; *FINSI MANUEL *************************** * CALCUL DU COEFFICIENT f * *************************** f1 = ( e1 * Rcmc1 ) / ( Rmoy1**2 ) ; *SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; ZTABENT.'RESULTATS'.'COEF_COUDE'.izone1 = f1 ; 'FINSI' ; *FINSI AUTOMATIQUE *SI CALCUL MANUEL 'SI' ( MAN1 'EGA' 1 ) ; ZTABENT.'RESULTATS'.'COEF_COUDE' = f1 ; 'FINSI' ; *FINSI MANUEL ********** * CALCUL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ********** * *************************************************** * * BOUCLE GENERALE SUR LES DIFFERENTES REGLEMENTS * * *************************************************** ireg1 = 0 ; *************************** 'REPETER' BOUCLE2 REG2; *************************** ireg1 = ireg1 + 1 ; NOM1 = ZTAB2.'NOMRMAX'.ireg1 ; NOM2 = ZTAB2.'Sanom'.ireg1 ; *COEFFICIENTS DE CONTRAINTES DEPENDANT *DE LA GEOMETRIE DE LA ZONE 'SI' ( PARTDTE 'EGA' 1 ) ; ********** * RCC-MR * ********** *Pour le calcul de Sigm+Sigb 'SI' ( 'EGA' NOM1 'RCCMR' ) ; 'SI' ( 'EGA' NOM2 'SigmSigb' ) ; 'SI' ( COEF31 'EGA' 1 ) ; deno1 = ( Dext1 / e1 ) ; ZTAB2.'D22d'.ireg1 = 0.35 * ( deno1**( 1. / 3. ) ) ; 'FINSI' ; 'FINSI' ; 'FINSI' ; D1 = ZTAB2.'D1d'.ireg1 ; D21 = ZTAB2.'D21d'.ireg1 ; D22 = ZTAB2.'D22d'.ireg1 ; 'FINSI' ; LOG4 = 0 ; 'SI' ( COUDE 'EGA' 1 ) ; 'SI' ( 'EGA' NOM2 'Sapdroite' ) ; LOG4 = 1 ; 'FINSI' ; ***************** * RCCM CLASSE 1 * ***************** LOG1 = ( 'EGA' NOM1 'RCCM_CLASSE_1_C' ) ; LOG2 = ( 'EGA' NOM1 'RCCM_CLASSE_1_D' ) ; LOG3 = 'OU' LOG1 LOG2 ; 'SI' ( LOG3 ) ; 'SI' ( COEF1 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 'FINSI' ; 'FINSI' ; ***************** * RCCM CLASSE 2 * ***************** 'SI' ( 'EGA' NOM1 'RCCM_CLASSE_2' ) ; 'SI' ( COEF2 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 0.675 * ( f1**( -2. / 3. ) ); 'FINSI' ; 'FINSI' ; ********** * RCC-MR * ********** *Pour le calcul de Pm+Pb 'SI' ( 'EGA' NOM1 'RCCMR' ) ; 'SI' ( COEF32 'EGA' 1 ) ; ZTAB2.'D1c'.ireg1 = ( 0.4 * f1 ) - 0.1 ; 'FINSI' ; 'SI' ( COEF33 'EGA' 1 ) ; ZTAB2.'D22c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ; 'FINSI' ; 'FINSI' ; *Pour le calcul de Sigm+Sigb 'SI' ( 'EGA' NOM2 'SigmSigb' ) ; 'SI' ( COEF34 'EGA' 1 ) ; gpa1 = ( Pi / anglec1 )**(-0.4) ; deno2 = 2. * e1 * f1 *Sy1 ; gpa1 = gpa1 / ( 1. + ( 0.7 * Pres1 * ( Dext1 / deno2 ) ) ) ; ZTAB2.'D22c'.ireg1 = 1.6 * ( gpa1 * ( f1**( -2. / 3. ) ) ) ; 'FINSI' ; 'FINSI' ; 'FINSI' ; ****************** * ASME CLASSE 1 * ****************** 'SI' ( 'EGA' NOM1 'ASME_CLASSE_1' ) ; 'SI' ( 'EGA' NOM2 'Sa' ) ; 'SI' ( COEF41 'EGA' 1 ) ; ZTAB2.'D1c'.ireg1 = 0.4 * f1 - 0.1 ; 'FINSI' ; 'FINSI' ; 'SI' ( COEF42 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ; 'FINSI' ; 'FINSI' ; ****************** * ASME CLASSE 2 * ****************** 'SI' ( 'EGA' NOM1 'ASME_CLASSE_2' ) ; 'SI' ( 'EGA' NOM2 'Sa' ) ; 'SI' ( COEF51 'EGA' 1 ) ; ZTAB2.'D1c'.ireg1 = 0.4 * f1 - 0.1 ; 'FINSI' ; 'FINSI' ; 'SI' ( COEF52 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ; 'FINSI' ; 'FINSI' ; ********* * ETCM * ********* LOG1 = ( 'EGA' NOM1 'ETCM_CLASSE_2_C' ) ; LOG2 = ( 'EGA' NOM1 'ETCM_CLASSE_2_D' ) ; LOG3 = 'OU' LOG1 LOG2 ; 'SI' ( LOG3 ) ; 'SI' ( COEF6 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 'FINSI' ; 'FINSI' ; ********* * EMSI * ********* LOG1 = ( 'EGA' NOM1 'EMSI_CLASSE_1_C' ) ; LOG2 = ( 'EGA' NOM1 'EMSI_CLASSE_1_D' ) ; LOG3 = 'OU' LOG1 LOG2 ; 'SI' ( LOG3 ) ; 'SI' ( COEF7 'EGA' 1 ) ; ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 'FINSI' ; 'FINSI' ; * * 'SI' ( ZTAB2.'D21c'.ireg1 '<' 1. ) ; ZTAB2.'D21c'.ireg1 = 1. ; 'FINSI' ; D1 = ZTAB2.'D1c'.ireg1 ; D21 = ZTAB2.'D21c'.ireg1 ; D22 = ZTAB2.'D22c'.ireg1 ; 'FINSI' ; ******************************* *RCCM CLASSE 1 ET EMSI CLASSE 1 *L'EQUATION POUR LES PARTIES DROITES SEULES DANS *LE CAS D'UN COUDE N'EST PAS TRAITE ==> LOG3=1 'SI' ( LOG4 'EGA' 0 ) ; *CALCUL DE SA *------------ SA1 = 0 ; SA2 = 0 ; SA3 = 0 ; SA4 = 0 ; RCN = ZTAB2.'RCN'.ireg1 ; Sanom = ZTAB2.'Sanom'.ireg1 ; S = ZTAB2.'S'.ireg1 ; * INTITULE DU REGLEMENT TRAITE 'MESS' ' ' ; 'MESS' ' ' ; *SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; * ON REDUIT LE CHAMP DES MOMENTS AU MAILLAGE ZMAIL1 * ------------------------------------------------- * CALCUL DE SA * ------------ SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ; SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ; SA2 = SA2 / Z1 ; * SA3 = SA1 + SA2 ; ********** * RCC-MR * ********** * SI LES EFFORTS NORMAUX SONT NOTABLES * UNIQUEMENT POUR LE REGLEMENT RCC-MR * POUR LE CALCUL DE Pm+Pb * ------------------------------------ 'SI' ( 'EGA' NOM1 'RCCMR' ) ; 'SI' ( NORM1 'EGA' 1 ) ; * ON REDUIT LE CHAMP DES EFFORTS NORMAUX AU MAILLAGE ZMAIL1 * --------------------------------------------------------- SA3 = SA3 + ( N1b / ( 2. * PI * Rmoy1 * e1 ) ) ; 'FINSI' ; 'FINSI' ; 'FINSI' ; * ON TEST LE REGLEMENT SUR LA VALEUR MAXIMUM * DU CHAMP DE CONTRAINTES DE LA ZONE CONSIDEREE * --------------------------------------------- * stockage MAXIMUM + numero zone MAX = ZTAB2.'SAMAX'.ireg1 ; 'SI' ( SA4 '>EG' MAX ) ; ZTAB2.'SAMAX'.ireg1 = SA4 ; ZTAB2.'NUMZMAX'.ireg1 = izone1 ; 'FINSI' ; *Stockage de Sa ZTABENT.'RESULTATS'.RCN.Sanom.izone1 = SA4; rap1 = SA4 / S ; 'SINON' ; * MOMENTS * ------- MOMA = ZTAB2.MA.ireg1 ; MOMB = ZTAB2.MB.ireg1 ; * CALCUL DE SA * ------------ SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ; SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ; SA2 = SA2 / Z1 ; SA3 = SA1 + SA2 ; *********************************** * RCC-MR Pour le calcul de Pm+Pb * *********************************** * SI LES EFFORTS NORMAUX SONT NOTABLES * UNIQUEMENT POUR LE REGLEMENT RCC-MR * POUR LE CALCUL DE Pm+Pb * ------------------------------------ 'SI' ( 'EGA' NOM1 'RCCMR' ) ; 'SI' ( NORM1 'EGA' 1 ) ; SA3 = SA3 + ( N1 / ( 2. * PI * Rmoy1 * e1 ) ) ; 'FINSI' ; 'FINSI' ; 'FINSI' ; SA4 = SA3 ; ZTABENT.'RESULTATS'.RCN.Sanom = SA4; ZTAB2.'SAMAX'.ireg1 = SA4 ; rap1 = SA4 / S ; 'FINSI' ; rap2 = rap1 - 1.; 'SI' (rap2 '<' 10e-5 ) ; rap1 = 1; 'FINSI' ; 'SI' (rap1 '<EG' 1. ) ; 'MESS' 'LE CRITERE EST SATISFAIT' ; 'SINON' ; 'MESS' 'LE CRITERE N EST PAS SATISFAIT' ; 'FINSI'; 'FINSI' ; *************** 'FIN' BOUCLE2 ; *************** 'MESS' ' ' ; *************** 'FIN' BOUCLE1 ; *************** 'MESS' ' ' ; *POST TRAITEMENTS *---------------- ireg1 = 0 ; ************************ 'REPETER' BOUCLE3 REG2 ; ************************ ireg1 = ireg1 + 1 ; RCN = ZTAB2.'RCN'.ireg1 ; Sanom = ZTAB2.'Sanom'.ireg1 ; SAMAX = ZTAB2.'SAMAX'.ireg1 ; NUMZMAX = ZTAB2.'NUMZMAX'.ireg1 ; NOMRMAX = ZTAB2.'NOMRMAX'.ireg1 ; *SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; 'MESS' 'REGLEMENT:' RCN ; 'MESS' 'LE MAXIMUM DE LA CONTRAINTE ' Sanom ; 'MESS' 'SUR TOUTE LA LIGNE EST ' SAMAX ; 'MESS' 'IL SE SITUE SUR LA ZONE' NUMZMAX ; 'MESS' ' ' ; ZTABENT.'RESULTATS'.RCN.Sanom.'MAX' = SAMAX ; imodel2 = ( 2 * ( NUMZMAX - 1 ) ) + 1 ; imail3 = imodel2 + 1 ; ZTABENT.'RESULTATS'.RCN.'MODELMAX' = ZONMOMA1.imodel2 ; ZTABENT.'RESULTATS'.RCN.'MAILMAX' = ZONMOMA1.imail3 ; 'FINSI' ; *FINSI AUTOMATIQUE *SI PLUS D'UN REGLEMENT 'SI' ( REG2 '>' 1 ) ; 'SI' ( SAMAX '>EG' MAX0 ) ; MAX0 = SAMAX ; CPTMX0 = NUMZMAX ; NOMSMX0 = Sanom ; NOMRMX0 = NOMRMAX ; 'FINSI' ; 'FINSI' ; *************** 'FIN' BOUCLE3 ; *************** 'SI' ( REG2 '>' 1 ) ; ZTABENT.'RESULTATS'.'SAMAX' = MAX0 ; * SI CALCUL AUTOMATIQUE 'SI' ( MAN1 'EGA' 0 ) ; 'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ; 'MESS' 'DU REGLEMENT ' NOMRMX0 ; 'MESS' 'SITUE EN ZONE ' CPTMX0 ; 'MESS' ' ' ; imodel2 = ( 2 * CPTMX0 ) + 1 ; imail3 = imodel2 + 1 ; ZTABENT.'RESULTATS'.'MODELMAX' = ZONMOMA1.imodel2 ; ZTABENT.'RESULTATS'.'MAILMAX' = ZONMOMA1.imail3 ; 'FINSI' ; * FINSI AUTOMATIQUE * SI CALCUL MANUEL 'SI' ( MAN1 'EGA' 1 ) ; 'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ; 'MESS' 'DU REGLEMENT ' NOMRMX0 ; 'MESS' ' ' ; 'FINSI' ; * FINSI MANUEL 'FINSI' ; *********************** * FIN DE LA PROCEDURE * ***********************
© Cast3M 2003 - Tous droits réservés.
Mentions légales