Télécharger iss3D_xyz.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : iss3D_xyz.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. ************************************************************************
  6. * REPONSE SISMIQUE DU SOL EN ABSENCE DE STRUCTURE
  7. ************************************************************************
  8. *
  9. * DESCRIPTION DU PROBLEME
  10. * ------------------------
  11. * IL S'AGIT D'UN PROBLEME D'INTERACTION SOL-STRUCTURE.
  12. * EN ABSENCE DE STRUCTURE, IL N'Y PAS D'INTERACTION. ON DOIT RETROUVER
  13. * L'ACCELEROGRAMME IMPOSE A LA SURFACE DU SOL VIA LE PROCESSUS DE
  14. * DECONVOLUTION (PROCEDURES DECONV OU DECONV3D) ET CONVOLUTION
  15. * (PROCEDURE DYNAMIC OU PASAPAS).
  16. * LE CYLINDRE DANS CE JEU DE DONNEES REPRESENTE LE SOL PROCHE TANDIS
  17. * QUE LE SOL LOINTAIN QUI S'ETEND VERS L'INFINI EST REPRESENTE PAR UNE
  18. * FRONTIERE ABSORBANTE COMPOSEE D'AMORTISSEURS VISQUEUX.
  19. ************************************************************************
  20. *-----------------------------------------------------------------------
  21. * PROCEDURE DE CALCUL DE LA DERIVEE PREMIERE
  22. *-----------------------------------------------------------------------
  23. 'DEBPROC' DERIV1 EV1 ;
  24. X = 'EXTR' EV1 'ABSC' ;
  25. Y = 'EXTR' EV1 'ORDO' ;
  26. NPOIN = 'DIME' X ;
  27. H = ( 'EXTR' X 2 ) - ( 'EXTR' X 1 ) ;
  28.  
  29. X1 = ( 'PROG' 0.0 0.0 ) 'ET' Y ;
  30. X3 = Y 'ET' ( 'PROG' 0.0 0.0 ) ;
  31. DX = ( X3 - X1 ) / ( H * 2.0 ) ;
  32. Y1 = 'ENLE' ( 'ENLE' DX ( NPOIN + 2 ) ) 1 ;
  33. L1 = ( 'PROG' 0.0 ) 'ET' ( 'PROG' ( NPOIN - 2 ) * 1.0 )
  34. 'ET' ( 'PROG' 0.0 ) ;
  35. Y2 = Y1 * L1 ;
  36. EV2 = 'EVOL' 'MANU' X Y2 ;
  37. 'FINPROC' EV2 ;
  38. *-----------------------------------------------------------------------
  39.  
  40. *-----------------------------------------------------------------------
  41. OPTI TRAC PSC ;
  42. OPTI DIME 3 ELEM CU20 ;
  43.  
  44. R1 = 2.0 / (PI**0.5) ;
  45. H0 = 0.0 ;
  46. NT = 2 ;
  47. ANG = 90. / NT ;
  48. NE = 2 ;
  49.  
  50. P0 = 0 0 H0 ;
  51. P1 = R1 0 H0 ;
  52. P2 = TOUR P1 (0 0 0) (0 0 1) ANG ;
  53. *-----------------------------------------------------------------------
  54. * SOL SANS STRUCTURE (CU20, PR15)
  55. *-----------------------------------------------------------------------
  56. L01B = DROI NE P0 P1 ;
  57. L12B = DROI 1 P1 P2 ;
  58. L20B = DROI NE P2 P0 ;
  59.  
  60. L1B = L01B ET L12B ET L20B ;
  61. ELIM L1B 0.001 ;
  62.  
  63. S1B = COUL VERT (SURF PLAN L1B) ;
  64. SQ1B = S1B ;
  65.  
  66. I = 1 ;
  67. REPE B1B (NT - 1) ;
  68. S2B = TOUR S1B (0 0 0) (0 0 1) ANG ;
  69. SQ1B = SQ1B ET S2B ;
  70. S1B = S2B ;
  71. I = I + 1 ;
  72. FIN B1B ;
  73.  
  74. NR = 3 ;
  75. R2 = NR*R1;
  76.  
  77. P4 = R2 0 H0 ;
  78. P5 = TOUR P4 (0 0 0) (0 0 1) ANG ;
  79.  
  80. L14 = DROI ((NR - 1)*NE) P1 P4 ;
  81. L45 = DROI 1 P4 P5 ;
  82. L52 = DROI ((NR - 1)*NE) P5 P2 ;
  83. L21 = DROI 1 P2 P1 ;
  84.  
  85. SS1 = DALL L14 L45 L52 L21 PLAN ;
  86. SSQ1 = SS1 ;
  87.  
  88. I = 1 ;
  89. REPE B2 (NT - 1) ;
  90. SS2 = TOUR SS1 (0 0 0) (0 0 1) ANG ;
  91. SSQ1 = SSQ1 ET SS2 ;
  92. SS1 = SS2 ;
  93. I = I + 1 ;
  94. FIN B2 ;
  95.  
  96. SSQ1 = SSQ1 ET SQ1B ;
  97. ELIM SSQ1 0.001 ;
  98. TRAC SSQ1 QUAL NCLK ;
  99.  
  100. SSQ2 = SYME SSQ1 DROIT P0 (0 1 H0) ;
  101. SSQ3 = SYME SSQ1 POINT P0 ;
  102. SSQ4 = SYME SSQ1 DROIT P0 P1 ;
  103.  
  104. SSOL = (SSQ1 ET SSQ2 ET SSQ3 ET SSQ4) COUL VERT ;
  105.  
  106. SOL1 = VOLU TRANS ((NR/2)*NE) SSOL (0 0 (NR*R1/-2)) ;
  107. ELIM SOL1 0.001 ;
  108. TRAC SOL1 CACH NCLK ;
  109.  
  110. SOL2 = SOL1 PLUS (0 0 (NR*R1/-2)) ;
  111.  
  112. TITR 'MAILLAGE DU SOL' ;
  113. SOL = SOL1 ET SOL2 ;
  114. ELIM SOL 0.001 ;
  115.  
  116. TITR 'MAILLAGE DU SOL, NB ELEMENT =' (NBEL SOL) ;
  117. TRAC SOL CACH NCLK ;
  118.  
  119. ENV1 = ENVE SOL1 ;
  120. ENV2 = ENVE SOL2 ;
  121.  
  122. HS1 = NR*R1/-2 ;
  123. HS2 = NR*R1/-1 ;
  124.  
  125. S11 = ENV1'POIN' 'PLAN' (0 0 H0) (1 0 H0) (0 1 H0) 0.001 ;
  126. S11 = ENV1'ELEM' 'APPUYE' 'STRICTEMENT' S11 ;
  127.  
  128. S12 = ENV1'POIN' 'PLAN' (0 0 HS1) (1 0 HS1) (0 1 HS1) 0.001 ;
  129. S12 = ENV1'ELEM' 'APPUYE' 'STRICTEMENT' S12 ;
  130.  
  131. S21 = ENV2 'POIN' 'PLAN' (0 0 HS1) (1 0 HS1) (0 1 HS1) 0.001 ;
  132. S21 = ENV2 'ELEM' 'APPUYE' 'STRICTEMENT' S21 ;
  133.  
  134. S22 = ENV2 'POIN' 'PLAN' (0 0 HS2) (1 0 HS2) (0 1 HS2) 0.001 ;
  135. S22 = ENV2 'ELEM' 'APPUYE' 'STRICTEMENT' S22 ;
  136.  
  137. BOR1 = DIFF (DIFF ENV1 S11) S12 ;
  138. BOR2 = DIFF (DIFF ENV2 S21) S22 ;
  139.  
  140. FOND_S = S22 ;
  141.  
  142. TRAC (BOR1 ET BOR2 ET FOND_S) NCLK ;
  143. *-----------------------------------------------------------------------
  144. * MODELE SOL
  145. *-----------------------------------------------------------------------
  146. NU1 = 1./3. ;
  147. G1 = 100.E7 ;
  148. E1 = 2*(1 + NU1)*G1 ;
  149. MESS 'E =' E1 ;
  150.  
  151. MOD_S = MODE SOL MECANIQUE ELASTIQUE ISOTROPE CU20 PR15 ;
  152. MAT_S = MATE MOD_S YOUN E1 NU NU1 RHO 2000 ;
  153. MAS_S = MASS MOD_S MAT_S ;
  154. RIG_S = RIGI MOD_S MAT_S ;
  155. *-----------------------------------------------------------------------
  156. * AMORTISSEMENT RAYLEIGH
  157. *-----------------------------------------------------------------------
  158. F1 = 5.0 ;
  159. F2 = 25.0 ;
  160. KSI_S = 0.05 ;
  161. ALPHA = 4.0 * PI * F1 * F2 / ( F1 + F2 ) ;
  162. BETA = 1.0 / ( PI * ( F1 + F2 ) ) ;
  163. AMO_S = KSI_S * ((ALPHA * MAS_S ) ET (BETA * RIG_S )) ;
  164. *-----------------------------------------------------------------------
  165. * SIGNAL SISMIQUE (SELON SPECTRE PS92 SITE S1)
  166. *-----------------------------------------------------------------------
  167. LFR = PROG 0.1 0.5 1.0 2.5 5. 33. 50. ;
  168. LSP = PROG 0.1 0.5 1.0 2.5 2.5 1.0 1.0 ;
  169. SP0 = EVOL MANU 'FREQ(HZ)' LFR 'ACCE(M/S*S)' LSP ;
  170.  
  171. TAB = TABLE ;
  172. TAB.'MOTIT' = 'SPECTRE PS92 S1 ' ;
  173. TAB.'SEISME'= TABLE ;
  174. TAB.'SEISME'.'SPECTRE' = SP0 ;
  175. TAB.'SEISME'.'AMORT' = 0.05 ;
  176. TAB.'SEISME'.'TYPSP' = 'ACCE' ;
  177. TAB.'SIGNAL' = TABLE ;
  178. TAB.'SIGNAL'.'ENVE' = 'PLATLIN' ;
  179. TAB.'SIGNAL'.'NP' = 8 ;
  180. TAB.'SIGNAL'.'DUREE' = 2.56 ;
  181. TAB.'SIGNAL'.'TDEBUT' = 0.75 ;
  182. TAB.'SIGNAL'.'TFIN' = 1.5 ;
  183. TAB.'NBITER' = 5 ;
  184. TAB.'NBSIGN' = 3 ;
  185. TAB.'NALEAT' = 3 ;
  186. TAB.'FRCOUP' = 49.9 ;
  187. TAB.'OPTSORT' = 'SPECTRE' ;
  188.  
  189. TABSIG = SIGNSYNT FABR TAB ;
  190.  
  191. * MOYENNE ZERO, PLAGE INITIALE ZERO
  192.  
  193. LT0 = EXTR TABSIG.1 ABSC ;
  194. LA0 = EXTR TABSIG.1 ORDO ;
  195. DT = (EXTR LT0 2) - (EXTR LT0 1) ;
  196. NP0 = DIME LT0 ;
  197. LT1 = PROG 0. PAS DT 2.3 ;
  198. LA1 = IPOL LT1 LT0 LA0 ;
  199. NP1 = DIME LT1 ;
  200. LA1 = LA1 - (PROG NP1 * ((SOMM LA1) / NP1)) ;
  201. LA1 = (PROG 20 * 0.) ET LA1 ;
  202. LT1 = PROG 0. PAS DT NPAS (19 + NP1) ;
  203. ACCX = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA1 ;
  204.  
  205. LT0 = EXTR TABSIG.2 ABSC ;
  206. LA0 = EXTR TABSIG.2 ORDO ;
  207. DT = (EXTR LT0 2) - (EXTR LT0 1) ;
  208. NP0 = DIME LT0 ;
  209. LT1 = PROG 0. PAS DT 2.3 ;
  210. LA1 = IPOL LT1 LT0 LA0 ;
  211. NP1 = DIME LT1 ;
  212. LA1 = LA1 - (PROG NP1 * ((SOMM LA1) / NP1)) ;
  213. LA1 = (PROG 20 * 0.) ET LA1 ;
  214. LT1 = PROG 0. PAS DT NPAS (19 + NP1) ;
  215. ACCY = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA1 ;
  216.  
  217. LT0 = EXTR TABSIG.3 ABSC ;
  218. LA0 = EXTR TABSIG.3 ORDO ;
  219. DT = (EXTR LT0 2) - (EXTR LT0 1) ;
  220. NP0 = DIME LT0 ;
  221. LT1 = PROG 0. PAS DT 2.3 ;
  222. LA1 = IPOL LT1 LT0 LA0 ;
  223. NP1 = DIME LT1 ;
  224. LA1 = LA1 - (PROG NP1 * ((SOMM LA1) / NP1)) ;
  225. LA1 = (PROG 20 * 0.) ET LA1 ;
  226. LT1 = PROG 0. PAS DT NPAS (19 + NP1) ;
  227. ACCZ = (EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA1) *2./3. ;
  228.  
  229. DESS ACCX MIMA NCLK ;
  230. DESS ACCY MIMA NCLK ;
  231. DESS ACCZ MIMA NCLK ;
  232. *-----------------------------------------------------------------------
  233. * DECONVOLUTION ET FRONTIERE ABSORBANTE
  234. *-----------------------------------------------------------------------
  235. TAB = TABLE ;
  236.  
  237. TAB.1 = TABLE ;
  238. TAB.1 .'FRONTIERE' = BOR1 ;
  239. TAB.1 .'MASSE_VOLUMIQUE' = 2000. ;
  240. TAB.1 .'POISSON' = 1./3. ;
  241. TAB.1 .'YOUNG' = E1 ;
  242. TAB.1 .'AMORTISSEMENT' = 0.05 ;
  243.  
  244. TAB.2 = TABLE ;
  245. TAB.2 .'FRONTIERE' = BOR2 ;
  246. TAB.2 .'MASSE_VOLUMIQUE' = 2000. ;
  247. TAB.2 .'POISSON' = 1./3. ;
  248. TAB.2 .'YOUNG' = E1 ;
  249. TAB.2 .'AMORTISSEMENT' = 0.05 ;
  250.  
  251. P_GAM = TABLE ;
  252. P_GAM . 1 = P4 ;
  253.  
  254. TABX = DECONV3D TAB P0 FOND_S MOD_S MAT_S 'UX'
  255. ACCX 5. 25. 50. P_GAM ;
  256. TABY = DECONV3D TAB P0 FOND_S MOD_S MAT_S 'UY'
  257. ACCY 5. 25. 50. P_GAM ;
  258. TABZ = DECONV3D TAB P0 FOND_S MOD_S MAT_S 'UZ'
  259. ACCZ 5. 25. 50. P_GAM ;
  260. *-----------------------------------------------------------------------
  261. * TABLE POUR LA PROCEDURE 'DYNAMIC'
  262. *-----------------------------------------------------------------------
  263. CH_DEPI = MANU CHPO 3 SOL UX 0.0 UY 0.0 UZ 0.0 ;
  264. CH_VITI = MANU CHPO 3 SOL UX 0.0 UY 0.0 UZ 0.0 ;
  265.  
  266. TAB_DYN = TABLE ;
  267. TAB_DYN.'DEPL' = CH_DEPI ;
  268. TAB_DYN.'VITE' = CH_VITI ;
  269. TAB_DYN.'RIGI' = RIG_S ;
  270. TAB_DYN.'MASS' = MAS_S ;
  271. TAB_DYN.'AMOR' = AMO_S ET TABX.'AMOR' ;
  272. TAB_DYN.'CHAR' = TABX.'CHAR' ET TABY.'CHAR' ET TABZ.'CHAR' ;
  273. TAB_DYN.'FREQ' = TABX.'FCDYN' ;
  274. DT = 1 * TABX.'PAS' ;
  275. NB_PAS = ENTI (2.51 / DT) ;
  276. TAB_DYN.'DEBU' = 0.0 ;
  277. TAB_DYN.'INST' = PROG 0.0 PAS DT NPAS (NB_PAS - 1) ;
  278.  
  279. TDYNA = DYNAMIC TAB_DYN ;
  280. *-----------------------------------------------------------------------
  281. * POST-TRAITEMENT
  282. *-----------------------------------------------------------------------
  283. POI = TABLE ;
  284. POI.1 = P0 ;
  285. POI.2 = P4 ;
  286.  
  287. NP = DIME POI ;
  288.  
  289. L_TEM = PROG NB_PAS * 0.0 ;
  290. L_VX = TABLE ;
  291. L_VY = TABLE ;
  292. L_VZ = TABLE ;
  293.  
  294. I = 1 ;
  295. REPE B1 NP ;
  296. L_VX.I = PROG NB_PAS * 0.0 ;
  297. L_VY.I = PROG NB_PAS * 0.0 ;
  298. L_VZ.I = PROG NB_PAS * 0.0 ;
  299. I = I + 1 ;
  300. FIN B1 ;
  301.  
  302. I_TEM = 0 ;
  303. REPETER B2 NB_PAS ;
  304. I_TEM = I_TEM + 1 ;
  305. TEM_I = TDYNA.I_TEM.'TEMP' ;
  306. REMP L_TEM I_TEM TEM_I ;
  307. CHV_I = TDYNA.I_TEM.'VITE' ;
  308.  
  309. I = 1 ;
  310. REPE B2_1 NP ;
  311. REMP L_VX.I I_TEM (EXTR CHV_I POI.I UX) ;
  312. REMP L_VY.I I_TEM (EXTR CHV_I POI.I UY) ;
  313. REMP L_VZ.I I_TEM (EXTR CHV_I POI.I UZ) ;
  314. I = I + 1 ;
  315. FIN B2_1 ;
  316.  
  317. FIN B2 ;
  318.  
  319. * REPONSE EN ACCELERATION
  320.  
  321. LT1 = EXTR ACCX ABSC ;
  322. EV_VITX = TABLE ;
  323. EV_VITY = TABLE ;
  324. EV_VITZ = TABLE ;
  325.  
  326. EV_ACCX = TABLE ;
  327. EV_ACCY = TABLE ;
  328. EV_ACCZ = TABLE ;
  329.  
  330. I = 1 ;
  331. REPE B3 NP ;
  332. EV_VITX.I = EVOL MANU L_TEM L_VX.I ;
  333. EV_VITY.I = EVOL MANU L_TEM L_VY.I ;
  334. EV_VITZ.I = EVOL MANU L_TEM L_VZ.I ;
  335.  
  336. EV_ACCX.I = DERIV1 EV_VITX.I ;
  337. EV_ACCY.I = DERIV1 EV_VITY.I ;
  338. EV_ACCZ.I = DERIV1 EV_VITZ.I ;
  339.  
  340. LT2 = EXTR EV_ACCX.I ABSC ;
  341. LA2 = EXTR EV_ACCX.I ORDO ;
  342. LA2 = IPOL LT1 LT2 LA2 ;
  343. EV_ACCX.I = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA2 ;
  344.  
  345. LT2 = EXTR EV_ACCY.I ABSC ;
  346. LA2 = EXTR EV_ACCY.I ORDO ;
  347. LA2 = IPOL LT1 LT2 LA2 ;
  348. EV_ACCY.I = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA2 ;
  349.  
  350. LT2 = EXTR EV_ACCZ.I ABSC ;
  351. LA2 = EXTR EV_ACCZ.I ORDO ;
  352. LA2 = IPOL LT1 LT2 LA2 ;
  353. EV_ACCZ.I = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA2 ;
  354.  
  355. I = I + 1 ;
  356. FIN B3 ;
  357.  
  358. * COMPARAISON AVEC L'ACCELEROGRAMME IMPOSE
  359.  
  360. SI (NEG GRAPH 'N');
  361. DESS ((COUL ROUG EV_ACCX.1) ET (COUL VERT EV_ACCX.2) ET ACCX) NCLK
  362. TITR 'ACCELEROGRAMMES X IMPOSE (BLEU) ET CALCULES (ROUGE ET VERT)' MIMA ;
  363. FINSI ;
  364.  
  365. DESS ((COUL ROUG EV_ACCY.1) ET (COUL VERT EV_ACCY.2) ET ACCY) NCLK
  366. TITR 'ACCELEROGRAMMES Y IMPOSE (BLEU) ET CALCULES (ROUGE ET VERT)' MIMA ;
  367. FINSI ;
  368.  
  369. DESS ((COUL ROUG EV_ACCZ.1) ET (COUL VERT EV_ACCZ.2) ET ACCZ) NCLK
  370. TITR 'ACCELEROGRAMMES Z IMPOSE (BLEU) ET CALCULES (ROUGE ET VERT)' MIMA ;
  371. FINSI ;
  372.  
  373. ERR1 = MAXI ABS (EXTR (EV_ACCX.1 - ACCX) ORDO) ;
  374. ERR2 = MAXI ABS (EXTR (EV_ACCX.2 - ACCX) ORDO) ;
  375. ERR3 = MAXI ABS (EXTR (EV_ACCY.1 - ACCY) ORDO) ;
  376. ERR4 = MAXI ABS (EXTR (EV_ACCY.2 - ACCY) ORDO) ;
  377. ERR5 = MAXI ABS (EXTR (EV_ACCZ.1 - ACCZ) ORDO) ;
  378. ERR6 = MAXI ABS (EXTR (EV_ACCZ.2 - ACCZ) ORDO) ;
  379.  
  380. SI ((MAXI (PROG ERR1 ERR2 ERR3 ERR4 ERR5 ERR6)) > 0.01);
  381. ERRE 5;
  382. FINSI;
  383.  
  384. FIN ;
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  

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