Télécharger sissib.procedur

Retour à la liste

Numérotation des lignes :

  1. * SISSIB PROCEDUR AF221230 18/04/19 21:15:01 9813
  2. 'DEBPROC' SISSIB TAB1*'TABLE' MTAB2/'TABLE';
  3. *
  4. **********************************************************************
  5. *
  6. * PROCEDURE DE CALCUL SISMIQUE
  7. * ----------------------------
  8. *
  9. * DONNEES :
  10. * --------
  11. *
  12. * TABRESU = SISSIB TAB1 ;
  13. *
  14. * TAB1 : OBJET DE TYPE TABLE
  15. *
  16. * TAB1.'STRUCTURE' = TABLE BASE MODALE
  17. * TAB1.'AMORTISSEMENT' = LISTREEL
  18. * TAB1.'EXCITATION' = TABLE INDICEE PAR UN ENTIER (<EG 3 )
  19. *
  20. * TAB1.'EXCITATION'.I.DIRECTION = MOT X Y OU Z
  21. * TAB1.'EXCITATION'.I . 'SPECTRE' = EVOLUTION
  22. * TAB1.'EXCITATION'.I . 'AMORTISSEMENT' = LISTREEL
  23. * TAB1.'EXCITATION'.I . 'ACCELERATION_MAXIMALE' = REEL ACCELERATION
  24. * MAXIMALE DU SEISME
  25. * DANS LA DIRECTION I
  26. * (FACULTATIF)
  27. *
  28. * TAB1.'RECOMBINAISON_MODES' = 'MOT' 'SRSS' OU 'ROSENBLUETH' OU 'CQC'
  29. * OU 'DIX_POUR_CENT'
  30. * TAB1.'DUREE' = REEL (DUREE DE LA PARTIE FORTE DU SIGNAL (FACULTATIF,
  31. * OPTION ROSENBLUETH UNIQUEMENT )
  32. *
  33. * TAB1.'RECOMBINAISON_DIRECTIONS' = MOT (REGLE DE COMBINAISON DES
  34. * DIRECTIONS : QUADRATIQUE )
  35. *
  36. * TAB1.'SORTIES' = TABLE
  37. * TAB1.'SORTIES'.'DOMAINE' = MAILLAGE OU MODELE
  38. * TAB1.'SORTIES'.'DEPLACEMENTS' = LOGIQUE ( VRAI OU FAUX ) POUR
  39. * CALCUL DES DEPLACEMENTS
  40. * TAB1.'SORTIES'.'ACCELERATIONS' = LOGIQUE ( VRAI OU FAUX ) POUR
  41. * CALCUL DES ACCELERATIONS
  42. * TAB1.'SORTIES'.'CONTRAINTES' = LOGIQUE ( VRAI OU FAUX ) POUR
  43. * CALCUL DES CONTRAINTES
  44. * TAB1.'SORTIES'.'REACTIONS' = LOGIQUE ( VRAI OU FAUX ) POUR
  45. * CALCUL DES REACTIONS
  46. *
  47. * TAB1.'REPRISE' = TABLE FACULTATIVE DONNANT LES RESULTATS D'UN
  48. * CALCUL PRECEDENT
  49. * TAB1.'REPRISE'.'SPECTRE' = TABLE INDICEE PAR UN MOT X OU Y OU Z
  50. * TAB1.'REPRISE'.'SPECTRE'.'X'.PT1 = S (F1, EPS1) PT1 POINT SOUS
  51. * TENDANT LE MODE, S (F1, EPS1)
  52. * VALEUR DU SPECTRE EN
  53. * PSEUDO - ACCELERATION
  54. * TAB1.'REPRISE'.'COEFF'= TABLE INDICEE PAR ENTIERS DE 1 A NMOD
  55. * TAB1.'REPRISE'.'COEFF'.I = TABLE INDICEE PAR ENTIERS DE I A NMOD
  56. * TAB1.'REPRISE'.'COEFF'.I.J = PIJ REEL COEFFICIENT DE CORELATION
  57. *
  58. * TAB1.'IMPRESSION' = LOGIQUE ( VRAI OU FAUX) IMPRESSION AUTOMATIQUE
  59. * DE LA TABLE DE RESULTATS. FACULTATIF.
  60. * PAR DEFAUT FAUX
  61. * TAB1.'TRONCATURE' = LOGIQUE ( VRAI OU FAUX). FACULTATIF. PAR DEFAUT
  62. * FAUX PRISE EN COMPTE DES PSEUDOMODES QUI
  63. * DOIVENT ETRE INCLUS DANS LA BASE MODALE
  64. * --------------- Option supplementaire ------------------------------
  65. *
  66. * TABRESU = SISSIB TAB1 TAB2;
  67. *
  68. * La procedure SISSIB autre que la deternimation de la reponse
  69. * dynamique d'une structure par la methode spectrale calcule la
  70. * matrice correspondant à l'enveloppe des efforts pour les elements
  71. * coque,voile (selon le modele de MARTI à trois couches) et pour les
  72. * elements de type portique (frame) (POUT et TIMO).
  73. *
  74. * La table TAB2 fourni les elements d'entrées pour ce calcul:
  75. *
  76. * TAB2: Table concernant le voile i-eme objet
  77. * de l'etude
  78. * .I: voile i
  79. * .'TYPE': Chaine 'VOILE' 'POTEAU'
  80. * Si TYPE == VOILE
  81. * .'MAIL': Maillage (MAILLAGE) i-eme voile
  82. * .'MODE': Modele (MMODEL) i-eme voile
  83. * .'MATE': Materiau (MCHAML) i-eme voile
  84. * .'EPAISSEUR': Epaisseur (FLOTTANT)
  85. * .'ENROBAGE_E': Enrobage couche externe (FLOTTANT)
  86. * .'ENROBAGE_I': Enrobage couche interne (FLOTTANT)
  87. * .'COT_THETA': Cotg(theta) - facteur pour
  88. * .'DIR1': Direction 1 des axes locaux
  89. * .'DIR2': Direction 2 des axes locaux
  90. * Si TYPE == POUTR
  91. * .'MAIL': Maillage (MAILLAGE) i-eme element frame
  92. * .'MODE': MMODEL associé à l'element
  93. *
  94. *
  95. * En sortie dans la TABRESU on a:
  96. *
  97. * TABRESU.'CONTRAINTES_MEMBRANE' sous table des efforts modaux
  98. * projetés selon le modele de MARTI
  99. * pour les voiles et les coques.
  100. * .'VOIi' Liste des voiles objet de l'etude.
  101. * La numerotation est progressive:
  102. * VOI1; VOI2 etc
  103. * . I efforts modaux projetes
  104. * - mode I
  105. * . J efforts modaux projetes
  106. * et amplifies selon le coefficient
  107. * d'amplification deduit par le
  108. * spectre selon la direciton J
  109. * Composantes MCHAML:
  110. * N11E, N22E, N12E, N11I N22I, N12I
  111. * M11T, M22T, M12T, V1T, V2T, VR
  112. * (voir notice EFFMARTI)
  113. * TABRESU.'CONTRAINTES_POUTRE' sous table des efforts modaux
  114. * pour les elements frame
  115. * (TIMO et POUT).
  116. * .'POUi' Liste des elements frame objet de
  117. * l'etude.
  118. * La numerotation est progressive:
  119. * POU1; POU2 etc
  120. * . I efforts modaux projetes
  121. * - mode I
  122. * . J efforts modaux projetes
  123. * et amplifies selon le coefficient
  124. * d'amplification deduit par le
  125. * spectre selon la direciton J
  126. * Composantes MCHAML:
  127. * EFFX,EFFY,EFFZ,MOMX,MOMY,MOMZ
  128. * TABRESU.'COVARIANCE' sous table de la matrice
  129. * caracteristique de l'enveloppe de
  130. * la reponse sismique pour les
  131. * elements voile et frame
  132. *
  133. * pour les voiles les efforts sont
  134. * calcules selon le modele à trois
  135. * couche de MARTI (modele MARTI -
  136. * voir EFFMARTI)
  137. * .'VOIi' Liste des voiles objet de l'etude.
  138. * La numerotation est progressive:
  139. * VOI1; VOI2 etc
  140. * Les composantes du MCHAML sont:
  141. * C11E C22E C33E C12E C13E C23E
  142. * C11I C22I C33I C12I C13I C23I
  143. * C11V C22V C12V
  144. * plus precisement
  145. * couche externe [C11E C12E C13E
  146. * C12E C22E C23E
  147. * C13E C23E C33E]
  148. * couche interne [C11I C12I C13I
  149. * C12I C22I C23I
  150. * C13I C23I C33I]
  151. * couche interm. [C11V C12V
  152. * C12V C22V]
  153. * ou:
  154. * (couche externe)
  155. * C11E = N11E_max^2
  156. * C22E = N22E_max^2
  157. * C33E = N12E_max^2
  158. * C12E = N11EN22E
  159. * (covariance N11E, N22E)
  160. * C13E = N11EN12E
  161. * (covariance N11E, N12E)
  162. * C23E = N22EN12E
  163. * (covariance N22E, N12E)
  164. * (couche interne)
  165. * C11I = N11I_max^2
  166. * C22I = N22I_max^2
  167. * C33I = N12I_max^2
  168. * C12I = N11IN22I
  169. * (covariance N11I, N22I)
  170. * C13I = N11IN12I
  171. * (covariance N11I, N12I)
  172. * C23I = N22IN12I
  173. * (covariance N22I, N12I)
  174. * (couche intermediaire)
  175. * C11V = V1_max^2
  176. * C22V = V2_max^2
  177. * C12V = V1V2
  178. * (covariance V1,V2)
  179.  
  180.  
  181.  
  182.  
  183. * pour les elements frame
  184. * (POUT ou TIMO):
  185. * .'POUi' Liste des elements frame objet
  186. * de l'etude.
  187. * La numerotation est progressive:
  188. * POU1; POU2 etc
  189. * Les composantes du MCHAML sont:
  190. * C11 C12 C13 C14 C15 C16
  191. * C22 C23 C24 C25 C26
  192. * C33 C34 C35 C36
  193. * C44 C45 C46
  194. * C55 C56
  195. * C66
  196. * ou:
  197. * C11 = EFFX_max^2
  198. * C22 = EFFY_max^2
  199. * C33 = EFFZ_max^2
  200. * C44 = MOMX_max^2
  201. * C55 = MOMY_max^2
  202. * C66 = MOMZ_max^2
  203. *
  204. * C12 = EFFXEFFY
  205. * (covariance EFFX, EFFY)
  206. * C13 = EFFXEFFZ
  207. * (covariance EFFX, EFFZ)
  208. * C14 = EFFXMOMX
  209. * (covariance EFFX, MOMX)
  210. * C15 = EFFXMOMY
  211. * (covariance EFFX, MOMY)
  212. * C16 = EFFXMOMZ
  213. * (covariance EFFX, MOMZ)
  214. *
  215. * C23 = EFFYEFFZ
  216. * (covariance EFFY, EFFZ)
  217. * C24 = EFFYMOMX
  218. * (covariance EFFY, MOMX)
  219. * C25 = EFFYMOMY
  220. * (covariance EFFY, MOMY)
  221. * C26 = EFFYMOMZ
  222. * (covariance EFFY, MOMZ)
  223. *
  224. * C34 = EFFZMOMX
  225. * (covariance EFFZ, MOMX)
  226. * C35 = EFFZMOMY
  227. * (covariance EFFZ, MOMY)
  228. * C36 = EFFZMOMZ
  229. * (covariance EFFZ, MOMZ)
  230. *
  231. * C45 = MOMXMOMY
  232. * (covariance MOMX, MOMY)
  233. * C46 = MOMXMOMZ
  234. * (covariance MOMX, MOMZ)
  235. *
  236. * C56 = MOMYMOMZ
  237. * (covariance MOMY, MOMZ)
  238. *
  239. ***********************************************************************
  240. ZUN1 = 1 ; Z2PI = 2. '*' PI ;
  241. *
  242. * TABLE ZTABSOR POUR GESTION INTERNE DES SORTIES
  243. * PERMET DE GARDER LA PROGRAMMATION INITIALE
  244. * AVANT UNE REFONTE COMPLETE ENVISAGEABLE
  245. *
  246. ZTABSOR = 'TABLE' 'SORTIES' ;
  247. *
  248. * NB DE MODES MAILLAGE ;
  249. *
  250. ZTMOD = 'TABLE' TAB1.'STRUCTURE'.'MODES' ;
  251. ZNMOD = ( 'DIME' ZTMOD ) '-' 2 ;
  252. ZGEO1 = ZTMOD.'MAILLAGE' ;
  253. *
  254. * NB DE DIRECTION DE SEISMES ;
  255. *
  256. ZTAB2 = TAB1.'EXCITATION';
  257. ZNDIR = ( 'DIME' ZTAB2 ) '-' 1 ;
  258. *
  259. * Y A T IL UNE TABLE DE REPRISE
  260. *
  261. ZIREP = 0 ;
  262. 'SI' ( 'EXISTE' TAB1 'REPRISE' ) ;
  263. ZIREP = 1 ;
  264. 'FINSI' ;
  265. *
  266. * VERIFICATION DU MAILLAGE DE SORTIE
  267. *
  268. 'SI' ( 'EXISTE' ( TAB1.'SORTIES' ) 'DOMAINE' ) ;
  269. ZDOM1 =1 ;
  270. ZOB1 = TAB1.'SORTIES'.'DOMAINE' ;
  271. ZTABSOR . 'DOMAINE' = ZOB1 ;
  272. ZTYP1 = 'TYPE' ZOB1 ;
  273. 'SI' ( 'EGA' ZTYP1 'MMODEL ' ) ;
  274. ZMAI1 = 'EXTRAIRE' ZOB1 'MAIL' ;
  275. 'SINON' ;
  276. 'SI' ( 'EGA' ZTYP1 'MAILLAGE' ) ;
  277. ZMAI1 = ZOB1 ;
  278. 'SINO' ;
  279. 'MESSAGE' 'A L INDICE DOMAINE IL FAUT DONNER '
  280. 'UN OBJET DE TYPE MAILLAGE OU MODELE' ;
  281. 'ERREUR' 'PROC_SISSI' ;
  282. 'FINSI';
  283. 'FINSI' ;
  284. 'SINON' ;
  285. ZDOM1 = 0 ;
  286. 'FINSI' ;
  287. *
  288. * PRISE EN COMPTE DES PSEUDOMODES
  289. *
  290. ZPSEU = FAUX ;
  291. 'SI' ( 'EXISTE' TAB1 'TRONCATURE' ) ;
  292. ZPSEU1 = TAB1.'TRONCATURE' ;
  293. ZTYP3 = 'TYPE' ZPSEU1 ;
  294. 'SI' ( 'EGA' ZTYP3 'LOGIQUE ' ) ;
  295. ZPSEU = ZPSEU1 ;
  296. 'SINON' ;
  297. 'MESSAGE' 'A L INDICE TRONCATURE IL FAUT DONNER '
  298. 'UN OBJET DE TYPE LOGIQUE' ;
  299. 'ERREUR' 'PROC_SISSI' ;
  300. 'FINSI' ;
  301. 'FINSI' ;
  302. *
  303. ZTSOR = TAB1.'SORTIES' ;
  304. ZIDEPL = 0 ;
  305. ZIACCE = 0 ;
  306. ZICONT = 0 ;
  307. ZIREAC = 0 ;
  308. ZISOR = 0 ;
  309. *
  310. * VERIFICATION DE LA COMPATIBILITE DU TYPE DE SORTIES AVEC LES
  311. * DONNEES DE LA BASE MODALE
  312. *
  313. 'SI' ( 'EXISTE' ZTSOR 'DEPLACEMENTS' ) ;
  314. 'SI' ( ZTSOR . 'DEPLACEMENTS' ) ;
  315. ZIDEPL = 1 ;
  316. ZISOR = ZISOR + 1 ;
  317. ZTABSOR . ZISOR = 'MOT' 'DEPLACEMENTS' ;
  318. 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) );
  319. 'MESSAGE' 'IL MANQUE LES DEFORMEES MODALES DANS LA BASE MODALE' ;
  320. 'ERREUR' 'PROC_SISSI' ;
  321. 'FINSI' ;
  322. 'FINSI' ;
  323. 'FINSI' ;
  324. 'SI' ( 'EXISTE' ZTSOR 'ACCELERATIONS' ) ;
  325. 'SI' ( ZTSOR . 'ACCELERATIONS' ) ;
  326. ZIACCE = 1 ;
  327. ZISOR = ZISOR + 1 ;
  328. ZTABSOR . ZISOR = 'MOT' 'ACCELERATIONS' ;
  329. 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) );
  330. 'MESSAGE' 'IL MANQUE LES DEFORMEES MODALES DANS LA BASE MODALE' ;
  331. 'ERREUR' 'PROC_SISSI' ;
  332. 'FINSI' ;
  333. 'FINSI' ;
  334. 'FINSI' ;
  335. 'SI' ( 'EXISTE' ZTSOR 'CONTRAINTES' ) ;
  336. 'SI' ( ZTSOR . 'CONTRAINTES' ) ;
  337. ZICONT = 1 ;
  338. ZISOR = ZISOR + 1 ;
  339. ZTABSOR . ZISOR = 'MOT' 'CONTRAINTES' ;
  340. 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'CONTRAINTE_MODALE' ) );
  341. 'MESSAGE' 'IL MANQUE LES CONTRAINTES MODALES DANS LA BASE MODALE' ;
  342. 'ERREUR' 'PROC_SISSI' ;
  343. 'FINSI' ;
  344. 'FINSI' ;
  345. 'FINSI' ;
  346. 'SI' ( 'EXISTE' ZTSOR 'REACTIONS' ) ;
  347. 'SI' ( ZTSOR . 'REACTIONS' ) ;
  348. ZIREAC = 1 ;
  349. ZISOR = ZISOR + 1 ;
  350. ZTABSOR . ZISOR = 'MOT' 'REACTIONS' ;
  351. 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'REACTION_MODALE' ) );
  352. 'MESSAGE' 'IL MANQUE LES REACTIONS MODALES DANS LA BASE MODALE' ;
  353. 'ERREUR' 'PROC_SISSI' ;
  354. 'FINSI' ;
  355. 'FINSI' ;
  356. 'FINSI' ;
  357. *
  358. ZNSOR = ( 'DIME' ZTABSOR ) '-' 2 ;
  359. 'SI' ( ZDOM1 'EGA' 0 ) ;
  360. ZNSOR = ZNSOR '+' 1 ;
  361. 'FINSI' ;
  362. *
  363. 'SI' ( ZNSOR 'EGA' 0 ) ;
  364. 'MESSAGE' ' ' ;
  365. 'MESSAGE' 'ATTENTION IL FAUT DEFINIR UNE OU DES SORTIES '
  366. 'DANS TAB4' ;
  367. 'ERREUR' 'PROC_SISSI' ;
  368. 'FINSI' ;
  369. *
  370. * PRETRAITEMENT DES PSEUDOMODES
  371. *
  372. 'SI' ZPSEU ;
  373. ZTPSEU = 'TABLE' 'PSEUDO' ;
  374. ZT2 = TAB1.'STRUCTURE'.'PSEUDO_MODES' ;
  375. ZNPSEU = ( 'DIME' ZT2 ) '-' 1 ;
  376. ZIPS = 0 ;
  377. 'REPETER' ZLOO100 ZNPSEU ;
  378. ZIPS = ZIPS '+' 1 ;
  379. ZPSDIR = ZT2.ZIPS.'DIRECTION' ;
  380. ZTPSEUD = 'TABLE' 'PSEU_DIR' ;
  381. ZTPSEU.ZPSDIR = ZTPSEUD ;
  382. ZTPSEUD.'DEPLACEMENT' = ZT2.ZIPS.'DEPLACEMENT' ;
  383. 'SI' ( ZICONT 'EGA' 1 ) ;
  384. 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'CONTRAINTE' ) ;
  385. ZTPSEUD.'CONTRAINTE' = ZT2.ZIPS.'CONTRAINTE' ;
  386. 'SINON' ;
  387. 'MESSAGE' 'IL FAUT DONNER LES CONTRAINTES POUR LE PSEUDOMODE' ;
  388. 'ERREUR' 'PROC_SISSI' ;
  389. 'FINSI' ;
  390. 'FINSI' ;
  391. 'SI' ( ZIREAC 'EGA' 1 ) ;
  392. 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'REACTION' ) ;
  393. ZTPSEUD.'REACTION' = ZT2.ZIPS.'REACTION' ;
  394. 'SINON' ;
  395. 'MESSAGE' 'IL FAUT DONNER LES REACTIONS POUR LE PSEUDOMODE' ;
  396. 'ERREUR' 'PROC_SISSI' ;
  397. 'FINSI' ;
  398. 'FINSI' ;
  399. 'FIN' ZLOO100 ;
  400. 'FINSI' ;
  401. *
  402. * VERIFICATION DES DONNEES POUR LA COMBINAISON DES DIRECTIONS
  403. *
  404. 'SI' ( 'EXISTE' TAB1 'RECOMBINAISON_DIRECTIONS' ) ;
  405. ZMO2 = TAB1.'RECOMBINAISON_DIRECTIONS' ;
  406. 'SI' ( 'EGA' ZMO2 'QUADRATIQUE' );
  407. ZIRDIR = 1 ;
  408. 'SINON' ;
  409. 'MESSAGE' 'ERREUR DE DONNEE POUR LA COMBINAISON DES DIRECTIONS' ;
  410. 'ERREUR' 'PROC_SISSI' ;
  411. 'FINSI' ;
  412. 'SINON';
  413. 'MESSAGE' 'IL FAUT DONNER UNE REGLE DE COMBINAISON DES DIRECTIONS' ;
  414. 'ERREUR' 'PROC_SISSI' ;
  415. 'FINSI' ;
  416. *
  417. * VERIFICATION DES AMORTISSEMENTS
  418. *
  419. LAM1 = TAB1.'AMORTISSEMENT' ;
  420. ZAMAX1 = 'MAXI' LAM1 ;
  421. ZAMIN1 = 'MINI' LAM1 ;
  422. *
  423. ZI = 0 ;
  424. 'REPETER' ZLOOP3 ZNDIR;
  425. ZI = ZI '+' 1 ;
  426. ZLASP = ZTAB2.ZI.'AMORTISSEMENT' ;
  427. ZAMX1 = 'MAXI' ZLASP ;
  428. ZAMN1 = 'MINI' ZLASP ;
  429. *
  430. 'SI' ( ( ZAMAX1 '>' ZAMX1 ) 'OU' ( ZAMIN1 '<' ZAMN1 ) ) ;
  431. 'MESSAGE' 'AMORTISSEMENT STRUCTURE INCOMPATIBLE AVEC';
  432. 'MESSAGE' 'AMORTISSEMENT DES SPECTRES DU SEISME' ;
  433. 'ERREUR' 'PROC_SISSI' ;
  434. 'FINSI' ;
  435. *
  436. 'FIN' ZLOOP3 ;
  437. *
  438. * CREATION DES RAPPORTS Q/M ET Q/MW2
  439. *
  440. ZQSM = 'TABLE' 'FACTEUR_DE_PARTICIPATION' ;
  441. ZQSMW2 = 'TABLE' 'QSMW2' ;
  442. ZI = 0 ;
  443. 'REPETER' ZLOOP4 ZNMOD ;
  444. ZI = ZI '+' 1 ;
  445. ZFR = ZTMOD.ZI.'FREQUENCE' ;
  446. ZMG = ZTMOD.ZI.'MASSE_GENERALISEE' ;
  447. ZOMEG = Z2PI '*' ZFR ;
  448. ZOMEG2 = ZOMEG '*' ZOMEG ;
  449. *
  450. ZQSMI = 'TABLE' 'QSM' ;
  451. ZQSMW2I = 'TABLE' 'QSMW2' ;
  452. ZQSM.ZI = ZQSMI ;
  453. ZQSMW2.ZI = ZQSMW2I ;
  454. ZNQ = 3 ;
  455. ZDI = 0 ;
  456. 'REPETER' ZLOOP5 ZNQ ;
  457. ZDI = ZDI '+' 1 ;
  458. ZQ = ZTMOD.ZI.'DEPLACEMENTS_GENERALISES'.ZDI ;
  459. ZQSMI.ZDI = ZQ '/' ZMG ;
  460. ZQSMW2I.ZDI = ZQ '/' ( ZMG '*' ZOMEG2 ) ;
  461. 'FIN' ZLOOP5 ;
  462. 'FIN' ZLOOP4 ;
  463. *
  464. * ACCELERATION MAXIMALE DU SEISME
  465. *
  466. ZTGAM = 'TABLE' 'ACCELERATION_MAXIMALE' ;
  467. ZDIR = 0 ;
  468. 'REPETER' ZLOOP60 ZNDIR ;
  469. ZDIR = ZDIR '+' 1 ;
  470. 'SI' ( 'EXISTE' ( TAB1.'EXCITATION'.ZNDIR )
  471. 'ACCELERATION_MAXIMALE' ) ;
  472. ZTGAM.ZDIR = TAB1.'EXCITATION'.ZNDIR.'ACCELERATION_MAXIMALE' ;
  473. 'SINON' ;
  474. ZEVSPI = TAB1.'EXCITATION'.ZDIR.'SPECTRE' ;
  475. ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZUN1 ;
  476. ZPTSP = 'DIME' ZLSPI ;
  477. ZTGAM.ZDIR = 'EXTRAIRE' ZLSPI ZPTSP ;
  478. 'FINSI' ;
  479. 'FIN' ZLOOP60 ;
  480. *
  481. * INITIALISATION DE LA TABLE DES RESULTATS
  482. *
  483. TRESU = 'TABLE' 'RESULATS' ;
  484. *
  485. * DETERMINATION DES VALEURS DES SPECTRES POUR CHAQUE MODE
  486. * ET CHAQUE DIRECTION
  487. *
  488. 'SI' ( ZIREP 'EGA' 1 ) ;
  489. ZTSPEC = TAB1.'REPRISE'.'SPECTRE' ;
  490. 'SINON' ;
  491. ZTSPEC = 'TABLE' 'SPECTRE' ;
  492. ZTREP = 'TABLE' 'REPRISE' ;
  493. ZTREP.'SPECTRE' = ZTSPEC ;
  494. TRESU.'REPRISE' = ZTREP ;
  495. *
  496. ZI = 0 ;
  497. 'REPETER' ZLOOP1 ZNMOD ;
  498. ZI = ZI '+' 1 ;
  499. ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ;
  500. ZFR = ZTMOD.ZI.'FREQUENCE' ;
  501. ZDI = 0;
  502. ZTSPD = 'TABLE' 'SPEC_D' ;
  503. ZTSPEC.ZI = ZTSPD ;
  504. 'REPETER' ZLOOP10 ZNDIR ;
  505. ZDI = ZDI '+' 1 ;
  506. ZEVSPI = TAB1.'EXCITATION'.ZDI.'SPECTRE' ;
  507. ZLAMSPI = TAB1.'EXCITATION'.ZDI.'AMORTISSEMENT' ;
  508. ZNAM = 'DIME' ZLAMSPI ;
  509. 'SI' ( ZNAM 'EGA' 1 ) ;
  510. ZAMSP = 'EXTRAIRE' ZLAMSPI ZUN1 ;
  511. 'SI' ( ( 'ABS' ( ZXSI '-' ZAMSP) ) '&lt;EG' 1.E-4 ) ;
  512. ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZUN1 ;
  513. ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZUN1 ;
  514. ZTSPD.ZDI = 'EXP' ( 'IPOL' ( 'LOG' ZFR )
  515. ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) );
  516. 'SINON' ;
  517. 'MESSAGE' 'ERREUR DANS LES AMORTISSEMENTS' ;
  518. 'ERREUR' 'PROC_SISSI' ;
  519. 'FINSI' ;
  520. 'SINON' ;
  521. ZLSPAM = 'PROG' ZNAM '*' 0.;
  522. ZIAM = 0 ;
  523. 'REPETER' ZLOOP11 ZNAM ;
  524. ZIAM = ZIAM '+' 1 ;
  525. ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZIAM ;
  526. ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZIAM ;
  527. 'REMPLACER' ZLSPAM ZIAM ('EXP' ( 'IPOL' ( 'LOG' ZFR )
  528. ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) ) ) ;
  529. 'FIN' ZLOOP11 ;
  530. ZTSPD.ZDI = 'IPOL' ZXSI ZLAMSPI ZLSPAM ;
  531. 'FINSI' ;
  532. 'FIN' ZLOOP10 ;
  533. 'FIN' ZLOOP1 ;
  534. 'FINSI' ;
  535. *
  536. * CALCUL DES COEFFICIENTS DE CORELATION ENTRE MODES
  537. * SELON LES TYPES DE COMBINAISON SOUHAITEES
  538. *
  539. 'SI' ( ZIREP 'EGA' 1 ) ;
  540. ZTPIJ = TAB1.REPRISE.'PIJ' ;
  541. 'SINON';
  542. ZTPIJ = 'TABLE' 'COEFF' ;
  543. ZTREP.'PIJ' = ZTPIJ ;
  544. ZI = 0 ;
  545. 'REPETER' ZLOOP20 ZNMOD ;
  546. ZI = ZI '+' 1 ;
  547. ZTPI = 'TABLE' 'COEFF_I' ;
  548. ZTPIJ.ZI = ZTPI ;
  549. ZTPI.ZI = 1.0 ;
  550. *
  551. 'SI' ( ZI 'NEG' 1 ) ;
  552. ZNJ = ZI '-' 1 ;
  553. ZJ = 0 ;
  554. 'REPETER' ZLOOP21 ZNJ ;
  555. ZJ = ZJ '+' 1 ;
  556. ZMREC = TAB1.'RECOMBINAISON_MODES';
  557. ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ;
  558. ZFRI = ZTMOD.ZI.'FREQUENCE' ;
  559. ZOMEGI = Z2PI '*' ZFRI ;
  560. ZXSJ = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZJ ;
  561. ZFRJ = ZTMOD.ZJ.'FREQUENCE' ;
  562. ZOMEGJ = Z2PI '*' ZFRJ ;
  563. 'SI' ( 'EGA' ZMREC 'SRSS' ) ;
  564. ZTPI.ZJ = 0. ;
  565. 'SINON';
  566. 'SI' ( 'EGA' ZMREC 'CQC' ) ;
  567. ZOM2I = ZOMEGI '*' ZOMEGI ;
  568. ZOM2J = ZOMEGJ '*' ZOMEGJ ;
  569. Z1 = 8.0 '*' ( ( ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ )
  570. '**' 0.5 ) ;
  571. Z2 = ZOMEGI '*' ZOMEGJ ;
  572. Z3 = ( ZOM2I - ZOM2J ) '**' 2 ;
  573. Z4 = 4. '*' ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ
  574. '*' ( ZOM2I '+' ZOM2J ) ;
  575. Z5 = 4. '*' ( ( ZXSI '**' 2 ) '+' ( ZXSJ '**' 2 ) )
  576. '*' ZOM2I '*' ZOM2J ;
  577. Z6 = ( ZXSI '*' ZOMEGI ) '+' ( ZXSJ '*' ZOMEGJ ) ;
  578. ZTPI.ZJ = Z1 '*' Z6 '*' Z2 '/' ( Z3 '+' Z4 '+' Z5 ) ;
  579. 'SINON' ;
  580. 'SI' ( 'EGA' ZMREC 'ROSENBLUETH' ) ;
  581. 'SI' ( 'EXISTE' TAB1 'DUREE' ) ;
  582. ZTDUR = TAB1.'DUREE' ;
  583. ZEPSI = ZXSI '+' ( 2. / ( ZOMEGI '*' ZTDUR ) ) ;
  584. ZEPSJ = ZXSJ '+' ( 2. / ( ZOMEGJ '*' ZTDUR ) ) ;
  585. ZFR1I = ZFRI '*' ( ( 1. '-'
  586. ( ZEPSI '*' ZEPSI ) ) '**' 0.5 ) ;
  587. ZFR1J = ZFRJ '*' ( ( 1. '-'
  588. ( ZEPSJ '*' ZEPSJ ) ) '**' 0.5 ) ;
  589. ZALF = ( ZFR1I '-' ZFR1J ) '/' ( ( ZFRI '*' ZEPSI )
  590. '+' ( ZFRJ '*' ZEPSJ ) ) ;
  591. ZTPI.ZJ = 1. '/' ( 1. '+' ( ZALF '*' ZALF ) ) ;
  592. 'SINON' ;
  593. 'MESSAGE' 'POUR LA METHODE DE ROSENBLUETH DONNER' ;
  594. 'MESSAGE' 'LA DUREE DU SIGNAL' ;
  595. 'ERREUR' 'PROC_SISSI' ;
  596. 'FINSI' ;
  597. 'SINON' ;
  598. 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ;
  599. ZDELT = 'ABS' ( 2. '*' ( ZFRJ '-' ZFRI ) '/'
  600. ( ZFRJ '+' ZFRI ) ) ;
  601. 'SI' ( ZDELT '&lt;EG' 0.1 ) ;
  602. ZTPI.ZJ = 1. ;
  603. 'SINON';
  604. ZTPI.ZJ = 0. ;
  605. 'FINSI';
  606. 'SINON' ;
  607. 'MESSAGE' 'ERREUR DE DONNEES POUR LA REGLE' ;
  608. 'MESSAGE' 'DE COMBINAISON DE MODES' ;
  609. 'ERREUR' 'PROC_SISSI' ;
  610. 'FINSI' ;
  611. 'FINSI' ;
  612. 'FINSI' ;
  613. 'FINSI' ;
  614. 'FIN' ZLOOP21;
  615. 'FINSI' ;
  616. 'FIN' ZLOOP20 ;
  617. 'FINSI';
  618. *
  619. *
  620. * ---------------------------------------------------------------
  621. * +++++++++++++++ CALCUL DE LA REPONSE +++++++++++++++++
  622. * ---------------------------------------------------------------
  623. *
  624. * REDUCTION DES DONNEES MODALES SUR LE DOMAINE D'ETUDE
  625. *
  626. ZTDEPL = 'TABLE' 'DEF_MOD' ;
  627. ZTCONT = 'TABLE' 'CONT_MOD' ;
  628. ZI = 0 ;
  629. 'REPETER' ZLOOP30 ZNMOD ;
  630. ZI = ZI '+' 1 ;
  631. ZPHI = ZTMOD.ZI.'DEFORMEE_MODALE' ;
  632. *
  633. * AJOUT DU TEST SUR LA NECESSITE D AVOIR LES CONTRAINTES MODALES
  634. * POUR LE CALCUL DE REPONSE F. PICARD LE 24 MAI 1993
  635. *
  636. 'SI' ( 'EGA' ZDOM1 0 ) ;
  637. 'SI' ( 'EGA' ZI 1 ) ;
  638. ZMAI1 = 'EXTRAIRE' ZPHI 'MAIL' 'NOMU' ;
  639. 'FINSI' ;
  640. 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ;
  641. ZTDEPL.ZI = ZPHI ;
  642. 'FINSI';
  643. 'SI' ( 'EGA' ZICONT 1 ) ;
  644. ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE';
  645. ZTCONT.ZI = ZCON ;
  646. 'FINSI' ;
  647. 'SINON' ;
  648. 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ;
  649. ZTDEPL.ZI = 'REDU' ZPHI ZMAI1 ;
  650. 'FINSI';
  651. 'SI' ( 'EGA' ZICONT 1 ) ;
  652. ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE';
  653. ZTCONT.ZI = 'REDU' ZCON ZOB1 ;
  654. 'FINSI' ;
  655. 'FINSI' ;
  656. 'FIN' ZLOOP30 ;
  657. *
  658. * REDUCTION DES PSEUDOMODES ET VERIFICATION DES DONNEES
  659. *
  660. 'SI' ZPSEU ;
  661. ZDIR = 0 ;
  662. ZDI0 = 0;
  663. 'REPETER' ZLOO101 ZNDIR ;
  664. ZDIR = ZDIR '+' 1 ;
  665. ZMORES = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ;
  666. 'SI' ( 'EGA' ZMORES 'X' ) ;
  667. ZDI = 1 ;
  668. MODI = 'MOT' 'UX' ;
  669. 'FINSI' ;
  670. 'SI' ( 'EGA' ZMORES 'Y' ) ;
  671. ZDI = 2 ;
  672. MODI = 'MOT' 'UY' ;
  673. 'FINSI' ;
  674. 'SI' ( 'EGA' ZMORES 'Z' ) ;
  675. ZDI = 3 ;
  676. MODI = 'MOT' 'UZ' ;
  677. 'FINSI' ;
  678. 'SI' ( 'EXISTE' ZTPSEU ZDI ) ;
  679. ZTPSEUD = ZTPSEU.ZDI ;
  680. 'SI' ( 'EGA' ZDOM1 1 ) ;
  681. 'SI' ( 'EGA' ZIDEPL 1 ) ;
  682. ZCH2 = ZTPSEUD.'DEPLACEMENT' ;
  683. ZTPSEUD.'DEPLACEMENT' = 'REDU' ZCH2 ZMAI1 ;
  684. 'FINSI' ;
  685. 'SI' ( 'EGA' ZICONT 1) ;
  686. ZCO2 = ZTPSEUD.'CONTRAINTE' ;
  687. ZTPSEUD.'CONTRAINTE' = 'REDU' ZCO2 ZOB1 ;
  688. 'FINSI' ;
  689. 'FINSI' ;
  690. 'SINON' ;
  691. 'MESS' 'IL MANQUE LE PSEUDOMODE RELATIF A LA DIRECTION : ' ZMORES ;
  692. 'ERREUR' 'PROC_SISSI' ;
  693. 'FINSI' ;
  694. 'FIN' ZLOO101 ;
  695. 'FINSI' ;
  696. *
  697. * REPONSE PAR DIRECTION
  698. *
  699. * AJOUT DE TEST POUR LE CAS D UN SEISME MONODIRECTIONNEL OU BIDIRECTIONNEL
  700. * F. PICARD LE 24 MAI 1993
  701. *
  702. ZDIR = 0 ;
  703. ZDI0 = 0;
  704. 'REPETER' ZLOOP35 ZNDIR ;
  705. ZDIR = ZDIR '+' 1 ;
  706. ZMORES = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ;
  707. TRESDIR = 'TABLE' 'RESULTATS_DIRECTIONS' ;
  708. TRESU.ZMORES = TRESDIR ;
  709. *------------------------------------------------------------
  710. * mise a jour pour prise en compte correcte des accelerations
  711. * F PICARD le 15 decembre 1993
  712. *------------------------------------------------------------
  713. 'SI' ( 'EGA' ZMORES 'X' ) ;
  714. ZDI = 1 ;
  715. MODI = 'MOT' 'UX' ;
  716. 'FINSI' ;
  717. 'SI' ( 'EGA' ZMORES 'Y' ) ;
  718. ZDI = 2 ;
  719. MODI = 'MOT' 'UY' ;
  720. 'FINSI' ;
  721. 'SI' ( 'EGA' ZMORES 'Z' ) ;
  722. ZDI = 3 ;
  723. MODI = 'MOT' 'UZ' ;
  724. 'FINSI' ;
  725. *----- fin mise a jour --------------*
  726. ZSOR = 0 ;
  727. 'REPETER' ZLOOP36 ZNSOR ;
  728. ZSOR = ZSOR '+' 1 ;
  729. ZMOSOR = 'MOT' ZTABSOR . ZSOR ;
  730. 'SI' ( ( 'EGA' ZMOSOR 'DEPLACEMENTS' )
  731. 'OU' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ) ;
  732. ZREP = ZTDEPL.ZUN1 '*' 0. ;
  733. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  734. ZVMOD = 'VALE' 'MODE' ;
  735. 'SI' ( 'EGA' ZVMOD 'FOUR' ) ;
  736. 'SI' ( 'EGA' MODI 'UX' );
  737. ZU = 'MANU' 'CHPO' ZMAI1 2 'UR' 1.0 'UT' -1.
  738. 'NATURE' 'DIFFUS' ;
  739. 'FINSI' ;
  740. 'SI' ( 'EGA' MODI 'UY' );
  741. ZU = 'MANU' 'CHPO' ZMAI1 2 'UR' 1.0 'UT' 1.
  742. 'NATURE' 'DIFFUS' ;
  743. 'FINSI' ;
  744. 'SINON' ;
  745. 'SI' ( ( 'EGA' ZVMOD 'AXIS' ) 'ET'
  746. ( ( 'EGA' MODI 'UX' ) 'OU' ( 'EGA' MODI 'UY' ) ) );
  747. 'MESS' 'UNE STRUCTURE AXISYMETRIQUE N EST EXCITABLE'
  748. ' QUE PAR UN SEISME VERTICAL' ;
  749. 'ERREUR' 'PROC_SISSI' ;
  750. 'FINSI' ;
  751. ZU = 'MANU' 'CHPO' ZMAI1 1 MODI 1.0 'NATURE' 'DIFFUS' ;
  752. 'FINSI';
  753. ZTRON = ZU ;
  754. ZK = 0 ;
  755. 'REPETER' ZLOOP38 ZNMOD ;
  756. ZK = ZK '+' 1 ;
  757. ZTRON = ZTRON '-' ( ZQSM.ZK.ZDI '*' ZTDEPL.ZK ) ;
  758. 'FIN' ZLOOP38 ;
  759. 'FINSI' ;
  760. 'FINSI';
  761. 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ;
  762. ZREP = ZTCONT.ZUN1 '*' 0. ;
  763. 'FINSI' ;
  764. 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ;
  765. ZREP = ZTMOD.ZUN1.'REACTION_MODALE' '*' 0. ;
  766. 'FINSI' ;
  767. ZI = 0 ;
  768. 'REPETER' ZLOOP37 ZNMOD ;
  769. ZI = ZI '+' 1 ;
  770. *
  771. *ON ASSOCIE LES BONS QN AUX BONNES DIRECTIONS DE SEISME
  772. *
  773. 'SI' ('EGA' ZMORES 'X');
  774. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.1;
  775. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  776. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.1 ;
  777. 'FINSI' ;
  778. 'FINSI';
  779. 'SI' ('EGA' ZMORES 'Y');
  780. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.2;
  781. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  782. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.2 ;
  783. 'FINSI' ;
  784. 'FINSI';
  785. 'SI' ('EGA' ZMORES 'Z');
  786. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.3;
  787. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  788. ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.3 ;
  789. 'FINSI' ;
  790. 'FINSI';
  791. ****** PARTIE SRSS ON Y PASSE TOUJOURS ******
  792. 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ;
  793. ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*'
  794. ( ZTDEPL.ZI '**' 2 ) );
  795. 'FINSI' ;
  796. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  797. ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*'
  798. ( ZTDEPL.ZI '**' 2 ) ) ;
  799. 'FINSI';
  800. 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ;
  801. ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*'
  802. ( ZTCONT.ZI '*' ZTCONT.ZI ) ) ;
  803. 'FINSI' ;
  804. 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ;
  805. ZREI = ZTMOD.ZI.'REACTION_MODALE' ;
  806. ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*'
  807. ( ZREI '**' 2 ) ) ;
  808. 'FINSI' ;
  809. ****** TRAITEMENT DES DIFFERENTES METHODES DE RECOMBINAISON ***********
  810. ZMREC = TAB1.'RECOMBINAISON_MODES';
  811.  
  812. 'SI' ( ( 'NEG' ZMREC 'SRSS' ) 'ET' ( ZI >EG 2 ) ) ;
  813. ZJ = 0 ;
  814. 'REPETER' ZLOOP40 ( ZI '-' 1 ) ;
  815. ZJ = ZJ '+' 1 ;
  816. ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSMW2.ZJ.ZDI ;
  817. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  818. ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSM.ZJ.ZDI ;
  819. 'FINSI' ;
  820. 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ;
  821. ZCH1 = MULC ZTDEPL.ZI ZTDEPL.ZJ ;
  822. ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*'
  823. ZCH1 ;
  824. 'FINSI' ;
  825. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  826. ZCH2 = MULC ZTDEPL.ZI ZTDEPL.ZJ ;
  827. ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*'
  828. ZCH2 ;
  829. 'FINSI';
  830. 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ;
  831. ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*'
  832. ( ZTCONT.ZI '*' ZTCONT.ZJ ) ;
  833. 'FINSI' ;
  834. 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ;
  835. ZREI = ZTMOD.ZI.'REACTION_MODALE' ;
  836. ZREJ = ZTMOD.ZJ.'REACTION_MODALE' ;
  837. ZCH3 = MULC ZREI ZREJ ;
  838. ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*'
  839. ZCH3 ;
  840. 'FINSI' ;
  841. 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ;
  842. ZREPC = 'ABS' ZREPC ;
  843. 'FINSI';
  844. 'SI' ( 'EGA' ZJ 1 ) ;
  845. ZREPCT = ZREPC ;
  846. 'SINON' ;
  847. ZREPCT = ZREPCT '+' ZREPC ;
  848. 'FINSI' ;
  849. 'FIN' ZLOOP40 ;
  850. ZREP = ZREP '+' ZREPCT ;
  851. 'FINSI' ;
  852. 'FIN' ZLOOP37 ;
  853. ****** ACCELERATION TERME COMPLEMENTAIRE ********
  854. 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ;
  855. GAMA0 = ZTGAM.ZDIR ;
  856. ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 )
  857. '*' ( ZTRON '**' 2 ) ) ;
  858. 'FINSI' ;
  859. ****** ON RAJOUTE LES PSEUDOMODES ********
  860. 'SI' ZPSEU ;
  861. GAMA0 = ZTGAM.ZDIR ;
  862. 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ;
  863. ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 )
  864. * ( ZTPSEU.ZDI.'DEPLACEMENT' '**' 2 ) ) ;
  865. 'FINSI' ;
  866. 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ;
  867. ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 )
  868. * ( ZTPSEU.ZDI.'CONTRAINTE' '**' 2 ) ) ;
  869. 'FINSI' ;
  870. 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ;
  871. ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 )
  872. * ( ZTPSEU.ZDI.'REACTION' '**' 2 ) ) ;
  873. 'FINSI' ;
  874. 'FINSI' ;
  875. ****** ECRITURE DNS LA TABLE DE RESULTATS *******
  876. ZREP = ( 'ABS' ZREP ) '**' 0.5 ;
  877. TRESDIR.ZMOSOR = ZREP ;
  878. 'FIN' ZLOOP36 ;
  879. 'FIN' ZLOOP35 ;
  880. *
  881. * ***** COMBINAISON DES DIRECTIONS ******
  882. *
  883. TREST = 'TABLE' 'RESULTATS_TOTAUX' ;
  884. TRESU.'REPONSE_TOTALE' = TREST ;
  885. 'SI' ( 'EGA' TAB1.'RECOMBINAISON_DIRECTIONS' 'QUADRATIQUE' ) ;
  886. ZSOR = 0 ;
  887. 'REPETER' ZLOOP50 ZNSOR ;
  888. ZSOR = ZSOR '+' 1 ;
  889. ZMOSOR = 'MOT' ZTABSOR . ZSOR ;
  890. ZDIR = 0 ;
  891. 'REPETER' ZLOOP51 ZNDIR ;
  892. ZDIR = ZDIR '+' 1 ;
  893. ZMORES = TAB1.'EXCITATION'.ZDIR.'DIRECTION' ;
  894. 'SI' ( 'EGA' ZDIR 1 ) ;
  895. ZREPT = TRESU.ZMORES.ZMOSOR '**' 2 ;
  896. 'SINON' ;
  897. ZREPT = ZREPT '+' ( TRESU.ZMORES.ZMOSOR '**' 2 ) ;
  898. 'FINSI' ;
  899. 'FIN' ZLOOP51 ;
  900. TREST.ZMOSOR = ZREPT '**' 0.5 ;
  901. 'FIN' ZLOOP50 ;
  902. 'FINSI' ;
  903. *
  904. *
  905. * IMPRESSION DES RESULTATS
  906. *
  907. ZIMPR = FAUX ;
  908. 'SI' ( 'EXISTE' TAB1 'IMPRESSION' ) ;
  909. ZIMPR1 = TAB1.'IMPRESSION' ;
  910. ZTYP2 = 'TYPE' ZIMPR1 ;
  911. 'SI' ( 'EGA' ZTYP2 'LOGIQUE ' ) ;
  912. ZIMPR = ZIMPR1 ;
  913. 'SINON' ;
  914. 'MESSAGE' 'A L INDICE IMPRESSION IL FAUT DONNER '
  915. 'UN OBJET DE TYPE LOGIQUE' ;
  916. 'ERREUR' 'PROC_SISSI' ;
  917. 'FINSI' ;
  918. *
  919. 'FINSI' ;
  920. 'SI' ZIMPR ;
  921. 'SAUTE' 20 'LIGNE' ;
  922. 'MESS' ' |-------------------------------------------|' ;
  923. 'MESS' ' | RESULTATS DE LA PROCEDURE S I S S I |' ;
  924. 'MESS' ' |___________________________________________|' ;
  925. 'SAUTE' 5 'LIGNE' ;
  926. *
  927. 'MESS' ' VALEUR DU SPECTRE' ;
  928. 'MESS' ' -----------------' ;
  929. 'SAUTE' 2 'LIGNE' ;
  930. ZI = 0 ;
  931. 'REPETER' ZLOOP60 ZNMOD ;
  932. ZI = ZI '+' 1 ;
  933. ZFI = ZTMOD.ZI.'FREQUENCE' ;
  934. ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ;
  935. 'MESS' 'MODE NUMERO : ' ZI ' FREQUENCE : ' ZFI 'HZ'
  936. ' AMORTISSEMENT : ' ZXSI ;
  937. ZDIR = 0 ;
  938. 'REPETER' ZLOOP61 ZNDIR ;
  939. ZDIR = ZDIR '+' 1 ;
  940. ZMODIR = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ;
  941. 'MESS' ' SPECTRE ' ZMODIR ' : '
  942. TRESU.'REPRISE'.'SPECTRE'.ZI.ZDIR ;
  943. 'FIN' ZLOOP61 ;
  944. 'SAUTE' 2 'LIGNE' ;
  945. 'FIN' ZLOOP60 ;
  946. *
  947. *
  948. 'SAUTE' 5 'LIGNE' ;
  949. 'MESS' ' COEFFICIENTS DE CORRELATION ENTRE MODES' ;
  950. 'MESS' ' ---------------------------------------' ;
  951. 'SAUTE' 2 'LIGNE' ;
  952. ZI = 1 ;
  953. 'REPETER' ZLOOP62 ( ZNMOD '-' 1 ) ;
  954. ZI = ZI '+' 1 ;
  955. ZJ = 0 ;
  956. 'REPETER' ZLOOP63 ( ZI '-' 1 ) ;
  957. ZJ = ZJ '+' 1 ;
  958. 'MESS' ' I' ZI 'J' ZJ 'PIJ' TRESU.'REPRISE'.'PIJ'.ZI.ZJ ;
  959. 'FIN' ZLOOP63 ;
  960. 'SAUT' 4 'LIGNE' ;
  961. 'FIN' ZLOOP62 ;
  962. *
  963. *
  964. ZDIR = 0;
  965. 'REPETER' ZLOOP64 ZNDIR ;
  966. ZDIR = ZDIR '+' 1 ;
  967. ZMODIR = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ;
  968. 'MESS' ' DIRECTION ' ZDIR ' : ' ZMODIR ;
  969. 'MESS' ' -------------------------------' ;
  970. 'SAUTE' 2 'LIGNE' ;
  971. ZSOR = 0 ;
  972. 'REPETER' ZLOOP65 ZNSOR ;
  973. ZSOR = ZSOR '+' 1 ;
  974. ZMOSOR = 'MOT' ZTABSOR . ZSOR ;
  975. 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ;
  976. 'MESS' '++++++++++++++++++++++++++++++++' ;
  977. 'LIST' TRESU.ZMODIR.ZMOSOR ;
  978. 'FIN' ZLOOP65 ;
  979. 'FIN' ZLOOP64 ;
  980. *
  981. *
  982. ZSOR = 0 ;
  983. 'MESS' ' REPONSE COMBINEE TOUTES DIRECTIONS D EXCITATION' ;
  984. 'MESS' ' -----------------------------------------------' ;
  985. 'SAUTE' 2 'LIGNE' ;
  986. 'REPETER' ZLOOP66 ZNSOR ;
  987. ZSOR = ZSOR '+' 1 ;
  988. ZMOSOR = 'MOT' ZTABSOR . ZSOR ;
  989. 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ;
  990. 'MESS' '++++++++++++++++++++++++++++++++' ;
  991. 'LIST' TRESU.'REPONSE_TOTALE'.ZMOSOR ;
  992. 'FIN' ZLOOP66 ;
  993. *
  994. 'FINSI' ;
  995. *
  996. 'MENAGE' ;
  997. *
  998. *
  999. * Modification du 16-10-2016 pour calculer les concomitances
  1000. * selon le modele de MARTI a trois couches
  1001. 'SI' ('EGA' ('TYPE' MTAB2) 'TABLE');
  1002. *
  1003. 'MESS' ' CALCUL DES COVARIANCES' ;
  1004. 'MESS' ' ----------------------' ;
  1005. *
  1006. * controle dimension du calcul
  1007. 'SI' (('VALE' 'DIME') 'NEG' 3);
  1008. 'MESS' 'Calcul possible seulement en 3D';
  1009. QUIT SISSIB;
  1010. 'FINSI';
  1011. *
  1012. * extraction table base modale
  1013. MTAB1 = TAB1.'STRUCTURE';
  1014. *
  1015. * Liste des mots pour chaque voile objet du calcul
  1016. * I = 1;
  1017. * 'REPE' IND1 ('DIME' MTAB2);
  1018. * 'SI' (I 'EGA' 1);
  1019. * L_MAIL = 'MOTS' ('CHAINE' 'VOI' I);
  1020. * 'SINON';
  1021. * L_MAIL = L_MAIL 'ET' ('MOTS' ('CHAINE' 'VOI' I));
  1022. * 'FINSI';
  1023. * I = I + 1;
  1024. * 'FIN' IND1;
  1025. *
  1026. * contraintes de membrane pour chaque mode;
  1027. *
  1028. KK1 = 1;
  1029. JJ_VOILE = 1;
  1030. JJ_POUTR = 1;
  1031. * boucle sur les voiles
  1032. 'REPE' INDT ('DIME' MTAB2);
  1033. *------------ Voiles ------------------------------------------
  1034. 'SI' ('EGA' (MTAB2. KK1 .'TYPE') 'VOILE');
  1035. TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_MEMBRANE' = TABLE;
  1036. 'SI' ('NON' ('EXIST' (TRESU.'REPONSE_TOTALE') ('COVARIANCE')));
  1037. TRESU.'REPONSE_TOTALE' . 'COVARIANCE' = TABLE;
  1038. 'FINSI';
  1039. MO_VOILE = CHAINE 'VOI' JJ_VOILE;
  1040. * maillage voile
  1041. MAI1 = MTAB2. KK1 .'MAIL';
  1042. * controle maillage voile
  1043. 'VERSENS' MAI1;
  1044. *
  1045. * extraction des quantités
  1046. MOD1 = MTAB2. KK1 .'MODE';
  1047. H1 = MTAB2. KK1 .'EPAISSEUR';
  1048. ENRE1 = MTAB2. KK1 .'ENROBAGE_E';
  1049. ENRI1 = MTAB2. KK1 .'ENROBAGE_I';
  1050. COT1 = MTAB2. KK1 .'COT_THETA';
  1051. * controle
  1052. 'SI' ('NEG' ('TYPE' MOD1) 'MMODEL');
  1053. MESS 'Pas de MMODEL';
  1054. QUIT SISSIB;
  1055. 'FINSI';
  1056. 'SI' ('NEG' ('TYPE' H1) 'FLOTTANT');
  1057. MESS 'Aucun epaisseur';
  1058. QUIT SISSIB;
  1059. 'FINSI';
  1060. 'SI' ('NEG' ('TYPE' ENRE1) 'FLOTTANT');
  1061. MESS 'Aucun enrobage externe';
  1062. QUIT SISSIB;
  1063. 'FINSI';
  1064. 'SI' ('NEG' ('TYPE' ENRI1) 'FLOTTANT');
  1065. MESS 'Aucun enrobage interne';
  1066. QUIT SISSIB;
  1067. 'FINSI';
  1068. 'SI' ('NEG' ('TYPE' COT1) 'FLOTTANT');
  1069. MESS 'Pas de cotangente';
  1070. QUIT SISSIB;
  1071. 'FINSI';
  1072. *
  1073. NN1 = ('DIME' (MTAB1.MODES)) - 2;
  1074. 'SI' (NN1 'EGA' 0);
  1075. * Controle sur le modes
  1076. 'MESS' 'No modes dans la table MTAB1';
  1077. 'ERRE' 1;
  1078. 'SINON';
  1079. I = 1;
  1080. 'REPE' IND1 (NN1);
  1081. * Boucle sur les modes
  1082. CONTMOD = REDU (MTAB1.MODES. I .CONTRAINTE_MODALE) MAI1;
  1083. CONTMOD = RTENS CONTMOD
  1084. (MTAB2. KK1 .'MODE') (MTAB2. KK1 .'MATE')
  1085. (MTAB2. KK1 .'DIR1') (MTAB2. KK1 .'DIR2');
  1086. CONTMOD = 'CHAN' 'GRAVITE' CONTMOD MOD1;
  1087. *
  1088. * Creation des MCHAML vides
  1089. N11E = 'VIDE' 'MCHAML';
  1090. N12E = 'VIDE' 'MCHAML';
  1091. N22E = 'VIDE' 'MCHAML';
  1092. *
  1093. N11I = 'VIDE' 'MCHAML';
  1094. N12I = 'VIDE' 'MCHAML';
  1095. N22I = 'VIDE' 'MCHAML';
  1096. *
  1097. M11 = 'VIDE' 'MCHAML';
  1098. M22 = 'VIDE' 'MCHAML';
  1099. M12 = 'VIDE' 'MCHAML';
  1100. *
  1101. V1 = 'VIDE' 'MCHAML';
  1102. V2 = 'VIDE' 'MCHAML';
  1103. VR = 'VIDE' 'MCHAML';
  1104. *
  1105. * extraction des efforts globaux
  1106. M11 = M11 'ET' (EXCO CONTMOD 'M11' 'M11T');
  1107. M22 = M22 'ET' (EXCO CONTMOD 'M22' 'M22T');
  1108. M12 = M12 'ET' (EXCO CONTMOD 'M12' 'M12T');
  1109. V1 = V1 'ET' (EXCO CONTMOD 'V1' 'V1T');
  1110. V2 = V2 'ET' (EXCO CONTMOD 'V2' 'V2T');
  1111. *
  1112. CHP1 = 'EXCO' V1 'V1T' 'SCAL';
  1113. CHP2 = 'EXCO' V2 'V2T' 'SCAL';
  1114. CHP3 = ((CHP1)*(CHP1)) + ((CHP2)*(CHP2));
  1115. CHP3 = ((CHP3)**(0.5));
  1116. AAA = MASQU CHP3 'EGINFE' (1.E-12);
  1117. CHP3 = CHP3 + (((AAA))*(1.E99));
  1118. VR = VR 'ET' (EXCO CHP3 'SCAL' 'VR');
  1119. 'OUBL' CHP1;
  1120. 'OUBL' CHP2;
  1121. 'OUBL' CHP3;
  1122. *
  1123. * Determination des efforts pour les
  1124. * membranes inferieure et superieure
  1125. N11S = 'EXCO' CONTMOD 'N11' 'SCAL';
  1126. N12S = 'EXCO' CONTMOD 'N12' 'SCAL';
  1127. N22S = 'EXCO' CONTMOD 'N22' 'SCAL';
  1128. M11S = 'EXCO' M11 'M11T' 'SCAL';
  1129. M22S = 'EXCO' M22 'M22T' 'SCAL';
  1130. M12S = 'EXCO' M12 'M12T' 'SCAL';
  1131. V1S = 'EXCO' V1 'V1T' 'SCAL';
  1132. V2S = 'EXCO' V2 'V2T' 'SCAL';
  1133. V0S = 'EXCO' VR 'VR' 'SCAL';
  1134. *
  1135. DD1 = H1 - ((ENRE1 + ENRI1)) ;
  1136. *
  1137. N11E = N11E 'ET' (((0.5)*(N11S)) +
  1138. ((M11S)/(DD1)) +
  1139. (((V1S)*(V1S))/(((2.0)*(COT1))*(V0S))));
  1140. N22E = N22E 'ET' (((0.5)*(N22S)) +
  1141. ((M22S)/(DD1)) +
  1142. (((V2S)*(V2S))/(((2.0)*(COT1))*(V0S))));
  1143. N12E = N12E 'ET' (((0.5)*(N12S)) +
  1144. ((M12S)/(DD1)) +
  1145. (((V1S)*(V2S))/(((2.0)*(COT1))*(V0S))));
  1146. N11I = N11I 'ET' (((0.5)*(N11S)) -
  1147. ((M11S)/(DD1)) +
  1148. (((V1S)*(V1S))/(((2.0)*(COT1))*(V0S))));
  1149. N22I = N22I 'ET' (((0.5)*(N22S)) -
  1150. ((M22S)/(DD1)) +
  1151. (((V2S)*(V2S))/(((2.0)*(COT1))*(V0S))));
  1152. N12I = N12I 'ET' (((0.5)*(N12S)) -
  1153. ((M12S)/(DD1)) +
  1154. (((V1S)*(V2S))/(((2.0)*(COT1))*(V0S))));
  1155. *
  1156. N11E = 'EXCO' N11E 'SCAL' 'N11E';
  1157. N22E = 'EXCO' N22E 'SCAL' 'N22E';
  1158. N12E = 'EXCO' N12E 'SCAL' 'N12E';
  1159. N11I = 'EXCO' N11I 'SCAL' 'N11I';
  1160. N22I = 'EXCO' N22I 'SCAL' 'N22I';
  1161. N12I = 'EXCO' N12I 'SCAL' 'N12I';
  1162. *
  1163. * Assemblage
  1164. MTAB1.MODES. I .CONTRAINTE_MEMBRANE = TABLE;
  1165. MTAB1.MODES. I .CONTRAINTE_MEMBRANE.(MO_VOILE) =
  1166. N11E ET N22E ET N12E ET
  1167. N11I ET N22I ET N12I ET
  1168. M11 ET M22 ET M12 ET
  1169. V1 ET V2 ET VR;
  1170. *
  1171. * Deduction des autres quantites
  1172. MG_1 = MTAB1 . MODES . I . MASSE_GENERALISEE;
  1173. DG_1 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 1;
  1174. DG_2 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 2;
  1175. DG_3 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 3;
  1176. MM_1 = ((DG_1 * DG_1) / MG_1) ;
  1177. MM_2 = ((DG_2 * DG_2) / MG_1) ;;
  1178. MM_3 = ((DG_3 * DG_3) / MG_1) ;
  1179. FP_1 = ((DG_1) / MG_1) ;
  1180. FP_2 = ((DG_2) / MG_1) ;;
  1181. FP_3 = ((DG_3) / MG_1) ;
  1182. FRQ1 = MTAB1.MODES.I. FREQUENCE ;
  1183. OMEG = FRQ1*2.0*3.1415926589 ;
  1184. OMEG2 = OMEG*OMEG ;
  1185. MTAB1.MODES. I .MASSE_MODALE = TABLE;
  1186. MTAB1.MODES. I .FACT_PARTECIPATION = TABLE;
  1187. MTAB1.MODES. I .FACT_PART_NORM = TABLE;
  1188. MTAB1.MODES. I .MASSE_MODALE. 1 = MM_1;
  1189. MTAB1.MODES. I .MASSE_MODALE. 2 = MM_2;
  1190. MTAB1.MODES. I .MASSE_MODALE. 3 = MM_3;
  1191. MTAB1.MODES. I .FACT_PARTECIPATION. 1 = FP_1;
  1192. MTAB1.MODES. I .FACT_PARTECIPATION. 2 = FP_2;
  1193. MTAB1.MODES. I .FACT_PARTECIPATION. 3 = FP_3;
  1194. MTAB1.MODES. I .FACT_PART_NORM. 1 = FP_1/OMEG2;
  1195. MTAB1.MODES. I .FACT_PART_NORM. 2 = FP_2/OMEG2;
  1196. MTAB1.MODES. I .FACT_PART_NORM. 3 = FP_3/OMEG2;
  1197. I = I + 1;
  1198. 'FIN' IND1;
  1199. 'FINSI';
  1200. *
  1201. NN1 = ('DIME' (MTAB1.MODES)) - 2;
  1202. 'SI' (NN1 'EGA' 0);
  1203. * Controle modes
  1204. 'MESS' 'No modes dans la table MTAB1';
  1205. 'ERRE' 1;
  1206. 'SINON';
  1207. * Deduction des efforts des membrane amplifié par rapport au spectre
  1208. MATPIJ = 'TABLE';
  1209. I = 1;
  1210. TRESU.'REPONSE_TOTALE' .
  1211. 'CONTRAINTES_MEMBRANE'.(MO_VOILE) = TABLE;
  1212. EFF_SEI1 = VIDE 'MCHAML';
  1213. EFF_SEI2 = VIDE 'MCHAML';
  1214. EFF_SEI3 = VIDE 'MCHAML';
  1215. * Deduction de la matrice rho_ij
  1216. 'REPE' IND1 (NN1);
  1217. MATPIJ. I = 'PROG';
  1218. J = 1;
  1219. 'REPE' IND2 (NN1);
  1220. 'SI' (I 'EGA' 1);
  1221. MATPIJ. I = (MATPIJ. I) 'ET'
  1222. TRESU.'REPRISE'.'PIJ'. J . I;
  1223. 'SINON';
  1224. 'SI' (J < I);
  1225. MATPIJ. I = (MATPIJ. I) 'ET'
  1226. TRESU.'REPRISE'.'PIJ'. I . J;
  1227. 'SINON';
  1228. MATPIJ. I = (MATPIJ. I) 'ET'
  1229. TRESU.'REPRISE'.'PIJ'. J . I;
  1230. 'FINSI';
  1231. 'FINSI';
  1232. J = J + 1;
  1233. 'FIN' IND2;
  1234. * Pseudoacceleration direction x, y et z
  1235. PSE_ACC1 = TRESU.'REPRISE'.'SPECTRE'. I . 1;
  1236. PSE_ACC2 = TRESU.'REPRISE'.'SPECTRE'. I . 2;
  1237. PSE_ACC3 = TRESU.'REPRISE'.'SPECTRE'. I . 3;
  1238. * facteur d'amplification
  1239. AMP_1 = (MTAB1.MODES. I .FACT_PART_NORM. 1)*(PSE_ACC1);
  1240. AMP_2 = (MTAB1.MODES. I .FACT_PART_NORM. 2)*(PSE_ACC2);
  1241. AMP_3 = (MTAB1.MODES. I .FACT_PART_NORM. 3)*(PSE_ACC3);
  1242. * Efforts de Membrane amplifié pour chaque mode pour
  1243. * les 3 directions
  1244. EFF_SEI1 = ((AMP_1)*(MTAB1.MODES. I .
  1245. CONTRAINTE_MEMBRANE.(MO_VOILE)));
  1246. EFF_SEI2 = ((AMP_2)*(MTAB1.MODES. I .
  1247. CONTRAINTE_MEMBRANE.(MO_VOILE)));
  1248. EFF_SEI3 = ((AMP_3)*(MTAB1.MODES. I .
  1249. CONTRAINTE_MEMBRANE.(MO_VOILE)));
  1250. * Sauvegarde
  1251. TRESU.'REPONSE_TOTALE' .
  1252. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I = TABLE;
  1253. TRESU.'REPONSE_TOTALE' .
  1254. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1 = EFF_SEI1;
  1255. TRESU.'REPONSE_TOTALE' .
  1256. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2 = EFF_SEI2;
  1257. TRESU.'REPONSE_TOTALE' .
  1258. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3 = EFF_SEI3;
  1259. I = I + 1;
  1260. 'FIN' IND1;
  1261. * Calcul des covariances
  1262. * Initializzation variables
  1263. C1111E_1 = 'VIDE' 'MCHAML';
  1264. C2222E_1 = 'VIDE' 'MCHAML';
  1265. C1212E_1 = 'VIDE' 'MCHAML';
  1266. C1122E_1 = 'VIDE' 'MCHAML';
  1267. C1112E_1 = 'VIDE' 'MCHAML';
  1268. C2212E_1 = 'VIDE' 'MCHAML';
  1269. *
  1270. C1111I_1 = 'VIDE' 'MCHAML';
  1271. C2222I_1 = 'VIDE' 'MCHAML';
  1272. C1212I_1 = 'VIDE' 'MCHAML';
  1273. C1122I_1 = 'VIDE' 'MCHAML';
  1274. C1112I_1 = 'VIDE' 'MCHAML';
  1275. C2212I_1 = 'VIDE' 'MCHAML';
  1276. *
  1277. C1111E_2 = 'VIDE' 'MCHAML';
  1278. C2222E_2 = 'VIDE' 'MCHAML';
  1279. C1212E_2 = 'VIDE' 'MCHAML';
  1280. C1122E_2 = 'VIDE' 'MCHAML';
  1281. C1112E_2 = 'VIDE' 'MCHAML';
  1282. C2212E_2 = 'VIDE' 'MCHAML';
  1283. *
  1284. C1111I_2 = 'VIDE' 'MCHAML';
  1285. C2222I_2 = 'VIDE' 'MCHAML';
  1286. C1212I_2 = 'VIDE' 'MCHAML';
  1287. C1122I_2 = 'VIDE' 'MCHAML';
  1288. C1112I_2 = 'VIDE' 'MCHAML';
  1289. C2212I_2 = 'VIDE' 'MCHAML';
  1290. *
  1291. C1111E_3 = 'VIDE' 'MCHAML';
  1292. C2222E_3 = 'VIDE' 'MCHAML';
  1293. C1212E_3 = 'VIDE' 'MCHAML';
  1294. C1122E_3 = 'VIDE' 'MCHAML';
  1295. C1112E_3 = 'VIDE' 'MCHAML';
  1296. C2212E_3 = 'VIDE' 'MCHAML';
  1297. *
  1298. C1111I_3 = 'VIDE' 'MCHAML';
  1299. C2222I_3 = 'VIDE' 'MCHAML';
  1300. C1212I_3 = 'VIDE' 'MCHAML';
  1301. C1122I_3 = 'VIDE' 'MCHAML';
  1302. C1112I_3 = 'VIDE' 'MCHAML';
  1303. C2212I_3 = 'VIDE' 'MCHAML';
  1304. *
  1305. CV11_1 = 'VIDE' 'MCHAML';
  1306. CV22_1 = 'VIDE' 'MCHAML';
  1307. CV12_1 = 'VIDE' 'MCHAML';
  1308. *
  1309. CV11_2 = 'VIDE' 'MCHAML';
  1310. CV22_2 = 'VIDE' 'MCHAML';
  1311. CV12_2 = 'VIDE' 'MCHAML';
  1312. *
  1313. CV11_3 = 'VIDE' 'MCHAML';
  1314. CV22_3 = 'VIDE' 'MCHAML';
  1315. CV12_3 = 'VIDE' 'MCHAML';
  1316. * Boucles sur les modes
  1317. I = 1;
  1318. 'REPE' IND1 (NN1);
  1319. J = 1;
  1320. 'REPE' IND2 (NN1);
  1321. * Extraction Effort N11 N12 N22 ext et inter et V1, V2
  1322. * pour le mode fhi j direction x
  1323. N11EJ_1 =
  1324. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1325. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1326. 'N11E' 'SCAL';
  1327. N12EJ_1 =
  1328. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1329. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1330. 'N12E' 'SCAL';
  1331. N22EJ_1 =
  1332. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1333. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1334. 'N22E' 'SCAL';
  1335. N11IJ_1 =
  1336. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1337. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1338. 'N11I' 'SCAL';
  1339. N12IJ_1 =
  1340. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1341. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1342. 'N12I' 'SCAL';
  1343. N22IJ_1 =
  1344. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1345. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1346. 'N22I' 'SCAL';
  1347. V1J_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1348. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1349. 'V1T' 'SCAL';
  1350. V2J_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1351. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 1)
  1352. 'V2T' 'SCAL';
  1353. * Extraction Efforts N11 N12 N22 ext et inter et V1, V2
  1354. * pour le mode fhi i direction x
  1355. N11EI_1 =
  1356. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1357. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1358. 'N11E' 'SCAL';
  1359. N12EI_1 =
  1360. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1361. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1362. 'N12E' 'SCAL';
  1363. N22EI_1 =
  1364. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1365. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1366. 'N22E' 'SCAL';
  1367. N11II_1 =
  1368. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1369. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1370. 'N11I' 'SCAL';
  1371. N12II_1 =
  1372. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1373. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1374. 'N12I' 'SCAL';
  1375. N22II_1 =
  1376. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1377. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1378. 'N22I' 'SCAL';
  1379. V1I_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1380. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1381. 'V1T' 'SCAL';
  1382. V2I_1 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1383. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 1)
  1384. 'V2T' 'SCAL';
  1385. * Extraction Effort N11 N12 N22 ext et inter et V1, V2
  1386. * pour le mode fhi j direction y
  1387. N11EJ_2 =
  1388. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1389. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1390. 'N11E' 'SCAL';
  1391. N12EJ_2 =
  1392. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1393. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1394. 'N12E' 'SCAL';
  1395. N22EJ_2 =
  1396. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1397. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1398. 'N22E' 'SCAL';
  1399. N11IJ_2 =
  1400. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1401. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1402. 'N11I' 'SCAL';
  1403. N12IJ_2 =
  1404. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1405. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1406. 'N12I' 'SCAL';
  1407. N22IJ_2 =
  1408. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1409. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1410. 'N22I' 'SCAL';
  1411. V1J_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1412. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1413. 'V1T' 'SCAL';
  1414. V2J_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1415. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 2)
  1416. 'V2T' 'SCAL';
  1417. * Extraction Effort N11 N12 N22 ext et inter pour le
  1418. * mode
  1419. * fhi i direction y
  1420. N11EI_2 =
  1421. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1422. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1423. 'N11E' 'SCAL';
  1424. N12EI_2 =
  1425. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1426. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1427. 'N12E' 'SCAL';
  1428. N22EI_2 =
  1429. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1430. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1431. 'N22E' 'SCAL';
  1432. N11II_2 =
  1433. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1434. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1435. 'N11I' 'SCAL';
  1436. N12II_2 =
  1437. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1438. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1439. 'N12I' 'SCAL';
  1440. N22II_2 =
  1441. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1442. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1443. 'N22I' 'SCAL';
  1444. V1I_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1445. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1446. 'V1T' 'SCAL';
  1447. V2I_2 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1448. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 2)
  1449. 'V2T' 'SCAL';
  1450. * Extraction Effort N11 N12 N22 ext et inter pour le mode
  1451. * fhi j direction z
  1452. N11EJ_3 =
  1453. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1454. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1455. 'N11E' 'SCAL';
  1456. N12EJ_3 =
  1457. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1458. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1459. 'N12E' 'SCAL';
  1460. N22EJ_3 =
  1461. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1462. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1463. 'N22E' 'SCAL';
  1464. N11IJ_3 =
  1465. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1466. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1467. 'N11I' 'SCAL';
  1468. N12IJ_3 =
  1469. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1470. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1471. 'N12I' 'SCAL';
  1472. N22IJ_3 =
  1473. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1474. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1475. 'N22I' 'SCAL';
  1476. V1J_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1477. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1478. 'V1T' 'SCAL';
  1479. V2J_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1480. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). J . 3)
  1481. 'V2T' 'SCAL';
  1482. * Extraction Effort N11 N12 N22 ext et inter pour le mode
  1483. * fhi i direction z
  1484. N11EI_3 =
  1485. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1486. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1487. 'N11E' 'SCAL';
  1488. N12EI_3 =
  1489. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1490. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1491. 'N12E' 'SCAL';
  1492. N22EI_3 =
  1493. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1494. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1495. 'N22E' 'SCAL';
  1496. N11II_3 =
  1497. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1498. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1499. 'N11I' 'SCAL';
  1500. N12II_3 =
  1501. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1502. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1503. 'N12I' 'SCAL';
  1504. N22II_3 =
  1505. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1506. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1507. 'N22I' 'SCAL';
  1508. V1I_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1509. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1510. 'V1T' 'SCAL';
  1511. V2I_3 = 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1512. 'CONTRAINTES_MEMBRANE'.(MO_VOILE). I . 3)
  1513. 'V2T' 'SCAL';
  1514. *
  1515. 'SI' ((I 'EGA' 1) ET (J 'EGA' 1));
  1516. C1111E_1 = (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N11EI_1)));
  1517. C2222E_1 = (('EXTR' (MATPIJ. I) J)*((N22EJ_1)*(N22EI_1)));
  1518. C1212E_1 = (('EXTR' (MATPIJ. I) J)*((N12EJ_1)*(N12EI_1)));
  1519. C1122E_1 = (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N22EI_1)));
  1520. C1112E_1 = (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N12EI_1)));
  1521. C2212E_1 = (('EXTR' (MATPIJ. I) J)*((N22EJ_1)*(N12EI_1)));
  1522. *
  1523. C1111E_2 = (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N11EI_2)));
  1524. C2222E_2 = (('EXTR' (MATPIJ. I) J)*((N22EJ_2)*(N22EI_2)));
  1525. C1212E_2 = (('EXTR' (MATPIJ. I) J)*((N12EJ_2)*(N12EI_2)));
  1526. C1122E_2 = (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N22EI_2)));
  1527. C1112E_2 = (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N12EI_2)));
  1528. C2212E_2 = (('EXTR' (MATPIJ. I) J)*((N22EJ_2)*(N12EI_2)));
  1529. *
  1530. C1111E_3 = (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N11EI_3)));
  1531. C2222E_3 = (('EXTR' (MATPIJ. I) J)*((N22EJ_3)*(N22EI_3)));
  1532. C1212E_3 = (('EXTR' (MATPIJ. I) J)*((N12EJ_3)*(N12EI_3)));
  1533. C1122E_3 = (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N22EI_3)));
  1534. C1112E_3 = (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N12EI_3)));
  1535. C2212E_3 = (('EXTR' (MATPIJ. I) J)*((N22EJ_3)*(N12EI_3)));
  1536. *
  1537. C1111I_1 = (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N11II_1)));
  1538. C2222I_1 = (('EXTR' (MATPIJ. I) J)*((N22IJ_1)*(N22II_1)));
  1539. C1212I_1 = (('EXTR' (MATPIJ. I) J)*((N12IJ_1)*(N12II_1)));
  1540. C1122I_1 = (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N22II_1)));
  1541. C1112I_1 = (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N12II_1)));
  1542. C2212I_1 = (('EXTR' (MATPIJ. I) J)*((N22IJ_1)*(N12II_1)));
  1543. *
  1544. C1111I_2 = (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N11II_2)));
  1545. C2222I_2 = (('EXTR' (MATPIJ. I) J)*((N22IJ_2)*(N22II_2)));
  1546. C1212I_2 = (('EXTR' (MATPIJ. I) J)*((N12IJ_2)*(N12II_2)));
  1547. C1122I_2 = (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N22II_2)));
  1548. C1112I_2 = (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N12II_2)));
  1549. C2212I_2 = (('EXTR' (MATPIJ. I) J)*((N22IJ_2)*(N12II_2)));
  1550. *
  1551. C1111I_3 = (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N11II_3)));
  1552. C2222I_3 = (('EXTR' (MATPIJ. I) J)*((N22IJ_3)*(N22II_3)));
  1553. C1212I_3 = (('EXTR' (MATPIJ. I) J)*((N12IJ_3)*(N12II_3)));
  1554. C1122I_3 = (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N22II_3)));
  1555. C1112I_3 = (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N12II_3)));
  1556. C2212I_3 = (('EXTR' (MATPIJ. I) J)*((N22IJ_3)*(N12II_3)));
  1557. *
  1558. CV11_1 = (('EXTR' (MATPIJ. I) J)*((V1J_1)*(V1J_1)));
  1559. CV22_1 = (('EXTR' (MATPIJ. I) J)*((V2J_1)*(V2J_1)));
  1560. CV12_1 = (('EXTR' (MATPIJ. I) J)*((V1J_1)*(V2J_1)));
  1561. *
  1562. CV11_2 = (('EXTR' (MATPIJ. I) J)*((V1J_2)*(V1J_2)));
  1563. CV22_2 = (('EXTR' (MATPIJ. I) J)*((V2J_2)*(V2J_2)));
  1564. CV12_2 = (('EXTR' (MATPIJ. I) J)*((V1J_2)*(V2J_2)));
  1565. *
  1566. CV11_3 = (('EXTR' (MATPIJ. I) J)*((V1J_3)*(V1J_3)));
  1567. CV22_3 = (('EXTR' (MATPIJ. I) J)*((V2J_3)*(V2J_3)));
  1568. CV12_3 = (('EXTR' (MATPIJ. I) J)*((V1J_3)*(V2J_3)));
  1569. *
  1570. 'SINON';
  1571. C1111E_1 =
  1572. C1111E_1 + (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N11EI_1)));
  1573. C2222E_1 =
  1574. C2222E_1 + (('EXTR' (MATPIJ. I) J)*((N22EJ_1)*(N22EI_1)));
  1575. C1212E_1 =
  1576. C1212E_1 + (('EXTR' (MATPIJ. I) J)*((N12EJ_1)*(N12EI_1)));
  1577. C1122E_1 =
  1578. C1122E_1 + (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N22EI_1)));
  1579. C1112E_1 =
  1580. C1112E_1 + (('EXTR' (MATPIJ. I) J)*((N11EJ_1)*(N12EI_1)));
  1581. C2212E_1 =
  1582. C2212E_1 + (('EXTR' (MATPIJ. I) J)*((N22EJ_1)*(N12EI_1)));
  1583. *
  1584. C1111E_2 =
  1585. C1111E_2 + (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N11EI_2)));
  1586. C2222E_2 =
  1587. C2222E_2 + (('EXTR' (MATPIJ. I) J)*((N22EJ_2)*(N22EI_2)));
  1588. C1212E_2 =
  1589. C1212E_2 + (('EXTR' (MATPIJ. I) J)*((N12EJ_2)*(N12EI_2)));
  1590. C1122E_2 =
  1591. C1122E_2 + (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N22EI_2)));
  1592. C1112E_2 =
  1593. C1112E_2 + (('EXTR' (MATPIJ. I) J)*((N11EJ_2)*(N12EI_2)));
  1594. C2212E_2 =
  1595. C2212E_2 + (('EXTR' (MATPIJ. I) J)*((N22EJ_2)*(N12EI_2)));
  1596. *
  1597. C1111E_3 =
  1598. C1111E_3 + (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N11EI_3)));
  1599. C2222E_3 =
  1600. C2222E_3 + (('EXTR' (MATPIJ. I) J)*((N22EJ_3)*(N22EI_3)));
  1601. C1212E_3 =
  1602. C1212E_3 + (('EXTR' (MATPIJ. I) J)*((N12EJ_3)*(N12EI_3)));
  1603. C1122E_3 =
  1604. C1122E_3 + (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N22EI_3)));
  1605. C1112E_3 =
  1606. C1112E_3 + (('EXTR' (MATPIJ. I) J)*((N11EJ_3)*(N12EI_3)));
  1607. C2212E_3 =
  1608. C2212E_3 + (('EXTR' (MATPIJ. I) J)*((N22EJ_3)*(N12EI_3)));
  1609. *
  1610. C1111I_1 =
  1611. C1111I_1 + (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N11II_1)));
  1612. C2222I_1 =
  1613. C2222I_1 + (('EXTR' (MATPIJ. I) J)*((N22IJ_1)*(N22II_1)));
  1614. C1212I_1 =
  1615. C1212I_1 + (('EXTR' (MATPIJ. I) J)*((N12IJ_1)*(N12II_1)));
  1616. C1122I_1 =
  1617. C1122I_1 + (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N22II_1)));
  1618. C1112I_1 =
  1619. C1112I_1 + (('EXTR' (MATPIJ. I) J)*((N11IJ_1)*(N12II_1)));
  1620. C2212I_1 =
  1621. C2212I_1 + (('EXTR' (MATPIJ. I) J)*((N22IJ_1)*(N12II_1)));
  1622. *
  1623. C1111I_2 =
  1624. C1111I_2 + (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N11II_2)));
  1625. C2222I_2 =
  1626. C2222I_2 + (('EXTR' (MATPIJ. I) J)*((N22IJ_2)*(N22II_2)));
  1627. C1212I_2 =
  1628. C1212I_2 + (('EXTR' (MATPIJ. I) J)*((N12IJ_2)*(N12II_2)));
  1629. C1122I_2 =
  1630. C1122I_2 + (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N22II_2)));
  1631. C1112I_2 =
  1632. C1112I_2 + (('EXTR' (MATPIJ. I) J)*((N11IJ_2)*(N12II_2)));
  1633. C2212I_2 =
  1634. C2212I_2 + (('EXTR' (MATPIJ. I) J)*((N22IJ_2)*(N12II_2)));
  1635. *
  1636. C1111I_3 =
  1637. C1111I_3 + (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N11II_3)));
  1638. C2222I_3 =
  1639. C2222I_3 + (('EXTR' (MATPIJ. I) J)*((N22IJ_3)*(N22II_3)));
  1640. C1212I_3 =
  1641. C1212I_3 + (('EXTR' (MATPIJ. I) J)*((N12IJ_3)*(N12II_3)));
  1642. C1122I_3 =
  1643. C1122I_3 + (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N22II_3)));
  1644. C1112I_3 =
  1645. C1112I_3 + (('EXTR' (MATPIJ. I) J)*((N11IJ_3)*(N12II_3)));
  1646. C2212I_3 =
  1647. C2212I_3 + (('EXTR' (MATPIJ. I) J)*((N22IJ_3)*(N12II_3)));
  1648. *
  1649. CV11_1 = CV11_1 +
  1650. (('EXTR' (MATPIJ. I) J)*((V1J_1)*(V1J_1)));
  1651. CV22_1 = CV22_1 +
  1652. (('EXTR' (MATPIJ. I) J)*((V2J_1)*(V2J_1)));
  1653. CV12_1 = CV12_1 +
  1654. (('EXTR' (MATPIJ. I) J)*((V1J_1)*(V2J_1)));
  1655. *
  1656. CV11_2 = CV11_2 +
  1657. (('EXTR' (MATPIJ. I) J)*((V1J_2)*(V1J_2)));
  1658. CV22_2 = CV22_2 +
  1659. (('EXTR' (MATPIJ. I) J)*((V2J_2)*(V2J_2)));
  1660. CV12_2 = CV12_2 +
  1661. (('EXTR' (MATPIJ. I) J)*((V1J_2)*(V2J_2)));
  1662. *
  1663. CV11_3 = CV11_3 +
  1664. (('EXTR' (MATPIJ. I) J)*((V1J_3)*(V1J_3)));
  1665. CV22_3 = CV22_3 +
  1666. (('EXTR' (MATPIJ. I) J)*((V2J_3)*(V2J_3)));
  1667. CV12_3 = CV12_3 +
  1668. (('EXTR' (MATPIJ. I) J)*((V1J_3)*(V2J_3)));
  1669. *
  1670. 'FINSI';
  1671. J = J + 1;
  1672. 'FIN' IND2;
  1673. I = I + 1;
  1674. 'FIN' IND1;
  1675. *
  1676. CN11N11E = C1111E_1 + C1111E_2 + C1111E_3;
  1677. CN22N22E = C2222E_1 + C2222E_2 + C2222E_3;
  1678. CN12N12E = C1212E_1 + C1212E_2 + C1212E_3;
  1679. CN11N22E = C1122E_1 + C1122E_2 + C1122E_3;
  1680. CN11N12E = C1112E_1 + C1112E_2 + C1112E_3;
  1681. CN22N12E = C2212E_1 + C2212E_2 + C2212E_3;
  1682. *
  1683. CN11N11I = C1111I_1 + C1111I_2 + C1111I_3;
  1684. CN22N22I = C2222I_1 + C2222I_2 + C2222I_3;
  1685. CN12N12I = C1212I_1 + C1212I_2 + C1212I_3;
  1686. CN11N22I = C1122I_1 + C1122I_2 + C1122I_3;
  1687. CN11N12I = C1112I_1 + C1112I_2 + C1112I_3;
  1688. CN22N12I = C2212I_1 + C2212I_2 + C2212I_3;
  1689. *
  1690. CV1V1 = CV11_1 + CV11_2 + CV11_3;
  1691. CV2V2 = CV22_1 + CV22_2 + CV22_3;
  1692. CV1V2 = CV12_1 + CV12_2 + CV12_3;
  1693. *
  1694. CHCOV = (EXCO CN11N11E 'SCAL' 'C11E')
  1695. ET (EXCO CN22N22E 'SCAL' 'C22E')
  1696. ET (EXCO CN12N12E 'SCAL' 'C33E')
  1697. ET (EXCO CN11N22E 'SCAL' 'C12E')
  1698. ET (EXCO CN11N12E 'SCAL' 'C13E')
  1699. ET (EXCO CN22N12E 'SCAL' 'C23E');
  1700. CHCOV = CHCOV ET (EXCO CN11N11I 'SCAL' 'C11I')
  1701. ET (EXCO CN22N22I 'SCAL' 'C22I')
  1702. ET (EXCO CN12N12I 'SCAL' 'C33I')
  1703. ET (EXCO CN11N22I 'SCAL' 'C12I')
  1704. ET (EXCO CN11N12I 'SCAL' 'C13I')
  1705. ET (EXCO CN22N12I 'SCAL' 'C23I');
  1706. CHCOV = CHCOV ET (EXCO CV1V1 'SCAL' 'CV11')
  1707. ET (EXCO CV2V2 'SCAL' 'CV22')
  1708. ET (EXCO CV1V2 'SCAL' 'CV12');
  1709. *
  1710. TRESU.'REPONSE_TOTALE' .'COVARIANCE'.(MO_VOILE) =
  1711. CHCOV;
  1712. 'FINSI';
  1713. JJ_VOILE = JJ_VOILE + 1;
  1714. 'FINSI';
  1715. *
  1716. * -------------- POUTR ------------------------------------------
  1717. 'SI' ('EGA' (MTAB2. KK1 .'TYPE') 'POUTR');
  1718. TRESU.'REPONSE_TOTALE' . 'CONTRAINTES_POUTRE' = TABLE;
  1719. 'SI' ('NON' ('EXIST' (TRESU.'REPONSE_TOTALE') ('COVARIANCE')));
  1720. TRESU.'REPONSE_TOTALE' . 'COVARIANCE' = TABLE;
  1721. 'FINSI';
  1722. MO_POUTR = CHAINE 'POU' JJ_POUTR;
  1723. * maillage poutre
  1724. MAI1 = MTAB2. KK1 .'MAIL';
  1725. *
  1726. NN1 = ('DIME' (MTAB1.MODES)) - 2;
  1727. 'SI' (NN1 'EGA' 0);
  1728. * Controle sur le modes
  1729. 'MESS' 'No modes dans la table MTAB1';
  1730. 'ERRE' 1;
  1731. 'SINON';
  1732. I = 1;
  1733. 'REPE' IND1 (NN1);
  1734. * Boucle sur les modes
  1735. CONTMOD = REDU (MTAB1.MODES. I .CONTRAINTE_MODALE) MAI1;
  1736. CONTMOD = 'CHAN' 'GRAVITE' CONTMOD
  1737. (REDU (MTAB2. KK1 .'MODE') MAI1);
  1738. *
  1739. * Creation des MCHAML vides
  1740. NN_P = 'VIDE' 'MCHAML';
  1741. VY_P = 'VIDE' 'MCHAML';
  1742. VZ_P = 'VIDE' 'MCHAML';
  1743. MT_P = 'VIDE' 'MCHAML';
  1744. MY_P = 'VIDE' 'MCHAML';
  1745. MZ_P = 'VIDE' 'MCHAML';
  1746. *
  1747. * extraction des efforts globaux
  1748. NN_P = NN_P 'ET' (EXCO CONTMOD 'EFFX' 'EFFX');
  1749. VY_P = VY_P 'ET' (EXCO CONTMOD 'EFFY' 'EFFY');
  1750. VZ_P = VZ_P 'ET' (EXCO CONTMOD 'EFFZ' 'EFFZ');
  1751. MT_P = MT_P 'ET' (EXCO CONTMOD 'MOMX' 'MOMX');
  1752. MY_P = MY_P 'ET' (EXCO CONTMOD 'MOMY' 'MOMY');
  1753. MZ_P = MZ_P 'ET' (EXCO CONTMOD 'MOMZ' 'MOMZ');
  1754. *
  1755. * Deduction des autres quantites
  1756. MG_1 = MTAB1 . MODES . I . MASSE_GENERALISEE;
  1757. DG_1 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 1;
  1758. DG_2 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 2;
  1759. DG_3 = MTAB1 . MODES . I . DEPLACEMENTS_GENERALISES . 3;
  1760. MM_1 = ((DG_1 * DG_1) / MG_1) ;
  1761. MM_2 = ((DG_2 * DG_2) / MG_1) ;;
  1762. MM_3 = ((DG_3 * DG_3) / MG_1) ;
  1763. FP_1 = ((DG_1) / MG_1) ;
  1764. FP_2 = ((DG_2) / MG_1) ;;
  1765. FP_3 = ((DG_3) / MG_1) ;
  1766. FRQ1 = MTAB1.MODES.I. FREQUENCE ;
  1767. OMEG = FRQ1*2.0*3.1415926589 ;
  1768. OMEG2 = OMEG*OMEG ;
  1769. MTAB1.MODES. I .MASSE_MODALE = TABLE;
  1770. MTAB1.MODES. I .FACT_PARTECIPATION = TABLE;
  1771. MTAB1.MODES. I .FACT_PART_NORM = TABLE;
  1772. MTAB1.MODES. I .MASSE_MODALE. 1 = MM_1;
  1773. MTAB1.MODES. I .MASSE_MODALE. 2 = MM_2;
  1774. MTAB1.MODES. I .MASSE_MODALE. 3 = MM_3;
  1775. MTAB1.MODES. I .FACT_PARTECIPATION. 1 = FP_1;
  1776. MTAB1.MODES. I .FACT_PARTECIPATION. 2 = FP_2;
  1777. MTAB1.MODES. I .FACT_PARTECIPATION. 3 = FP_3;
  1778. MTAB1.MODES. I .FACT_PART_NORM. 1 = FP_1/OMEG2;
  1779. MTAB1.MODES. I .FACT_PART_NORM. 2 = FP_2/OMEG2;
  1780. MTAB1.MODES. I .FACT_PART_NORM. 3 = FP_3/OMEG2;
  1781. *
  1782. MTAB1.MODES. I .CONTRAINTE_POUTRE = TABLE;
  1783. MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR) =
  1784. NN_P ET VY_P ET VZ_P ET
  1785. MT_P ET MY_P ET MZ_P;
  1786. *
  1787. I = I + 1;
  1788. 'FIN' IND1;
  1789. 'FINSI';
  1790. *
  1791. NN1 = ('DIME' (MTAB1.MODES)) - 2;
  1792. 'SI' (NN1 'EGA' 0);
  1793. * Controle modes
  1794. 'MESS' 'No modes dans la table MTAB1';
  1795. 'ERRE' 1;
  1796. 'SINON';
  1797. * Deduction des efforts des membrane amplifié par rapport * au spectre
  1798. MATPIJ = 'TABLE';
  1799. I = 1;
  1800. TRESU.'REPONSE_TOTALE' .
  1801. 'CONTRAINTES_POUTRE'.(MO_POUTR) = TABLE;
  1802. EFF_SEI1 = VIDE 'MCHAML';
  1803. EFF_SEI2 = VIDE 'MCHAML';
  1804. EFF_SEI3 = VIDE 'MCHAML';
  1805. * Deduction de la matrice rho_ij
  1806. 'REPE' IND1 (NN1);
  1807. MATPIJ. I = 'PROG';
  1808. J = 1;
  1809. 'REPE' IND2 (NN1);
  1810. 'SI' (I 'EGA' 1);
  1811. MATPIJ. I = (MATPIJ. I) 'ET'
  1812. TRESU.'REPRISE'.'PIJ'. J . I;
  1813. 'SINON';
  1814. 'SI' (J < I);
  1815. MATPIJ. I = (MATPIJ. I) 'ET'
  1816. TRESU.'REPRISE'.'PIJ'. I . J;
  1817. 'SINON';
  1818. MATPIJ. I = (MATPIJ. I) 'ET'
  1819. TRESU.'REPRISE'.'PIJ'. J . I;
  1820. 'FINSI';
  1821. 'FINSI';
  1822. J = J + 1;
  1823. 'FIN' IND2;
  1824. * Pseudoacceleration direction x, y et z
  1825. PSE_ACC1 = TRESU.'REPRISE'.'SPECTRE'. I . 1;
  1826. PSE_ACC2 = TRESU.'REPRISE'.'SPECTRE'. I . 2;
  1827. PSE_ACC3 = TRESU.'REPRISE'.'SPECTRE'. I . 3;
  1828. * facteur d'amplification
  1829. AMP_1 = (MTAB1.MODES. I .FACT_PART_NORM. 1)*(PSE_ACC1);
  1830. AMP_2 = (MTAB1.MODES. I .FACT_PART_NORM. 2)*(PSE_ACC2);
  1831. AMP_3 = (MTAB1.MODES. I .FACT_PART_NORM. 3)*(PSE_ACC3);
  1832. * Effort de Membrane amplifié pour chaque mode pour
  1833. * les 3 directions
  1834. EFF_SEI1 = ((AMP_1)*
  1835. (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR)));
  1836. EFF_SEI2 = ((AMP_2)*
  1837. (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR)));
  1838. EFF_SEI3 = ((AMP_3)*
  1839. (MTAB1.MODES. I .CONTRAINTE_POUTRE.(MO_POUTR)));
  1840. * Sauvegarde
  1841. TRESU.'REPONSE_TOTALE' .
  1842. 'CONTRAINTES_POUTRE'.(MO_POUTR). I = TABLE;
  1843. TRESU.'REPONSE_TOTALE' .
  1844. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1 = EFF_SEI1;
  1845. TRESU.'REPONSE_TOTALE' .
  1846. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2 = EFF_SEI2;
  1847. TRESU.'REPONSE_TOTALE' .
  1848. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3 = EFF_SEI3;
  1849. I = I + 1;
  1850. 'FIN' IND1;
  1851. * Calcul des covariances
  1852. * Initialisation variables
  1853. CNNNN_1 = 'VIDE' 'MCHAML';
  1854. CNNVY_1 = 'VIDE' 'MCHAML';
  1855. CNNVZ_1 = 'VIDE' 'MCHAML';
  1856. CNNMT_1 = 'VIDE' 'MCHAML';
  1857. CNNMY_1 = 'VIDE' 'MCHAML';
  1858. CNNMZ_1 = 'VIDE' 'MCHAML';
  1859. CVYVY_1 = 'VIDE' 'MCHAML';
  1860. CVYVZ_1 = 'VIDE' 'MCHAML';
  1861. CVYMT_1 = 'VIDE' 'MCHAML';
  1862. CVYMY_1 = 'VIDE' 'MCHAML';
  1863. CVYMZ_1 = 'VIDE' 'MCHAML';
  1864. CVZVZ_1 = 'VIDE' 'MCHAML';
  1865. CVZMT_1 = 'VIDE' 'MCHAML';
  1866. CVZMY_1 = 'VIDE' 'MCHAML';
  1867. CVZMZ_1 = 'VIDE' 'MCHAML';
  1868. CMTMT_1 = 'VIDE' 'MCHAML';
  1869. CMTMY_1 = 'VIDE' 'MCHAML';
  1870. CMTMZ_1 = 'VIDE' 'MCHAML';
  1871. CMYMY_1 = 'VIDE' 'MCHAML';
  1872. CMYMZ_1 = 'VIDE' 'MCHAML';
  1873. CMZMZ_1 = 'VIDE' 'MCHAML';
  1874. *
  1875. CNNNN_2 = 'VIDE' 'MCHAML';
  1876. CNNVY_2 = 'VIDE' 'MCHAML';
  1877. CNNVZ_2 = 'VIDE' 'MCHAML';
  1878. CNNMT_2 = 'VIDE' 'MCHAML';
  1879. CNNMY_2 = 'VIDE' 'MCHAML';
  1880. CNNMZ_2 = 'VIDE' 'MCHAML';
  1881. CVYVY_2 = 'VIDE' 'MCHAML';
  1882. CVYVZ_2 = 'VIDE' 'MCHAML';
  1883. CVYMT_2 = 'VIDE' 'MCHAML';
  1884. CVYMY_2 = 'VIDE' 'MCHAML';
  1885. CVYMZ_2 = 'VIDE' 'MCHAML';
  1886. CVZVZ_2 = 'VIDE' 'MCHAML';
  1887. CVZMT_2 = 'VIDE' 'MCHAML';
  1888. CVZMY_2 = 'VIDE' 'MCHAML';
  1889. CVZMZ_2 = 'VIDE' 'MCHAML';
  1890. CMTMT_2 = 'VIDE' 'MCHAML';
  1891. CMTMY_2 = 'VIDE' 'MCHAML';
  1892. CMTMZ_2 = 'VIDE' 'MCHAML';
  1893. CMYMY_2 = 'VIDE' 'MCHAML';
  1894. CMYMZ_2 = 'VIDE' 'MCHAML';
  1895. CMZMZ_2 = 'VIDE' 'MCHAML';
  1896. *
  1897. CNNNN_3 = 'VIDE' 'MCHAML';
  1898. CNNVY_3 = 'VIDE' 'MCHAML';
  1899. CNNVZ_3 = 'VIDE' 'MCHAML';
  1900. CNNMT_3 = 'VIDE' 'MCHAML';
  1901. CNNMY_3 = 'VIDE' 'MCHAML';
  1902. CNNMZ_3 = 'VIDE' 'MCHAML';
  1903. CVYVY_3 = 'VIDE' 'MCHAML';
  1904. CVYVZ_3 = 'VIDE' 'MCHAML';
  1905. CVYMT_3 = 'VIDE' 'MCHAML';
  1906. CVYMY_3 = 'VIDE' 'MCHAML';
  1907. CVYMZ_3 = 'VIDE' 'MCHAML';
  1908. CVZVZ_3 = 'VIDE' 'MCHAML';
  1909. CVZMT_3 = 'VIDE' 'MCHAML';
  1910. CVZMY_3 = 'VIDE' 'MCHAML';
  1911. CVZMZ_3 = 'VIDE' 'MCHAML';
  1912. CMTMT_3 = 'VIDE' 'MCHAML';
  1913. CMTMY_3 = 'VIDE' 'MCHAML';
  1914. CMTMZ_3 = 'VIDE' 'MCHAML';
  1915. CMYMY_3 = 'VIDE' 'MCHAML';
  1916. CMYMZ_3 = 'VIDE' 'MCHAML';
  1917. CMZMZ_3 = 'VIDE' 'MCHAML';
  1918. *
  1919. * Boucles sur les modes
  1920. I = 1;
  1921. 'REPE' IND1 (NN1);
  1922. J = 1;
  1923. 'REPE' IND2 (NN1);
  1924. * Extraction Effort NN VY VZ MT MY MZ
  1925. * pour le mode fhi j direction x
  1926. NNJ_1 =
  1927. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1928. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1929. 'EFFX' 'SCAL';
  1930. VYJ_1 =
  1931. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1932. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1933. 'EFFY' 'SCAL';
  1934. VZJ_1 =
  1935. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1936. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1937. 'EFFZ' 'SCAL';
  1938. MTJ_1 =
  1939. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1940. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1941. 'MOMX' 'SCAL';
  1942. MYJ_1 =
  1943. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1944. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1945. 'MOMY' 'SCAL';
  1946. MZJ_1 =
  1947. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1948. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 1)
  1949. 'MOMZ' 'SCAL';
  1950. * Extraction Effort NN VY VZ MT MY MZ
  1951. * pour le mode fhi i direction x
  1952. NNI_1 =
  1953. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1954. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1955. 'EFFX' 'SCAL';
  1956. VYI_1 =
  1957. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1958. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1959. 'EFFY' 'SCAL';
  1960. VZI_1 =
  1961. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1962. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1963. 'EFFZ' 'SCAL';
  1964. MTI_1 =
  1965. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1966. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1967. 'MOMX' 'SCAL';
  1968. MYI_1 =
  1969. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1970. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1971. 'MOMY' 'SCAL';
  1972. MZI_1 =
  1973. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1974. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 1)
  1975. 'MOMZ' 'SCAL';
  1976. * Extraction Effort NN VY VZ MT MY MZ
  1977. * pour le mode fhi i direction y
  1978. NNJ_2 =
  1979. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1980. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  1981. 'EFFX' 'SCAL';
  1982. VYJ_2 =
  1983. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1984. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  1985. 'EFFY' 'SCAL';
  1986. VZJ_2 =
  1987. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1988. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  1989. 'EFFZ' 'SCAL';
  1990. MTJ_2 =
  1991. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1992. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  1993. 'MOMX' 'SCAL';
  1994. MYJ_2 =
  1995. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  1996. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  1997. 'MOMY' 'SCAL';
  1998. MZJ_2 =
  1999. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2000. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 2)
  2001. 'MOMZ' 'SCAL';
  2002. * Extraction Effort NN VY VZ MT MY MZ
  2003. * pour le mode fhi i direction y
  2004. NNI_2 =
  2005. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2006. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2007. 'EFFX' 'SCAL';
  2008. VYI_2 =
  2009. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2010. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2011. 'EFFY' 'SCAL';
  2012. VZI_2 =
  2013. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2014. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2015. 'EFFZ' 'SCAL';
  2016. MTI_2 =
  2017. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2018. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2019. 'MOMX' 'SCAL';
  2020. MYI_2 =
  2021. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2022. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2023. 'MOMY' 'SCAL';
  2024. MZI_2 =
  2025. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2026. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 2)
  2027. 'MOMZ' 'SCAL';
  2028. * Extraction Effort NN VY VZ MT MY MZ
  2029. * pour le mode fhi i direction z
  2030. NNJ_3 =
  2031. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2032. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2033. 'EFFX' 'SCAL';
  2034. VYJ_3 =
  2035. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2036. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2037. 'EFFY' 'SCAL';
  2038. VZJ_3 =
  2039. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2040. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2041. 'EFFZ' 'SCAL';
  2042. MTJ_3 =
  2043. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2044. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2045. 'MOMX' 'SCAL';
  2046. MYJ_3 =
  2047. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2048. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2049. 'MOMY' 'SCAL';
  2050. MZJ_3 =
  2051. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2052. 'CONTRAINTES_POUTRE'.(MO_POUTR). J . 3)
  2053. 'MOMZ' 'SCAL';
  2054. * Extraction Effort NN VY VZ MT MY MZ
  2055. * pour le mode fhi i direction z
  2056. NNI_3 =
  2057. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2058. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2059. 'EFFX' 'SCAL';
  2060. VYI_3 =
  2061. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2062. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2063. 'EFFY' 'SCAL';
  2064. VZI_3 =
  2065. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2066. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2067. 'EFFZ' 'SCAL';
  2068. MTI_3 =
  2069. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2070. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2071. 'MOMX' 'SCAL';
  2072. MYI_3 =
  2073. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2074. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2075. 'MOMY' 'SCAL';
  2076. MZI_3 =
  2077. 'EXCO' (TRESU.'REPONSE_TOTALE' .
  2078. 'CONTRAINTES_POUTRE'.(MO_POUTR). I . 3)
  2079. 'MOMZ' 'SCAL';
  2080. *
  2081. 'SI' ((I 'EGA' 1) ET (J 'EGA' 1));
  2082. CNNNN_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(NNI_1)));
  2083. CNNVY_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(VYI_1)));
  2084. CNNVZ_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(VZI_1)));
  2085. CNNMT_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MTI_1)));
  2086. CNNMY_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MYI_1)));
  2087. CNNMZ_1 = (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MZI_1)));
  2088. CVYVY_1 = (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(VYI_1)));
  2089. CVYVZ_1 = (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(VZI_1)));
  2090. CVYMT_1 = (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MTI_1)));
  2091. CVYMY_1 = (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MYI_1)));
  2092. CVYMZ_1 = (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MZI_1)));
  2093. CVZVZ_1 = (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(VZI_1)));
  2094. CVZMT_1 = (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MTI_1)));
  2095. CVZMY_1 = (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MYI_1)));
  2096. CVZMZ_1 = (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MZI_1)));
  2097. CMTMT_1 = (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MTI_1)));
  2098. CMTMY_1 = (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MYI_1)));
  2099. CMTMZ_1 = (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MZI_1)));
  2100. CMYMY_1 = (('EXTR' (MATPIJ. I) J)*((MYJ_1)*(MYI_1)));
  2101. CMYMZ_1 = (('EXTR' (MATPIJ. I) J)*((MYJ_1)*(MZI_1)));
  2102. CMZMZ_1 = (('EXTR' (MATPIJ. I) J)*((MZJ_1)*(MZI_1)));
  2103. *
  2104. CNNNN_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(NNI_2)));
  2105. CNNVY_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(VYI_2)));
  2106. CNNVZ_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(VZI_2)));
  2107. CNNMT_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MTI_2)));
  2108. CNNMY_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MYI_2)));
  2109. CNNMZ_2 = (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MZI_2)));
  2110. CVYVY_2 = (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(VYI_2)));
  2111. CVYVZ_2 = (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(VZI_2)));
  2112. CVYMT_2 = (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MTI_2)));
  2113. CVYMY_2 = (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MYI_2)));
  2114. CVYMZ_2 = (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MZI_2)));
  2115. CVZVZ_2 = (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(VZI_2)));
  2116. CVZMT_2 = (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MTI_2)));
  2117. CVZMY_2 = (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MYI_2)));
  2118. CVZMZ_2 = (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MZI_2)));
  2119. CMTMT_2 = (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MTI_2)));
  2120. CMTMY_2 = (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MYI_2)));
  2121. CMTMZ_2 = (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MZI_2)));
  2122. CMYMY_2 = (('EXTR' (MATPIJ. I) J)*((MYJ_2)*(MYI_2)));
  2123. CMYMZ_2 = (('EXTR' (MATPIJ. I) J)*((MYJ_2)*(MZI_2)));
  2124. CMZMZ_2 = (('EXTR' (MATPIJ. I) J)*((MZJ_2)*(MZI_2)));
  2125. *
  2126. CNNNN_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(NNI_3)));
  2127. CNNVY_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(VYI_3)));
  2128. CNNVZ_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(VZI_3)));
  2129. CNNMT_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MTI_3)));
  2130. CNNMY_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MYI_3)));
  2131. CNNMZ_3 = (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MZI_3)));
  2132. CVYVY_3 = (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(VYI_3)));
  2133. CVYVZ_3 = (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(VZI_3)));
  2134. CVYMT_3 = (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MTI_3)));
  2135. CVYMY_3 = (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MYI_3)));
  2136. CVYMZ_3 = (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MZI_3)));
  2137. CVZVZ_3 = (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(VZI_3)));
  2138. CVZMT_3 = (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MTI_3)));
  2139. CVZMY_3 = (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MYI_3)));
  2140. CVZMZ_3 = (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MZI_3)));
  2141. CMTMT_3 = (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MTI_3)));
  2142. CMTMY_3 = (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MYI_3)));
  2143. CMTMZ_3 = (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MZI_3)));
  2144. CMYMY_3 = (('EXTR' (MATPIJ. I) J)*((MYJ_3)*(MYI_3)));
  2145. CMYMZ_3 = (('EXTR' (MATPIJ. I) J)*((MYJ_3)*(MZI_3)));
  2146. CMZMZ_3 = (('EXTR' (MATPIJ. I) J)*((MZJ_3)*(MZI_3)));
  2147. 'SINON';
  2148. CNNNN_1 = CNNNN_1 +
  2149. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(NNI_1)));
  2150. CNNVY_1 = CNNVY_1 +
  2151. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(VYI_1)));
  2152. CNNVZ_1 = CNNVZ_1 +
  2153. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(VZI_1)));
  2154. CNNMT_1 = CNNMT_1 +
  2155. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MTI_1)));
  2156. CNNMY_1 = CNNMY_1 +
  2157. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MYI_1)));
  2158. CNNMZ_1 = CNNMZ_1 +
  2159. (('EXTR' (MATPIJ. I) J)*((NNJ_1)*(MZI_1)));
  2160. CVYVY_1 = CVYVY_1 +
  2161. (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(VYI_1)));
  2162. CVYVZ_1 = CVYVZ_1 +
  2163. (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(VZI_1)));
  2164. CVYMT_1 = CVYMT_1 +
  2165. (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MTI_1)));
  2166. CVYMY_1 = CVYMY_1 +
  2167. (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MYI_1)));
  2168. CVYMZ_1 = CVYMZ_1 +
  2169. (('EXTR' (MATPIJ. I) J)*((VYJ_1)*(MZI_1)));
  2170. CVZVZ_1 = CVZVZ_1 +
  2171. (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(VZI_1)));
  2172. CVZMT_1 = CVZMT_1 +
  2173. (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MTI_1)));
  2174. CVZMY_1 = CVZMY_1 +
  2175. (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MYI_1)));
  2176. CVZMZ_1 = CVZMZ_1 +
  2177. (('EXTR' (MATPIJ. I) J)*((VZJ_1)*(MZI_1)));
  2178. CMTMT_1 = CMTMT_1 +
  2179. (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MTI_1)));
  2180. CMTMY_1 = CMTMY_1 +
  2181. (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MYI_1)));
  2182. CMTMZ_1 = CMTMZ_1 +
  2183. (('EXTR' (MATPIJ. I) J)*((MTJ_1)*(MZI_1)));
  2184. CMYMY_1 = CMYMY_1 +
  2185. (('EXTR' (MATPIJ. I) J)*((MYJ_1)*(MYI_1)));
  2186. CMYMZ_1 = CMYMZ_1 +
  2187. (('EXTR' (MATPIJ. I) J)*((MYJ_1)*(MZI_1)));
  2188. CMZMZ_1 = CMZMZ_1 +
  2189. (('EXTR' (MATPIJ. I) J)*((MZJ_1)*(MZI_1)));
  2190. *
  2191. CNNNN_2 = CNNNN_2 +
  2192. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(NNI_2)));
  2193. CNNVY_2 = CNNVY_2 +
  2194. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(VYI_2)));
  2195. CNNVZ_2 = CNNVZ_2 +
  2196. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(VZI_2)));
  2197. CNNMT_2 = CNNMT_2 +
  2198. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MTI_2)));
  2199. CNNMY_2 = CNNMY_2 +
  2200. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MYI_2)));
  2201. CNNMZ_2 = CNNMZ_2 +
  2202. (('EXTR' (MATPIJ. I) J)*((NNJ_2)*(MZI_2)));
  2203. CVYVY_2 = CVYVY_2 +
  2204. (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(VYI_2)));
  2205. CVYVZ_2 = CVYVZ_2 +
  2206. (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(VZI_2)));
  2207. CVYMT_2 = CVYMT_2 +
  2208. (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MTI_2)));
  2209. CVYMY_2 = CVYMY_2 +
  2210. (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MYI_2)));
  2211. CVYMZ_2 = CVYMZ_2 +
  2212. (('EXTR' (MATPIJ. I) J)*((VYJ_2)*(MZI_2)));
  2213. CVZVZ_2 = CVZVZ_2 +
  2214. (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(VZI_2)));
  2215. CVZMT_2 = CVZMT_2 +
  2216. (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MTI_2)));
  2217. CVZMY_2 = CVZMY_2 +
  2218. (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MYI_2)));
  2219. CVZMZ_2 = CVZMZ_2 +
  2220. (('EXTR' (MATPIJ. I) J)*((VZJ_2)*(MZI_2)));
  2221. CMTMT_2 = CMTMT_2 +
  2222. (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MTI_2)));
  2223. CMTMY_2 = CMTMY_2 +
  2224. (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MYI_2)));
  2225. CMTMZ_2 = CMTMZ_2 +
  2226. (('EXTR' (MATPIJ. I) J)*((MTJ_2)*(MZI_2)));
  2227. CMYMY_2 = CMYMY_2 +
  2228. (('EXTR' (MATPIJ. I) J)*((MYJ_2)*(MYI_2)));
  2229. CMYMZ_2 = CMYMZ_2 +
  2230. (('EXTR' (MATPIJ. I) J)*((MYJ_2)*(MZI_2)));
  2231. CMZMZ_2 = CMZMZ_2 +
  2232. (('EXTR' (MATPIJ. I) J)*((MZJ_2)*(MZI_2)));
  2233. *
  2234. CNNNN_3 = CNNNN_3 +
  2235. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(NNI_3)));
  2236. CNNVY_3 = CNNVY_3 +
  2237. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(VYI_3)));
  2238. CNNVZ_3 = CNNVZ_3 +
  2239. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(VZI_3)));
  2240. CNNMT_3 = CNNMT_3 +
  2241. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MTI_3)));
  2242. CNNMY_3 = CNNMY_3 +
  2243. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MYI_3)));
  2244. CNNMZ_3 = CNNMZ_3 +
  2245. (('EXTR' (MATPIJ. I) J)*((NNJ_3)*(MZI_3)));
  2246. CVYVY_3 = CVYVY_3 +
  2247. (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(VYI_3)));
  2248. CVYVZ_3 = CVYVZ_3 +
  2249. (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(VZI_3)));
  2250. CVYMT_3 = CVYMT_3 +
  2251. (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MTI_3)));
  2252. CVYMY_3 = CVYMY_3 +
  2253. (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MYI_3)));
  2254. CVYMZ_3 = CVYMZ_3 +
  2255. (('EXTR' (MATPIJ. I) J)*((VYJ_3)*(MZI_3)));
  2256. CVZVZ_3 = CVZVZ_3 +
  2257. (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(VZI_3)));
  2258. CVZMT_3 = CVZMT_3 +
  2259. (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MTI_3)));
  2260. CVZMY_3 = CVZMY_3 +
  2261. (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MYI_3)));
  2262. CVZMZ_3 = CVZMZ_3 +
  2263. (('EXTR' (MATPIJ. I) J)*((VZJ_3)*(MZI_3)));
  2264. CMTMT_3 = CMTMT_3 +
  2265. (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MTI_3)));
  2266. CMTMY_3 = CMTMY_3 +
  2267. (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MYI_3)));
  2268. CMTMZ_3 = CMTMZ_3 +
  2269. (('EXTR' (MATPIJ. I) J)*((MTJ_3)*(MZI_3)));
  2270. CMYMY_3 = CMYMY_3 +
  2271. (('EXTR' (MATPIJ. I) J)*((MYJ_3)*(MYI_3)));
  2272. CMYMZ_3 = CMYMZ_3 +
  2273. (('EXTR' (MATPIJ. I) J)*((MYJ_3)*(MZI_3)));
  2274. CMZMZ_3 = CMZMZ_3 +
  2275. (('EXTR' (MATPIJ. I) J)*((MZJ_3)*(MZI_3)));
  2276. 'FINSI';
  2277. J = J + 1;
  2278. 'FIN' IND2;
  2279. I = I + 1;
  2280. 'FIN' IND1;
  2281. CNNNN = CNNNN_1 + CNNNN_2 + CNNNN_3;
  2282. CNNVY = CNNVY_1 + CNNVY_2 + CNNVY_3;
  2283. CNNVZ = CNNVZ_1 + CNNVZ_2 + CNNVZ_3;
  2284. CNNMT = CNNMT_1 + CNNMT_2 + CNNMT_3;
  2285. CNNMY = CNNMY_1 + CNNMY_2 + CNNMY_3;