* SISSIB PROCEDUR AF221230 18/04/19 21:15:01 9813 * ********************************************************************** * * PROCEDURE DE CALCUL SISMIQUE * ---------------------------- * * DONNEES : * -------- * * TABRESU = SISSIB TAB1 ; * * TAB1 : OBJET DE TYPE TABLE * * TAB1.'STRUCTURE' = TABLE BASE MODALE * TAB1.'AMORTISSEMENT' = LISTREEL * TAB1.'EXCITATION' = TABLE INDICEE PAR UN ENTIER (<EG 3 ) * * TAB1.'EXCITATION'.I.DIRECTION = MOT X Y OU Z * TAB1.'EXCITATION'.I . 'SPECTRE' = EVOLUTION * TAB1.'EXCITATION'.I . 'AMORTISSEMENT' = LISTREEL * TAB1.'EXCITATION'.I . 'ACCELERATION_MAXIMALE' = REEL ACCELERATION * MAXIMALE DU SEISME * DANS LA DIRECTION I * (FACULTATIF) * * TAB1.'RECOMBINAISON_MODES' = 'MOT' 'SRSS' OU 'ROSENBLUETH' OU 'CQC' * OU 'DIX_POUR_CENT' * TAB1.'DUREE' = REEL (DUREE DE LA PARTIE FORTE DU SIGNAL (FACULTATIF, * OPTION ROSENBLUETH UNIQUEMENT ) * * TAB1.'RECOMBINAISON_DIRECTIONS' = MOT (REGLE DE COMBINAISON DES * DIRECTIONS : QUADRATIQUE ) * * TAB1.'SORTIES' = TABLE * TAB1.'SORTIES'.'DOMAINE' = MAILLAGE OU MODELE * TAB1.'SORTIES'.'DEPLACEMENTS' = LOGIQUE ( VRAI OU FAUX ) POUR * CALCUL DES DEPLACEMENTS * TAB1.'SORTIES'.'ACCELERATIONS' = LOGIQUE ( VRAI OU FAUX ) POUR * CALCUL DES ACCELERATIONS * TAB1.'SORTIES'.'CONTRAINTES' = LOGIQUE ( VRAI OU FAUX ) POUR * CALCUL DES CONTRAINTES * TAB1.'SORTIES'.'REACTIONS' = LOGIQUE ( VRAI OU FAUX ) POUR * CALCUL DES REACTIONS * * TAB1.'REPRISE' = TABLE FACULTATIVE DONNANT LES RESULTATS D'UN * CALCUL PRECEDENT * TAB1.'REPRISE'.'SPECTRE' = TABLE INDICEE PAR UN MOT X OU Y OU Z * TAB1.'REPRISE'.'SPECTRE'.'X'.PT1 = S (F1, EPS1) PT1 POINT SOUS * TENDANT LE MODE, S (F1, EPS1) * VALEUR DU SPECTRE EN * PSEUDO - ACCELERATION * TAB1.'REPRISE'.'COEFF'= TABLE INDICEE PAR ENTIERS DE 1 A NMOD * TAB1.'REPRISE'.'COEFF'.I = TABLE INDICEE PAR ENTIERS DE I A NMOD * TAB1.'REPRISE'.'COEFF'.I.J = PIJ REEL COEFFICIENT DE CORELATION * * TAB1.'IMPRESSION' = LOGIQUE ( VRAI OU FAUX) IMPRESSION AUTOMATIQUE * DE LA TABLE DE RESULTATS. FACULTATIF. * PAR DEFAUT FAUX * TAB1.'TRONCATURE' = LOGIQUE ( VRAI OU FAUX). FACULTATIF. PAR DEFAUT * FAUX PRISE EN COMPTE DES PSEUDOMODES QUI * DOIVENT ETRE INCLUS DANS LA BASE MODALE * --------------- Option supplementaire ------------------------------ * * TABRESU = SISSIB TAB1 TAB2; * * La procedure SISSIB autre que la deternimation de la reponse * dynamique d'une structure par la methode spectrale calcule la * matrice correspondant à l'enveloppe des efforts pour les elements * coque,voile (selon le modele de MARTI à trois couches) et pour les * elements de type portique (frame) (POUT et TIMO). * * La table TAB2 fourni les elements d'entrées pour ce calcul: * * TAB2: Table concernant le voile i-eme objet * de l'etude * .I: voile i * .'TYPE': Chaine 'VOILE' 'POTEAU' * Si TYPE == VOILE * .'MAIL': Maillage (MAILLAGE) i-eme voile * .'MODE': Modele (MMODEL) i-eme voile * .'MATE': Materiau (MCHAML) i-eme voile * .'EPAISSEUR': Epaisseur (FLOTTANT) * .'ENROBAGE_E': Enrobage couche externe (FLOTTANT) * .'ENROBAGE_I': Enrobage couche interne (FLOTTANT) * .'COT_THETA': Cotg(theta) - facteur pour * .'DIR1': Direction 1 des axes locaux * .'DIR2': Direction 2 des axes locaux * Si TYPE == POUTR * .'MAIL': Maillage (MAILLAGE) i-eme element frame * .'MODE': MMODEL associé à l'element * * * En sortie dans la TABRESU on a: * * TABRESU.'CONTRAINTES_MEMBRANE' sous table des efforts modaux * projetés selon le modele de MARTI * pour les voiles et les coques. * .'VOIi' Liste des voiles objet de l'etude. * La numerotation est progressive: * VOI1; VOI2 etc * . I efforts modaux projetes * - mode I * . J efforts modaux projetes * et amplifies selon le coefficient * d'amplification deduit par le * spectre selon la direciton J * Composantes MCHAML: * N11E, N22E, N12E, N11I N22I, N12I * M11T, M22T, M12T, V1T, V2T, VR * (voir notice EFFMARTI) * TABRESU.'CONTRAINTES_POUTRE' sous table des efforts modaux * pour les elements frame * (TIMO et POUT). * .'POUi' Liste des elements frame objet de * l'etude. * La numerotation est progressive: * POU1; POU2 etc * . I efforts modaux projetes * - mode I * . J efforts modaux projetes * et amplifies selon le coefficient * d'amplification deduit par le * spectre selon la direciton J * Composantes MCHAML: * EFFX,EFFY,EFFZ,MOMX,MOMY,MOMZ * TABRESU.'COVARIANCE' sous table de la matrice * caracteristique de l'enveloppe de * la reponse sismique pour les * elements voile et frame * * pour les voiles les efforts sont * calcules selon le modele à trois * couche de MARTI (modele MARTI - * voir EFFMARTI) * .'VOIi' Liste des voiles objet de l'etude. * La numerotation est progressive: * VOI1; VOI2 etc * Les composantes du MCHAML sont: * C11E C22E C33E C12E C13E C23E * C11I C22I C33I C12I C13I C23I * C11V C22V C12V * plus precisement * couche externe [C11E C12E C13E * C12E C22E C23E * C13E C23E C33E] * couche interne [C11I C12I C13I * C12I C22I C23I * C13I C23I C33I] * couche interm. [C11V C12V * C12V C22V] * ou: * (couche externe) * C11E = N11E_max^2 * C22E = N22E_max^2 * C33E = N12E_max^2 * C12E = N11EN22E * (covariance N11E, N22E) * C13E = N11EN12E * (covariance N11E, N12E) * C23E = N22EN12E * (covariance N22E, N12E) * (couche interne) * C11I = N11I_max^2 * C22I = N22I_max^2 * C33I = N12I_max^2 * C12I = N11IN22I * (covariance N11I, N22I) * C13I = N11IN12I * (covariance N11I, N12I) * C23I = N22IN12I * (covariance N22I, N12I) * (couche intermediaire) * C11V = V1_max^2 * C22V = V2_max^2 * C12V = V1V2 * (covariance V1,V2) * pour les elements frame * (POUT ou TIMO): * .'POUi' Liste des elements frame objet * de l'etude. * La numerotation est progressive: * POU1; POU2 etc * Les composantes du MCHAML sont: * C11 C12 C13 C14 C15 C16 * C22 C23 C24 C25 C26 * C33 C34 C35 C36 * C44 C45 C46 * C55 C56 * C66 * ou: * C11 = EFFX_max^2 * C22 = EFFY_max^2 * C33 = EFFZ_max^2 * C44 = MOMX_max^2 * C55 = MOMY_max^2 * C66 = MOMZ_max^2 * * C12 = EFFXEFFY * (covariance EFFX, EFFY) * C13 = EFFXEFFZ * (covariance EFFX, EFFZ) * C14 = EFFXMOMX * (covariance EFFX, MOMX) * C15 = EFFXMOMY * (covariance EFFX, MOMY) * C16 = EFFXMOMZ * (covariance EFFX, MOMZ) * * C23 = EFFYEFFZ * (covariance EFFY, EFFZ) * C24 = EFFYMOMX * (covariance EFFY, MOMX) * C25 = EFFYMOMY * (covariance EFFY, MOMY) * C26 = EFFYMOMZ * (covariance EFFY, MOMZ) * * C34 = EFFZMOMX * (covariance EFFZ, MOMX) * C35 = EFFZMOMY * (covariance EFFZ, MOMY) * C36 = EFFZMOMZ * (covariance EFFZ, MOMZ) * * C45 = MOMXMOMY * (covariance MOMX, MOMY) * C46 = MOMXMOMZ * (covariance MOMX, MOMZ) * * C56 = MOMYMOMZ * (covariance MOMY, MOMZ) * *********************************************************************** ZUN1 = 1 ; Z2PI = 2. '*' PI ; * * TABLE ZTABSOR POUR GESTION INTERNE DES SORTIES * PERMET DE GARDER LA PROGRAMMATION INITIALE * AVANT UNE REFONTE COMPLETE ENVISAGEABLE * ZTABSOR = 'TABLE' 'SORTIES' ; * * NB DE MODES MAILLAGE ; * ZTMOD = 'TABLE' TAB1.'STRUCTURE'.'MODES' ; ZGEO1 = ZTMOD.'MAILLAGE' ; * * NB DE DIRECTION DE SEISMES ; * ZTAB2 = TAB1.'EXCITATION'; * * Y A T IL UNE TABLE DE REPRISE * ZIREP = 0 ; 'SI' ( 'EXISTE' TAB1 'REPRISE' ) ; ZIREP = 1 ; 'FINSI' ; * * VERIFICATION DU MAILLAGE DE SORTIE * 'SI' ( 'EXISTE' ( TAB1.'SORTIES' ) 'DOMAINE' ) ; ZDOM1 =1 ; ZOB1 = TAB1.'SORTIES'.'DOMAINE' ; ZTABSOR . 'DOMAINE' = ZOB1 ; 'SI' ( 'EGA' ZTYP1 'MMODEL ' ) ; ZMAI1 = 'EXTRAIRE' ZOB1 'MAIL' ; 'SINON' ; 'SI' ( 'EGA' ZTYP1 'MAILLAGE' ) ; ZMAI1 = ZOB1 ; 'SINO' ; 'MESSAGE' 'A L INDICE DOMAINE IL FAUT DONNER ' 'ERREUR' 'PROC_SISSI' ; 'FINSI'; 'FINSI' ; 'SINON' ; ZDOM1 = 0 ; 'FINSI' ; * * PRISE EN COMPTE DES PSEUDOMODES * ZPSEU = FAUX ; 'SI' ( 'EXISTE' TAB1 'TRONCATURE' ) ; ZPSEU1 = TAB1.'TRONCATURE' ; 'SI' ( 'EGA' ZTYP3 'LOGIQUE ' ) ; ZPSEU = ZPSEU1 ; 'SINON' ; 'MESSAGE' 'A L INDICE TRONCATURE IL FAUT DONNER ' 'UN OBJET DE TYPE LOGIQUE' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; * ZTSOR = TAB1.'SORTIES' ; ZIDEPL = 0 ; ZIACCE = 0 ; ZICONT = 0 ; ZIREAC = 0 ; ZISOR = 0 ; * * VERIFICATION DE LA COMPATIBILITE DU TYPE DE SORTIES AVEC LES * DONNEES DE LA BASE MODALE * 'SI' ( 'EXISTE' ZTSOR 'DEPLACEMENTS' ) ; 'SI' ( ZTSOR . 'DEPLACEMENTS' ) ; ZIDEPL = 1 ; ZISOR = ZISOR + 1 ; 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) ); 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTSOR 'ACCELERATIONS' ) ; 'SI' ( ZTSOR . 'ACCELERATIONS' ) ; ZIACCE = 1 ; ZISOR = ZISOR + 1 ; 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) ); 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTSOR 'CONTRAINTES' ) ; 'SI' ( ZTSOR . 'CONTRAINTES' ) ; ZICONT = 1 ; ZISOR = ZISOR + 1 ; 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'CONTRAINTE_MODALE' ) ); 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTSOR 'REACTIONS' ) ; 'SI' ( ZTSOR . 'REACTIONS' ) ; ZIREAC = 1 ; ZISOR = ZISOR + 1 ; 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'REACTION_MODALE' ) ); 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; * 'SI' ( ZDOM1 'EGA' 0 ) ; ZNSOR = ZNSOR '+' 1 ; 'FINSI' ; * 'SI' ( ZNSOR 'EGA' 0 ) ; 'MESSAGE' ' ' ; 'MESSAGE' 'ATTENTION IL FAUT DEFINIR UNE OU DES SORTIES ' 'DANS TAB4' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; * * PRETRAITEMENT DES PSEUDOMODES * 'SI' ZPSEU ; ZTPSEU = 'TABLE' 'PSEUDO' ; ZT2 = TAB1.'STRUCTURE'.'PSEUDO_MODES' ; ZIPS = 0 ; 'REPETER' ZLOO100 ZNPSEU ; ZIPS = ZIPS '+' 1 ; ZPSDIR = ZT2.ZIPS.'DIRECTION' ; ZTPSEUD = 'TABLE' 'PSEU_DIR' ; ZTPSEU.ZPSDIR = ZTPSEUD ; ZTPSEUD.'DEPLACEMENT' = ZT2.ZIPS.'DEPLACEMENT' ; 'SI' ( ZICONT 'EGA' 1 ) ; 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'CONTRAINTE' ) ; ZTPSEUD.'CONTRAINTE' = ZT2.ZIPS.'CONTRAINTE' ; 'SINON' ; 'MESSAGE' 'IL FAUT DONNER LES CONTRAINTES POUR LE PSEUDOMODE' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'SI' ( ZIREAC 'EGA' 1 ) ; 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'REACTION' ) ; ZTPSEUD.'REACTION' = ZT2.ZIPS.'REACTION' ; 'SINON' ; 'MESSAGE' 'IL FAUT DONNER LES REACTIONS POUR LE PSEUDOMODE' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FIN' ZLOO100 ; 'FINSI' ; * * VERIFICATION DES DONNEES POUR LA COMBINAISON DES DIRECTIONS * 'SI' ( 'EXISTE' TAB1 'RECOMBINAISON_DIRECTIONS' ) ; ZMO2 = TAB1.'RECOMBINAISON_DIRECTIONS' ; 'SI' ( 'EGA' ZMO2 'QUADRATIQUE' ); ZIRDIR = 1 ; 'SINON' ; 'MESSAGE' 'ERREUR DE DONNEE POUR LA COMBINAISON DES DIRECTIONS' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'SINON'; 'MESSAGE' 'IL FAUT DONNER UNE REGLE DE COMBINAISON DES DIRECTIONS' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; * * VERIFICATION DES AMORTISSEMENTS * LAM1 = TAB1.'AMORTISSEMENT' ; * ZI = 0 ; 'REPETER' ZLOOP3 ZNDIR; ZI = ZI '+' 1 ; ZLASP = ZTAB2.ZI.'AMORTISSEMENT' ; * 'SI' ( ( ZAMAX1 '>' ZAMX1 ) 'OU' ( ZAMIN1 '<' ZAMN1 ) ) ; 'MESSAGE' 'AMORTISSEMENT STRUCTURE INCOMPATIBLE AVEC'; 'MESSAGE' 'AMORTISSEMENT DES SPECTRES DU SEISME' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; * 'FIN' ZLOOP3 ; * * CREATION DES RAPPORTS Q/M ET Q/MW2 * ZQSM = 'TABLE' 'FACTEUR_DE_PARTICIPATION' ; ZQSMW2 = 'TABLE' 'QSMW2' ; ZI = 0 ; 'REPETER' ZLOOP4 ZNMOD ; ZI = ZI '+' 1 ; ZFR = ZTMOD.ZI.'FREQUENCE' ; ZMG = ZTMOD.ZI.'MASSE_GENERALISEE' ; ZOMEG = Z2PI '*' ZFR ; ZOMEG2 = ZOMEG '*' ZOMEG ; * ZQSMI = 'TABLE' 'QSM' ; ZQSMW2I = 'TABLE' 'QSMW2' ; ZQSM.ZI = ZQSMI ; ZQSMW2.ZI = ZQSMW2I ; ZNQ = 3 ; ZDI = 0 ; 'REPETER' ZLOOP5 ZNQ ; ZDI = ZDI '+' 1 ; ZQ = ZTMOD.ZI.'DEPLACEMENTS_GENERALISES'.ZDI ; ZQSMI.ZDI = ZQ '/' ZMG ; ZQSMW2I.ZDI = ZQ '/' ( ZMG '*' ZOMEG2 ) ; 'FIN' ZLOOP5 ; 'FIN' ZLOOP4 ; * * ACCELERATION MAXIMALE DU SEISME * ZTGAM = 'TABLE' 'ACCELERATION_MAXIMALE' ; ZDIR = 0 ; 'REPETER' ZLOOP60 ZNDIR ; ZDIR = ZDIR '+' 1 ; 'SI' ( 'EXISTE' ( TAB1.'EXCITATION'.ZNDIR ) 'ACCELERATION_MAXIMALE' ) ; ZTGAM.ZDIR = TAB1.'EXCITATION'.ZNDIR.'ACCELERATION_MAXIMALE' ; 'SINON' ; ZEVSPI = TAB1.'EXCITATION'.ZDIR.'SPECTRE' ; ZTGAM.ZDIR = 'EXTRAIRE' ZLSPI ZPTSP ; 'FINSI' ; 'FIN' ZLOOP60 ; * * INITIALISATION DE LA TABLE DES RESULTATS * TRESU = 'TABLE' 'RESULATS' ; * * DETERMINATION DES VALEURS DES SPECTRES POUR CHAQUE MODE * ET CHAQUE DIRECTION * 'SI' ( ZIREP 'EGA' 1 ) ; ZTSPEC = TAB1.'REPRISE'.'SPECTRE' ; 'SINON' ; ZTSPEC = 'TABLE' 'SPECTRE' ; ZTREP = 'TABLE' 'REPRISE' ; ZTREP.'SPECTRE' = ZTSPEC ; TRESU.'REPRISE' = ZTREP ; * ZI = 0 ; 'REPETER' ZLOOP1 ZNMOD ; ZI = ZI '+' 1 ; ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; ZFR = ZTMOD.ZI.'FREQUENCE' ; ZDI = 0; ZTSPD = 'TABLE' 'SPEC_D' ; ZTSPEC.ZI = ZTSPD ; 'REPETER' ZLOOP10 ZNDIR ; ZDI = ZDI '+' 1 ; ZEVSPI = TAB1.'EXCITATION'.ZDI.'SPECTRE' ; ZLAMSPI = TAB1.'EXCITATION'.ZDI.'AMORTISSEMENT' ; 'SI' ( ZNAM 'EGA' 1 ) ; ZAMSP = 'EXTRAIRE' ZLAMSPI ZUN1 ; 'SI' ( ( 'ABS' ( ZXSI '-' ZAMSP) ) '<EG' 1.E-4 ) ; ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZUN1 ; ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) ); 'SINON' ; 'MESSAGE' 'ERREUR DANS LES AMORTISSEMENTS' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'SINON' ; ZIAM = 0 ; 'REPETER' ZLOOP11 ZNAM ; ZIAM = ZIAM '+' 1 ; ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZIAM ; ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) ) ) ; 'FIN' ZLOOP11 ; 'FINSI' ; 'FIN' ZLOOP10 ; 'FIN' ZLOOP1 ; 'FINSI' ; * * CALCUL DES COEFFICIENTS DE CORELATION ENTRE MODES * SELON LES TYPES DE COMBINAISON SOUHAITEES * 'SI' ( ZIREP 'EGA' 1 ) ; ZTPIJ = TAB1.REPRISE.'PIJ' ; 'SINON'; ZTPIJ = 'TABLE' 'COEFF' ; ZTREP.'PIJ' = ZTPIJ ; ZI = 0 ; 'REPETER' ZLOOP20 ZNMOD ; ZI = ZI '+' 1 ; ZTPI = 'TABLE' 'COEFF_I' ; ZTPIJ.ZI = ZTPI ; ZTPI.ZI = 1.0 ; * 'SI' ( ZI 'NEG' 1 ) ; ZNJ = ZI '-' 1 ; ZJ = 0 ; 'REPETER' ZLOOP21 ZNJ ; ZJ = ZJ '+' 1 ; ZMREC = TAB1.'RECOMBINAISON_MODES'; ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; ZFRI = ZTMOD.ZI.'FREQUENCE' ; ZOMEGI = Z2PI '*' ZFRI ; ZXSJ = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZJ ; ZFRJ = ZTMOD.ZJ.'FREQUENCE' ; ZOMEGJ = Z2PI '*' ZFRJ ; 'SI' ( 'EGA' ZMREC 'SRSS' ) ; ZTPI.ZJ = 0. ; 'SINON'; 'SI' ( 'EGA' ZMREC 'CQC' ) ; ZOM2I = ZOMEGI '*' ZOMEGI ; ZOM2J = ZOMEGJ '*' ZOMEGJ ; Z1 = 8.0 '*' ( ( ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ ) '**' 0.5 ) ; Z2 = ZOMEGI '*' ZOMEGJ ; Z3 = ( ZOM2I - ZOM2J ) '**' 2 ; Z4 = 4. '*' ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ '*' ( ZOM2I '+' ZOM2J ) ; Z5 = 4. '*' ( ( ZXSI '**' 2 ) '+' ( ZXSJ '**' 2 ) ) '*' ZOM2I '*' ZOM2J ; Z6 = ( ZXSI '*' ZOMEGI ) '+' ( ZXSJ '*' ZOMEGJ ) ; ZTPI.ZJ = Z1 '*' Z6 '*' Z2 '/' ( Z3 '+' Z4 '+' Z5 ) ; 'SINON' ; 'SI' ( 'EGA' ZMREC 'ROSENBLUETH' ) ; 'SI' ( 'EXISTE' TAB1 'DUREE' ) ; ZTDUR = TAB1.'DUREE' ; ZEPSI = ZXSI '+' ( 2. / ( ZOMEGI '*' ZTDUR ) ) ; ZEPSJ = ZXSJ '+' ( 2. / ( ZOMEGJ '*' ZTDUR ) ) ; ZFR1I = ZFRI '*' ( ( 1. '-' ( ZEPSI '*' ZEPSI ) ) '**' 0.5 ) ; ZFR1J = ZFRJ '*' ( ( 1. '-' ( ZEPSJ '*' ZEPSJ ) ) '**' 0.5 ) ; ZALF = ( ZFR1I '-' ZFR1J ) '/' ( ( ZFRI '*' ZEPSI ) '+' ( ZFRJ '*' ZEPSJ ) ) ; ZTPI.ZJ = 1. '/' ( 1. '+' ( ZALF '*' ZALF ) ) ; 'SINON' ; 'MESSAGE' 'POUR LA METHODE DE ROSENBLUETH DONNER' ; 'MESSAGE' 'LA DUREE DU SIGNAL' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'SINON' ; 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ; ZDELT = 'ABS' ( 2. '*' ( ZFRJ '-' ZFRI ) '/' ( ZFRJ '+' ZFRI ) ) ; 'SI' ( ZDELT '<EG' 0.1 ) ; ZTPI.ZJ = 1. ; 'SINON'; ZTPI.ZJ = 0. ; 'FINSI'; 'SINON' ; 'MESSAGE' 'ERREUR DE DONNEES POUR LA REGLE' ; 'MESSAGE' 'DE COMBINAISON DE MODES' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'FIN' ZLOOP21; 'FINSI' ; 'FIN' ZLOOP20 ; 'FINSI'; * * * --------------------------------------------------------------- * +++++++++++++++ CALCUL DE LA REPONSE +++++++++++++++++ * --------------------------------------------------------------- * * REDUCTION DES DONNEES MODALES SUR LE DOMAINE D'ETUDE * ZTDEPL = 'TABLE' 'DEF_MOD' ; ZTCONT = 'TABLE' 'CONT_MOD' ; ZI = 0 ; 'REPETER' ZLOOP30 ZNMOD ; ZI = ZI '+' 1 ; ZPHI = ZTMOD.ZI.'DEFORMEE_MODALE' ; * * AJOUT DU TEST SUR LA NECESSITE D AVOIR LES CONTRAINTES MODALES * POUR LE CALCUL DE REPONSE F. PICARD LE 24 MAI 1993 * 'SI' ( 'EGA' ZDOM1 0 ) ; 'SI' ( 'EGA' ZI 1 ) ; ZMAI1 = 'EXTRAIRE' ZPHI 'MAIL' 'NOMU' ; 'FINSI' ; 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ; ZTDEPL.ZI = ZPHI ; 'FINSI'; 'SI' ( 'EGA' ZICONT 1 ) ; ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE'; ZTCONT.ZI = ZCON ; 'FINSI' ; 'SINON' ; 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ; 'FINSI'; 'SI' ( 'EGA' ZICONT 1 ) ; ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE'; 'FINSI' ; 'FINSI' ; 'FIN' ZLOOP30 ; * * REDUCTION DES PSEUDOMODES ET VERIFICATION DES DONNEES * 'SI' ZPSEU ; ZDIR = 0 ; ZDI0 = 0; 'REPETER' ZLOO101 ZNDIR ; ZDIR = ZDIR '+' 1 ; 'SI' ( 'EGA' ZMORES 'X' ) ; ZDI = 1 ; 'FINSI' ; 'SI' ( 'EGA' ZMORES 'Y' ) ; ZDI = 2 ; 'FINSI' ; 'SI' ( 'EGA' ZMORES 'Z' ) ; ZDI = 3 ; 'FINSI' ; 'SI' ( 'EXISTE' ZTPSEU ZDI ) ; ZTPSEUD = ZTPSEU.ZDI ; 'SI' ( 'EGA' ZDOM1 1 ) ; 'SI' ( 'EGA' ZIDEPL 1 ) ; ZCH2 = ZTPSEUD.'DEPLACEMENT' ; 'FINSI' ; 'SI' ( 'EGA' ZICONT 1) ; ZCO2 = ZTPSEUD.'CONTRAINTE' ; 'FINSI' ; 'FINSI' ; 'SINON' ; 'MESS' 'IL MANQUE LE PSEUDOMODE RELATIF A LA DIRECTION : ' ZMORES ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FIN' ZLOO101 ; 'FINSI' ; * * REPONSE PAR DIRECTION * * AJOUT DE TEST POUR LE CAS D UN SEISME MONODIRECTIONNEL OU BIDIRECTIONNEL * F. PICARD LE 24 MAI 1993 * ZDIR = 0 ; ZDI0 = 0; 'REPETER' ZLOOP35 ZNDIR ; ZDIR = ZDIR '+' 1 ; TRESDIR = 'TABLE' 'RESULTATS_DIRECTIONS' ; TRESU.ZMORES = TRESDIR ; *------------------------------------------------------------ * mise a jour pour prise en compte correcte des accelerations * F PICARD le 15 decembre 1993 *------------------------------------------------------------ 'SI' ( 'EGA' ZMORES 'X' ) ; ZDI = 1 ; 'FINSI' ; 'SI' ( 'EGA' ZMORES 'Y' ) ; ZDI = 2 ; 'FINSI' ; 'SI' ( 'EGA' ZMORES 'Z' ) ; ZDI = 3 ; 'FINSI' ; *----- fin mise a jour --------------* ZSOR = 0 ; 'REPETER' ZLOOP36 ZNSOR ; ZSOR = ZSOR '+' 1 ; 'SI' ( ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) 'OU' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ) ; ZREP = ZTDEPL.ZUN1 '*' 0. ; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 'SI' ( 'EGA' ZVMOD 'FOUR' ) ; 'NATURE' 'DIFFUS' ; 'FINSI' ; 'NATURE' 'DIFFUS' ; 'FINSI' ; 'SINON' ; 'SI' ( ( 'EGA' ZVMOD 'AXIS' ) 'ET' 'MESS' 'UNE STRUCTURE AXISYMETRIQUE N EST EXCITABLE' ' QUE PAR UN SEISME VERTICAL' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; 'FINSI'; ZTRON = ZU ; ZK = 0 ; 'REPETER' ZLOOP38 ZNMOD ; ZK = ZK '+' 1 ; ZTRON = ZTRON '-' ( ZQSM.ZK.ZDI '*' ZTDEPL.ZK ) ; 'FIN' ZLOOP38 ; 'FINSI' ; 'FINSI'; 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; ZREP = ZTCONT.ZUN1 '*' 0. ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; ZREP = ZTMOD.ZUN1.'REACTION_MODALE' '*' 0. ; 'FINSI' ; ZI = 0 ; 'REPETER' ZLOOP37 ZNMOD ; ZI = ZI '+' 1 ; * *ON ASSOCIE LES BONS QN AUX BONNES DIRECTIONS DE SEISME * 'SI' ('EGA' ZMORES 'X'); ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.1; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.1 ; 'FINSI' ; 'FINSI'; 'SI' ('EGA' ZMORES 'Y'); ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.2; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.2 ; 'FINSI' ; 'FINSI'; 'SI' ('EGA' ZMORES 'Z'); ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.3; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.3 ; 'FINSI' ; 'FINSI'; ****** PARTIE SRSS ON Y PASSE TOUJOURS ****** 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' ( ZTDEPL.ZI '**' 2 ) ); 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' ( ZTDEPL.ZI '**' 2 ) ) ; 'FINSI'; 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' ( ZTCONT.ZI '*' ZTCONT.ZI ) ) ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; ZREI = ZTMOD.ZI.'REACTION_MODALE' ; ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' ( ZREI '**' 2 ) ) ; 'FINSI' ; ****** TRAITEMENT DES DIFFERENTES METHODES DE RECOMBINAISON *********** ZMREC = TAB1.'RECOMBINAISON_MODES'; 'SI' ( ( 'NEG' ZMREC 'SRSS' ) 'ET' ( ZI >EG 2 ) ) ; ZJ = 0 ; 'REPETER' ZLOOP40 ( ZI '-' 1 ) ; ZJ = ZJ '+' 1 ; ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSMW2.ZJ.ZDI ; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSM.ZJ.ZDI ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' ZCH1 ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' ZCH2 ; 'FINSI'; 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' ( ZTCONT.ZI '*' ZTCONT.ZJ ) ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; ZREI = ZTMOD.ZI.'REACTION_MODALE' ; ZREJ = ZTMOD.ZJ.'REACTION_MODALE' ; ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' ZCH3 ; 'FINSI' ; 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ; ZREPC = 'ABS' ZREPC ; 'FINSI'; 'SI' ( 'EGA' ZJ 1 ) ; ZREPCT = ZREPC ; 'SINON' ; ZREPCT = ZREPCT '+' ZREPC ; 'FINSI' ; 'FIN' ZLOOP40 ; ZREP = ZREP '+' ZREPCT ; 'FINSI' ; 'FIN' ZLOOP37 ; ****** ACCELERATION TERME COMPLEMENTAIRE ******** 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; GAMA0 = ZTGAM.ZDIR ; ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) '*' ( ZTRON '**' 2 ) ) ; 'FINSI' ; ****** ON RAJOUTE LES PSEUDOMODES ******** 'SI' ZPSEU ; GAMA0 = ZTGAM.ZDIR ; 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) * ( ZTPSEU.ZDI.'DEPLACEMENT' '**' 2 ) ) ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) * ( ZTPSEU.ZDI.'CONTRAINTE' '**' 2 ) ) ; 'FINSI' ; 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) * ( ZTPSEU.ZDI.'REACTION' '**' 2 ) ) ; 'FINSI' ; 'FINSI' ; ****** ECRITURE DNS LA TABLE DE RESULTATS ******* ZREP = ( 'ABS' ZREP ) '**' 0.5 ; TRESDIR.ZMOSOR = ZREP ; 'FIN' ZLOOP36 ; 'FIN' ZLOOP35 ; * * ***** COMBINAISON DES DIRECTIONS ****** * TREST = 'TABLE' 'RESULTATS_TOTAUX' ; TRESU.'REPONSE_TOTALE' = TREST ; 'SI' ( 'EGA' TAB1.'RECOMBINAISON_DIRECTIONS' 'QUADRATIQUE' ) ; ZSOR = 0 ; 'REPETER' ZLOOP50 ZNSOR ; ZSOR = ZSOR '+' 1 ; ZDIR = 0 ; 'REPETER' ZLOOP51 ZNDIR ; ZDIR = ZDIR '+' 1 ; ZMORES = TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 'SI' ( 'EGA' ZDIR 1 ) ; ZREPT = TRESU.ZMORES.ZMOSOR '**' 2 ; 'SINON' ; ZREPT = ZREPT '+' ( TRESU.ZMORES.ZMOSOR '**' 2 ) ; 'FINSI' ; 'FIN' ZLOOP51 ; TREST.ZMOSOR = ZREPT '**' 0.5 ; 'FIN' ZLOOP50 ; 'FINSI' ; * * * IMPRESSION DES RESULTATS * ZIMPR = FAUX ; 'SI' ( 'EXISTE' TAB1 'IMPRESSION' ) ; ZIMPR1 = TAB1.'IMPRESSION' ; 'SI' ( 'EGA' ZTYP2 'LOGIQUE ' ) ; ZIMPR = ZIMPR1 ; 'SINON' ; 'MESSAGE' 'A L INDICE IMPRESSION IL FAUT DONNER ' 'UN OBJET DE TYPE LOGIQUE' ; 'ERREUR' 'PROC_SISSI' ; 'FINSI' ; * 'FINSI' ; 'SI' ZIMPR ; 'SAUTE' 20 'LIGNE' ; 'MESS' ' | RESULTATS DE LA PROCEDURE S I S S I |' ; 'MESS' ' |___________________________________________|' ; 'SAUTE' 5 'LIGNE' ; * 'MESS' ' VALEUR DU SPECTRE' ; 'SAUTE' 2 'LIGNE' ; ZI = 0 ; 'REPETER' ZLOOP60 ZNMOD ; ZI = ZI '+' 1 ; ZFI = ZTMOD.ZI.'FREQUENCE' ; ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; ' AMORTISSEMENT : ' ZXSI ; ZDIR = 0 ; 'REPETER' ZLOOP61 ZNDIR ; ZDIR = ZDIR '+' 1 ; 'MESS' ' SPECTRE ' ZMODIR ' : ' TRESU.'REPRISE'.'SPECTRE'.ZI.ZDIR ; 'FIN' ZLOOP61 ; 'SAUTE' 2 'LIGNE' ; 'FIN' ZLOOP60 ; * * 'SAUTE' 5 'LIGNE' ; 'MESS' ' COEFFICIENTS DE CORRELATION ENTRE MODES' ; 'SAUTE' 2 'LIGNE' ; ZI = 1 ; 'REPETER' ZLOOP62 ( ZNMOD '-' 1 ) ; ZI = ZI '+' 1 ; ZJ = 0 ; 'REPETER' ZLOOP63 ( ZI '-' 1 ) ; ZJ = ZJ '+' 1 ; 'FIN' ZLOOP63 ; 'FIN' ZLOOP62 ; * * ZDIR = 0; 'REPETER' ZLOOP64 ZNDIR ; ZDIR = ZDIR '+' 1 ; 'MESS' ' DIRECTION ' ZDIR ' : ' ZMODIR ; 'SAUTE' 2 'LIGNE' ; ZSOR = 0 ; 'REPETER' ZLOOP65 ZNSOR ; ZSOR = ZSOR '+' 1 ; 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ; 'FIN' ZLOOP65 ; 'FIN' ZLOOP64 ; * * ZSOR = 0 ; 'MESS' ' REPONSE COMBINEE TOUTES DIRECTIONS D EXCITATION' ; 'SAUTE' 2 'LIGNE' ; 'REPETER' ZLOOP66 ZNSOR ; ZSOR = ZSOR '+' 1 ; 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ; 'FIN' ZLOOP66 ; * 'FINSI' ; * 'MENAGE' ; * * * Modification du 16-10-2016 pour calculer les concomitances * selon le modele de MARTI a trois couches * 'MESS' ' CALCUL DES COVARIANCES' ; * * controle dimension du calcul 'MESS' 'Calcul possible seulement en 3D'; 'FINSI'; * * extraction table base modale MTAB1 = TAB1.'STRUCTURE'; * * Liste des mots pour chaque voile objet du calcul * I = 1; * 'REPE' IND1 ('DIME' MTAB2); * 'SI' (I 'EGA' 1); * L_MAIL = 'MOTS' ('CHAINE' 'VOI' I); * 'SINON'; * L_MAIL = L_MAIL 'ET' ('MOTS' ('CHAINE' 'VOI' I)); * 'FINSI'; * I = I + 1; * 'FIN' IND1; * * contraintes de membrane pour chaque mode; * KK1 = 1; JJ_VOILE = 1; JJ_POUTR = 1; * boucle sur les voiles *------------ Voiles ------------------------------------------ TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE' = TABLE; 'SI' ('NON' ('EXIST' (TRESU.'REPONSE_TOTALE') ('COVARIANCE'))); TRESU.'REPONSE_TOTALE' . 'COVARIANCE' = TABLE; 'FINSI'; MO_VOILE = CHAINE 'VOI' JJ_VOILE; * maillage voile MAI1 = MTAB2. KK1 .'MAIL'; * controle maillage voile 'VERSENS' MAI1; * * extraction des quantités H1 = MTAB2. KK1 .'EPAISSEUR'; ENRE1 = MTAB2. KK1 .'ENROBAGE_E'; ENRI1 = MTAB2. KK1 .'ENROBAGE_I'; COT1 = MTAB2. KK1 .'COT_THETA'; * controle MESS 'Pas de MMODEL'; 'FINSI'; MESS 'Aucun epaisseur'; 'FINSI'; MESS 'Aucun enrobage externe'; 'FINSI'; MESS 'Aucun enrobage interne'; 'FINSI'; MESS 'Pas de cotangente'; 'FINSI'; * 'SI' (NN1 'EGA' 0); * Controle sur le modes 'SINON'; I = 1; 'REPE' IND1 (NN1); * Boucle sur les modes CONTMOD = RTENS CONTMOD (MTAB2. KK1 .'DIR1') (MTAB2. KK1 .'DIR2'); * * Creation des MCHAML vides * * * * * extraction des efforts globaux * CHP3 = ((CHP1)*(CHP1)) + ((CHP2)*(CHP2)); CHP3 = ((CHP3)**(0.5)); AAA = MASQU CHP3 'EGINFE' (1.E-12); CHP3 = CHP3 + (((AAA))*(1.E99)); 'OUBL' CHP1; 'OUBL' CHP2; 'OUBL' CHP3; * * Determination des efforts pour les * membranes inferieure et superieure * DD1 = H1 - ((ENRE1 + ENRI1)) ; * N11E = N11E 'ET' (((0.5)*(N11S)) + ((M11S)/(DD1)) + (((V1S)*(V1S))/(((2.0)*(COT1))*(V0S)))); N22E = N22E 'ET' (((0.5)*(N22S)) + ((M22S)/(DD1)) + (((V2S)*(V2S))/(((2.0)*(COT1))*(V0S)))); N12E = N12E 'ET' (((0.5)*(N12S)) + ((M12S)/(DD1)) + (((V1S)*(V2S))/(((2.0)*(COT1))*(V0S)))); N11I = N11I 'ET' (((0.5)*(N11S)) - ((M11S)/(DD1)) + (((V1S)*(V1S))/(((2.0)*(COT1))*(V0S)))); N22I = N22I 'ET' (((0.5)*(N22S)) - ((M22S)/(DD1)) + (((V2S)*(V2S))/(((2.0)*(COT1))*(V0S)))); N12I = N12I 'ET' (((0.5)*(N12S)) - ((M12S)/(DD1)) + (((V1S)*(V2S))/(((2.0)*(COT1))*(V0S)))); * * * Assemblage MTAB1.MODES. I .CONTRAINTE_MEMBRANE = TABLE; MTAB1.MODES. I .CONTRAINTE_MEMBRANE.(MO_VOILE) = N11E ET N22E ET N12E ET N11I ET N22I ET N12I ET M11 ET M22 ET M12 ET V1 ET V2 ET VR; * * Deduction des autres quantites MG_1 = MTAB1 . MODES . I . MASSE_GENERALISEE; DG_1 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 1; DG_2 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 2; DG_3 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 3; MM_1 = ((DG_1 * DG_1) / MG_1) ; MM_2 = ((DG_2 * DG_2) / MG_1) ;; MM_3 = ((DG_3 * DG_3) / MG_1) ; FP_1 = ((DG_1) / MG_1) ; FP_2 = ((DG_2) / MG_1) ;; FP_3 = ((DG_3) / MG_1) ; FRQ1 = MTAB1.MODES.I. FREQUENCE ; OMEG = FRQ1*2.0*3.1415926589 ; OMEG2 = OMEG*OMEG ; MTAB1.MODES. I .MASSE_MODALE = TABLE; MTAB1.MODES. I .FACT_PARTECIPATION = TABLE; MTAB1.MODES. I .FACT_PART_NORM = TABLE; MTAB1.MODES. I .MASSE_MODALE. 1 = MM_1; MTAB1.MODES. I .MASSE_MODALE. 2 = MM_2; MTAB1.MODES. I .MASSE_MODALE. 3 = MM_3; MTAB1.MODES. I .FACT_PARTECIPATION. 1 = FP_1; MTAB1.MODES. I .FACT_PARTECIPATION. 2 = FP_2; MTAB1.MODES. I .FACT_PARTECIPATION. 3 = FP_3; MTAB1.MODES. I .FACT_PART_NORM. 1 = FP_1/OMEG2; MTAB1.MODES. I .FACT_PART_NORM. 2 = FP_2/OMEG2; MTAB1.MODES. I .FACT_PART_NORM. 3 = FP_3/OMEG2; I = I + 1; 'FIN' IND1; 'FINSI'; * 'SI' (NN1 'EGA' 0); * Controle modes 'SINON'; * Deduction des efforts des membrane amplifié par rapport au spectre MATPIJ = 'TABLE'; I = 1; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE) = TABLE; * Deduction de la matrice rho_ij 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN1); 'SI' (I 'EGA' 1); MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. J . I; 'SINON'; 'SI' (J < I); MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. I . J; 'SINON'; MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. J . I; 'FINSI'; 'FINSI'; J = J + 1; 'FIN' IND2; * Pseudoacceleration direction x, y et z PSE_ACC1 = TRESU.'REPRISE'.'SPECTRE'. I . 1; PSE_ACC2 = TRESU.'REPRISE'.'SPECTRE'. I . 2; PSE_ACC3 = TRESU.'REPRISE'.'SPECTRE'. I . 3; * facteur d'amplification AMP_1 = (MTAB1.MODES. I .FACT_PART_NORM. 1)*(PSE_ACC1); AMP_2 = (MTAB1.MODES. I .FACT_PART_NORM. 2)*(PSE_ACC2); AMP_3 = (MTAB1.MODES. I .FACT_PART_NORM. 3)*(PSE_ACC3); * Efforts de Membrane amplifié pour chaque mode pour * les 3 directions EFF_SEI1 = ((AMP_1)*(MTAB1.MODES. I . CONTRAINTE_MEMBRANE.(MO_VOILE))); EFF_SEI2 = ((AMP_2)*(MTAB1.MODES. I . CONTRAINTE_MEMBRANE.(MO_VOILE))); EFF_SEI3 = ((AMP_3)*(MTAB1.MODES. I . CONTRAINTE_MEMBRANE.(MO_VOILE))); * Sauvegarde TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I = TABLE; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1 = EFF_SEI1; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2 = EFF_SEI2; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3 = EFF_SEI3; I = I + 1; 'FIN' IND1; * Calcul des covariances * Initializzation variables * * * * * * * * * Boucles sur les modes I = 1; 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN1); * Extraction Effort N11 N12 N22 ext et inter et V1, V2 * pour le mode fhi j direction x N11EJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N11E' 'SCAL'; N12EJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N12E' 'SCAL'; N22EJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N22E' 'SCAL'; N11IJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N11I' 'SCAL'; N12IJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N12I' 'SCAL'; N22IJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1) 'V2T' 'SCAL'; * Extraction Efforts N11 N12 N22 ext et inter et V1, V2 * pour le mode fhi i direction x N11EI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N11E' 'SCAL'; N12EI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N12E' 'SCAL'; N22EI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N22E' 'SCAL'; N11II_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N11I' 'SCAL'; N12II_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N12I' 'SCAL'; N22II_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1) 'V2T' 'SCAL'; * Extraction Effort N11 N12 N22 ext et inter et V1, V2 * pour le mode fhi j direction y N11EJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N11E' 'SCAL'; N12EJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N12E' 'SCAL'; N22EJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N22E' 'SCAL'; N11IJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N11I' 'SCAL'; N12IJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N12I' 'SCAL'; N22IJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2) 'V2T' 'SCAL'; * Extraction Effort N11 N12 N22 ext et inter pour le * mode * fhi i direction y N11EI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N11E' 'SCAL'; N12EI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N12E' 'SCAL'; N22EI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N22E' 'SCAL'; N11II_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N11I' 'SCAL'; N12II_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N12I' 'SCAL'; N22II_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2) 'V2T' 'SCAL'; * Extraction Effort N11 N12 N22 ext et inter pour le mode * fhi j direction z N11EJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N11E' 'SCAL'; N12EJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N12E' 'SCAL'; N22EJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N22E' 'SCAL'; N11IJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N11I' 'SCAL'; N12IJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N12I' 'SCAL'; N22IJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3) 'V2T' 'SCAL'; * Extraction Effort N11 N12 N22 ext et inter pour le mode * fhi i direction z N11EI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N11E' 'SCAL'; N12EI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N12E' 'SCAL'; N22EI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N22E' 'SCAL'; N11II_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N11I' 'SCAL'; N12II_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N12I' 'SCAL'; N22II_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'N22I' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'V1T' 'SCAL'; 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3) 'V2T' 'SCAL'; * 'SI' ((I 'EGA' 1) ET (J 'EGA' 1)); * * * * * * * * * 'SINON'; C1111E_1 = C2222E_1 = C1212E_1 = C1122E_1 = C1112E_1 = C2212E_1 = * C1111E_2 = C2222E_2 = C1212E_2 = C1122E_2 = C1112E_2 = C2212E_2 = * C1111E_3 = C2222E_3 = C1212E_3 = C1122E_3 = C1112E_3 = C2212E_3 = * C1111I_1 = C2222I_1 = C1212I_1 = C1122I_1 = C1112I_1 = C2212I_1 = * C1111I_2 = C2222I_2 = C1212I_2 = C1122I_2 = C1112I_2 = C2212I_2 = * C1111I_3 = C2222I_3 = C1212I_3 = C1122I_3 = C1112I_3 = C2212I_3 = * CV11_1 = CV11_1 + CV22_1 = CV22_1 + CV12_1 = CV12_1 + * CV11_2 = CV11_2 + CV22_2 = CV22_2 + CV12_2 = CV12_2 + * CV11_3 = CV11_3 + CV22_3 = CV22_3 + CV12_3 = CV12_3 + * 'FINSI'; J = J + 1; 'FIN' IND2; I = I + 1; 'FIN' IND1; * CN11N11E = C1111E_1 + C1111E_2 + C1111E_3; CN22N22E = C2222E_1 + C2222E_2 + C2222E_3; CN12N12E = C1212E_1 + C1212E_2 + C1212E_3; CN11N22E = C1122E_1 + C1122E_2 + C1122E_3; CN11N12E = C1112E_1 + C1112E_2 + C1112E_3; CN22N12E = C2212E_1 + C2212E_2 + C2212E_3; * CN11N11I = C1111I_1 + C1111I_2 + C1111I_3; CN22N22I = C2222I_1 + C2222I_2 + C2222I_3; CN12N12I = C1212I_1 + C1212I_2 + C1212I_3; CN11N22I = C1122I_1 + C1122I_2 + C1122I_3; CN11N12I = C1112I_1 + C1112I_2 + C1112I_3; CN22N12I = C2212I_1 + C2212I_2 + C2212I_3; * CV1V1 = CV11_1 + CV11_2 + CV11_3; CV2V2 = CV22_1 + CV22_2 + CV22_3; CV1V2 = CV12_1 + CV12_2 + CV12_3; * * TRESU.'REPONSE_TOTALE' .'COVARIANCE'.(MO_VOILE) = CHCOV; 'FINSI'; JJ_VOILE = JJ_VOILE + 1; 'FINSI'; * * -------------- POUTR ------------------------------------------ TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE' = TABLE; 'SI' ('NON' ('EXIST' (TRESU.'REPONSE_TOTALE') ('COVARIANCE'))); TRESU.'REPONSE_TOTALE' . 'COVARIANCE' = TABLE; 'FINSI'; MO_POUTR = CHAINE 'POU' JJ_POUTR; * maillage poutre MAI1 = MTAB2. KK1 .'MAIL'; * 'SI' (NN1 'EGA' 0); * Controle sur le modes 'SINON'; I = 1; 'REPE' IND1 (NN1); * Boucle sur les modes CONTMOD = 'CHAN' 'GRAVITE' CONTMOD * * Creation des MCHAML vides * * extraction des efforts globaux * * Deduction des autres quantites MG_1 = MTAB1 . MODES . I . MASSE_GENERALISEE; DG_1 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 1; DG_2 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 2; DG_3 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 3; MM_1 = ((DG_1 * DG_1) / MG_1) ; MM_2 = ((DG_2 * DG_2) / MG_1) ;; MM_3 = ((DG_3 * DG_3) / MG_1) ; FP_1 = ((DG_1) / MG_1) ; FP_2 = ((DG_2) / MG_1) ;; FP_3 = ((DG_3) / MG_1) ; FRQ1 = MTAB1.MODES.I. FREQUENCE ; OMEG = FRQ1*2.0*3.1415926589 ; OMEG2 = OMEG*OMEG ; MTAB1.MODES. I .MASSE_MODALE = TABLE; MTAB1.MODES. I .FACT_PARTECIPATION = TABLE; MTAB1.MODES. I .FACT_PART_NORM = TABLE; MTAB1.MODES. I .MASSE_MODALE. 1 = MM_1; MTAB1.MODES. I .MASSE_MODALE. 2 = MM_2; MTAB1.MODES. I .MASSE_MODALE. 3 = MM_3; MTAB1.MODES. I .FACT_PARTECIPATION. 1 = FP_1; MTAB1.MODES. I .FACT_PARTECIPATION. 2 = FP_2; MTAB1.MODES. I .FACT_PARTECIPATION. 3 = FP_3; MTAB1.MODES. I .FACT_PART_NORM. 1 = FP_1/OMEG2; MTAB1.MODES. I .FACT_PART_NORM. 2 = FP_2/OMEG2; MTAB1.MODES. I .FACT_PART_NORM. 3 = FP_3/OMEG2; * MTAB1.MODES. I .CONTRAINTE_POUTRE = TABLE; MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR) = NN_P ET VY_P ET VZ_P ET MT_P ET MY_P ET MZ_P; * I = I + 1; 'FIN' IND1; 'FINSI'; * 'SI' (NN1 'EGA' 0); * Controle modes 'SINON'; * Deduction des efforts des membrane amplifié par rapport * au spectre MATPIJ = 'TABLE'; I = 1; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR) = TABLE; * Deduction de la matrice rho_ij 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN1); 'SI' (I 'EGA' 1); MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. J . I; 'SINON'; 'SI' (J < I); MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. I . J; 'SINON'; MATPIJ. I = (MATPIJ. I) 'ET' TRESU.'REPRISE'.'PIJ'. J . I; 'FINSI'; 'FINSI'; J = J + 1; 'FIN' IND2; * Pseudoacceleration direction x, y et z PSE_ACC1 = TRESU.'REPRISE'.'SPECTRE'. I . 1; PSE_ACC2 = TRESU.'REPRISE'.'SPECTRE'. I . 2; PSE_ACC3 = TRESU.'REPRISE'.'SPECTRE'. I . 3; * facteur d'amplification AMP_1 = (MTAB1.MODES. I .FACT_PART_NORM. 1)*(PSE_ACC1); AMP_2 = (MTAB1.MODES. I .FACT_PART_NORM. 2)*(PSE_ACC2); AMP_3 = (MTAB1.MODES. I .FACT_PART_NORM. 3)*(PSE_ACC3); * Effort de Membrane amplifié pour chaque mode pour * les 3 directions EFF_SEI1 = ((AMP_1)* (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR))); EFF_SEI2 = ((AMP_2)* (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR))); EFF_SEI3 = ((AMP_3)* (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR))); * Sauvegarde TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I = TABLE; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1 = EFF_SEI1; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2 = EFF_SEI2; TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3 = EFF_SEI3; I = I + 1; 'FIN' IND1; * Calcul des covariances * Initialisation variables * * * * Boucles sur les modes I = 1; 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN1); * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi j direction x NNJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'EFFX' 'SCAL'; VYJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'EFFY' 'SCAL'; VZJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'EFFZ' 'SCAL'; MTJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'MOMX' 'SCAL'; MYJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'MOMY' 'SCAL'; MZJ_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1) 'MOMZ' 'SCAL'; * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi i direction x NNI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'EFFX' 'SCAL'; VYI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'EFFY' 'SCAL'; VZI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'EFFZ' 'SCAL'; MTI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'MOMX' 'SCAL'; MYI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'MOMY' 'SCAL'; MZI_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1) 'MOMZ' 'SCAL'; * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi i direction y NNJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'EFFX' 'SCAL'; VYJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'EFFY' 'SCAL'; VZJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'EFFZ' 'SCAL'; MTJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'MOMX' 'SCAL'; MYJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'MOMY' 'SCAL'; MZJ_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2) 'MOMZ' 'SCAL'; * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi i direction y NNI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'EFFX' 'SCAL'; VYI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'EFFY' 'SCAL'; VZI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'EFFZ' 'SCAL'; MTI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'MOMX' 'SCAL'; MYI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'MOMY' 'SCAL'; MZI_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2) 'MOMZ' 'SCAL'; * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi i direction z NNJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'EFFX' 'SCAL'; VYJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'EFFY' 'SCAL'; VZJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'EFFZ' 'SCAL'; MTJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'MOMX' 'SCAL'; MYJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'MOMY' 'SCAL'; MZJ_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3) 'MOMZ' 'SCAL'; * Extraction Effort NN VY VZ MT MY MZ * pour le mode fhi i direction z NNI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'EFFX' 'SCAL'; VYI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'EFFY' 'SCAL'; VZI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'EFFZ' 'SCAL'; MTI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'MOMX' 'SCAL'; MYI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'MOMY' 'SCAL'; MZI_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3) 'MOMZ' 'SCAL'; * 'SI' ((I 'EGA' 1) ET (J 'EGA' 1)); * * 'SINON'; CNNNN_1 = CNNNN_1 + CNNVY_1 = CNNVY_1 + CNNVZ_1 = CNNVZ_1 + CNNMT_1 = CNNMT_1 + CNNMY_1 = CNNMY_1 + CNNMZ_1 = CNNMZ_1 + CVYVY_1 = CVYVY_1 + CVYVZ_1 = CVYVZ_1 + CVYMT_1 = CVYMT_1 + CVYMY_1 = CVYMY_1 + CVYMZ_1 = CVYMZ_1 + CVZVZ_1 = CVZVZ_1 + CVZMT_1 = CVZMT_1 + CVZMY_1 = CVZMY_1 + CVZMZ_1 = CVZMZ_1 + CMTMT_1 = CMTMT_1 + CMTMY_1 = CMTMY_1 + CMTMZ_1 = CMTMZ_1 + CMYMY_1 = CMYMY_1 + CMYMZ_1 = CMYMZ_1 + CMZMZ_1 = CMZMZ_1 + * CNNNN_2 = CNNNN_2 + CNNVY_2 = CNNVY_2 + CNNVZ_2 = CNNVZ_2 + CNNMT_2 = CNNMT_2 + CNNMY_2 = CNNMY_2 + CNNMZ_2 = CNNMZ_2 + CVYVY_2 = CVYVY_2 + CVYVZ_2 = CVYVZ_2 + CVYMT_2 = CVYMT_2 + CVYMY_2 = CVYMY_2 + CVYMZ_2 = CVYMZ_2 + CVZVZ_2 = CVZVZ_2 + CVZMT_2 = CVZMT_2 + CVZMY_2 = CVZMY_2 + CVZMZ_2 = CVZMZ_2 + CMTMT_2 = CMTMT_2 + CMTMY_2 = CMTMY_2 + CMTMZ_2 = CMTMZ_2 + CMYMY_2 = CMYMY_2 + CMYMZ_2 = CMYMZ_2 + CMZMZ_2 = CMZMZ_2 + * CNNNN_3 = CNNNN_3 + CNNVY_3 = CNNVY_3 + CNNVZ_3 = CNNVZ_3 + CNNMT_3 = CNNMT_3 + CNNMY_3 = CNNMY_3 + CNNMZ_3 = CNNMZ_3 + CVYVY_3 = CVYVY_3 + CVYVZ_3 = CVYVZ_3 + CVYMT_3 = CVYMT_3 + CVYMY_3 = CVYMY_3 + CVYMZ_3 = CVYMZ_3 + CVZVZ_3 = CVZVZ_3 + CVZMT_3 = CVZMT_3 + CVZMY_3 = CVZMY_3 + CVZMZ_3 = CVZMZ_3 + CMTMT_3 = CMTMT_3 + CMTMY_3 = CMTMY_3 + CMTMZ_3 = CMTMZ_3 + CMYMY_3 = CMYMY_3 + CMYMZ_3 = CMYMZ_3 + CMZMZ_3 = CMZMZ_3 + 'FINSI'; J = J + 1; 'FIN' IND2; I = I + 1; 'FIN' IND1; CNNNN = CNNNN_1 + CNNNN_2 + CNNNN_3; CNNVY = CNNVY_1 + CNNVY_2 + CNNVY_3; CNNVZ = CNNVZ_1 + CNNVZ_2 + CNNVZ_3; CNNMT = CNNMT_1 + CNNMT_2 + CNNMT_3; CNNMY = CNNMY_1 + CNNMY_2 + CNNMY_3;