Télécharger pecker_t.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : pecker_t.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * etude propagation dans sol
  5. * approche interaction sol structure Pecker 1973 temporel
  6. * grandeurs numériques arbitraires !!!
  7. * attention mo1 reaffecte
  8. opti dime 2 elem qua4 ;
  9. dgraph = faux ;
  10. * ajout de option epsilon lineaire pour la precision des tests!
  11. OPTION epsilon lineaire;
  12. long1 = 10000.; longma = 100. ; nl1 = long1 / longma ;
  13. epai1 = 1000. ; epai2 = epai1 / longma ; nep1 = 10 ;
  14.  
  15. p_ori = 0. 0. ; e_i = longma 0.; e_j = 0. longma ;
  16. p1 = p_ori moins (0. epai1) ;
  17. p20 = p1 plus (nl1 * e_i) ;
  18. l120 = p1 d p20 dini 100. dfin 1000. ;
  19. v10 = l120 tran nep1 (epai2 * e_j) ;
  20. l40 = v10 cote 4 ;
  21. v1 = elem v10 contenant p1 ;
  22. v2 = v10 diff v1 ;
  23. l1 = elem l120 contenant p1 ;
  24. l2 = l120 diff l1 ;
  25. l4v = diff l40 (elem l40 contenant p1) ;
  26. l3 = v10 cote 2 ;l3p1 = changer l3 poi1 ;
  27. **
  28. p_fonda = long1 / 3 0. ;
  29. p_fonda = point v10 proc p_fonda ;
  30. v_fonda = manu poi1 p_fonda;
  31. v1fonda = elem v10 appuye largement v_fonda ;
  32. v2fonda = elem v10 appuye largement v1fonda ;
  33. v2 = diff v2 v2fonda ;
  34. l_fonda = inte (contour v2) (contour v2fonda) ;
  35.  
  36.  
  37. *
  38.  
  39. tfinca = 2. ;
  40. *
  41. mo1 = mode v1 mecanique elastique ;
  42. mo2 = mode v2 mecanique elastique ;
  43. mo3 = mode l3p1 mecanique elastique impedance voigt ;
  44. mo3 = mode l3p1 mecanique elastique impedance reuss ;
  45.  
  46. m_fonda = mode l_fonda mecanique elastique ;
  47.  
  48. ca1 = mate mo1 youn 1.e10 nu 0.2 rho 500. ;
  49. ca2 = mate mo2 youn 1.e10 nu 0.2 rho 500. ;
  50. ca3 = mate mo3 raid 1.e3 visc 1.e1 mass 0. ;
  51.  
  52.  
  53. cl2 = bloq l2 uy ;
  54.  
  55. cl_fonda = rela cori depl l_fonda ;
  56.  
  57. cl3b = bloq l3 ux ;
  58.  
  59. cv1_x = bloque v1 ux ; cv1_y = bloq v1 uy ;
  60. evacc = evol manu t (prog 0 pas 0.01 0.1 pas 0.1 tfinca )
  61. d (prog 0 pas 0.2 1 pas -0.2 0. 19*0. ) ;
  62. depv1_x = depi cv1_x 10. ;
  63. chav1 = char dimp evacc depv1_x ;
  64. *
  65. rig_t = rigi (mo1 et mo2) (ca1 et ca2) ;
  66. mas_t = mass (mo1 et mo2) (ca1 et ca2) ;
  67.  
  68. rig_3 = rigi mo3 ca3 ;
  69. mas_3 = mass mo3 ca3 ;
  70.  
  71. si faux ;
  72. tmod = vibr (rig_t et cv1_x et cv1_y et cl2 ) mas_t
  73. proc (prog 0.) tbas;
  74. def1 = defo tmod. modes . 1 . deformee_modale (v2 et v1) 5. vert ;
  75. def0 = defo (v2 et v1) tmod . modes . 1 . deformee_modale 0. ;
  76. titre 'frequence' tmod . modes . 1 . frequence ;
  77. trac (def0 et def1) ;
  78. finsi ;
  79.  
  80. * rotation
  81. l_fond2 = l_fonda tour p_fonda 30. ;
  82. cce2 = l_fond2 moins l_fonda ;
  83. cche2 = changer cham cce2 l_fonda ;
  84. pcce2 = psca cche2 cche2 (mots ux uy) (mots ux uy) ;
  85. rcce2 = intg m_fonda pcce2 scal ;
  86.  
  87.  
  88. t_sei = table ;
  89. t_sei . modele = mo1 et mo2 et mo3 ;
  90. t_sei . caracteristiques = ca1 et ca2 et ca3 ;
  91. t_sei . blocages_mecaniques = cv1_x et cv1_y et cl2 et cl_fonda ;
  92. t_sei . chargement = chav1 ;
  93. t_sei . dynamique = vrai ;
  94. t_sei . temps_calcules = prog 0. pas 0.01 0.1 pas 0.1 tfinca;
  95. t_sei . temps_sauves = prog 0. pas 0.01 0.1 pas 0.1 tfinca ;
  96.  
  97. pasapas t_sei ;
  98.  
  99.  
  100. chefo0x = manu chml m_fonda ux 1. noeud ;
  101. r0_fondx = intg m_fonda chefo0x ux ;
  102. chefo0y = manu chml m_fonda uy 1. noeud ;
  103. r0_fondy = intg m_fonda chefo0y uy ;
  104. abs_t = prog ; x_fonda = prog ; y_fonda = prog ;w_fonda = prog ;
  105.  
  106. l_coul = prog -2. -1.5 -1. -0.5 0. 0.3 0.7 1. 1.3 1.9 2. 2.3 2.6
  107. 3. 3.3 3.6 ;
  108. repeter b_des (dime t_sei . deplacements) ;
  109. ind1= &b_des - 1 ;
  110. titre 'deplacement ux impedance a t = ' t_sei . temps . ind1 ;
  111. ev_l3 = evol chpo t_sei.deplacements . ind1 ux l3 ;
  112. si dgraph ;
  113. dess ev_l3 ;
  114. finsi ;
  115. titre 'deplacement ux a t = ' t_sei . temps . ind1 ;
  116. chdepd2 = exco ux t_sei . deplacements . ind1 ;
  117. si dgraph ;
  118. trac (v1 et v2) chdepd2 (contour (v1 et v2)) l_coul ;
  119. finsi ;
  120. titre 'contraintes a t = ' t_sei . temps . ind1 ;
  121. si dgraph ;
  122. * trac (mo1 et mo2 et mo3) t_sei . contraintes . ind1 ;
  123. trac (mo1 et mo2 ) t_sei . contraintes . ind1 ;
  124. finsi ;
  125. chdfo2 = redu t_sei . deplacements . ind1 l_fonda ;
  126. dfo2 = defo chdfo2 l_fonda 10. vert ;
  127. dfo0 = defo chdfo2 l_fonda 0. bleu ;
  128. chefo2 = changer cham m_fonda chdfo2 noeud ;
  129. rx_fonda = (intg m_fonda chefo2 ux)/r0_fondx ;
  130. ry_fonda = (intg m_fonda chefo2 uy)/r0_fondy ;
  131. titre 'deformee fondation t = ' t_sei . temps . ind1
  132. ' resultante : ' rx_fonda ry_fonda ;
  133. si dgraph ;
  134. trac (dfo0 et dfo2) ;
  135. finsi ;
  136. abs_t = abs_t et (prog t_sei . temps . ind1) ;
  137. x_fonda = x_fonda et (prog rx_fonda) ;
  138. y_fonda = y_fonda et (prog ry_fonda) ;
  139. pdce2 = psca chefo2 cche2 (mots ux uy) (mots ux uy) ;
  140. wdce2 = (intg m_fonda pdce2 scal) / rcce2 ;
  141. w_fonda = w_fonda et (prog wdce2) ;
  142. fin b_des ;
  143.  
  144. *
  145. * chargement structure avec impedance
  146. *
  147. opti dime 3 elem seg2 ;
  148. *
  149. d_bloq = faux;
  150.  
  151.  
  152. p0 = 0. 0. 0. ; e_z = 0. 0. 1. ;
  153. q2 = 0. 1. 0. ; q1 = 0. 2. 0. ;
  154. lig1 = d 20 q2 q1 ;
  155.  
  156.  
  157. MO1= MODE LIG1 MECANIQUE ELASTIQUE POUT ;
  158.  
  159. MATPL1=MATE MO1 YOUNG 2.E11 NU 0.3 RHO 7800;
  160. CARPL1= 'CARA' MO1 SECT 0.1 INRY 2.08E-7 INRZ 3.33E-8
  161. TORS 2.41E-7;
  162. MATE1=MATPL1 ET CARPL1;
  163. ***
  164.  
  165.  
  166. ***
  167.  
  168. RIGPL1 =RIGI MATE1 MO1 ;
  169. MASPLA1=MASS MATE1 MO1 ;
  170. BLOQ2=BLOQ DEPL ROTA Q2 ;
  171. bloq1r = (bloq rota q1) ; blq1uz = bloq q1 uz ;
  172. blq1ux = bloq q1 ux ; blq1uy = bloq q1 uy ;
  173. bloq1rx = bloq q1 rx ;
  174. *
  175. *----
  176. *
  177. PR=PROG 0.4 ; n_mv = lect 4 ;
  178. *MODPLA01=VIBR PROC PR (RIGPL1 ET BLOQ2 et bloq1r et
  179. * blq1uz et blq1ux et blq1uy) MASPLA1 ;
  180. *modpla0 = vibr proc pr (RIGPL1 ET BLOQ2 et bloq1r et blq1uz) maspla1 ;
  181.  
  182. tblsta = table 'LIAISONS_STATIQUES' ;
  183. tblsta . 1 = table ; tblsta . 1 . point_liaison = q1 ;
  184. si d_bloq ; tblsta . 1 . ddl_liaison = ux ;
  185. sinon ; tblsta . 1 . ddl_liaison = fx ; finsi ;
  186. tblsta . 2 = table ; tblsta . 2 . point_liaison = q1 ;
  187. si d_bloq ; tblsta . 2 . ddl_liaison = uy ;
  188. sinon ; tblsta . 2 . ddl_liaison = fy ; finsi ;
  189.  
  190. si d_bloq ;
  191. bliaiq1 = bloque tblsta ; depi tblsta ;
  192. sinon ;
  193. force tblsta ;
  194. finsi ;
  195. si d_bloq ;
  196. * modes vibrations
  197. MODPLA1=VIBR PROC PR n_mv (RIGPL1 ET BLOQ2 et bloq1r et
  198. blq1uz et bliaiq1) MASPLA1 tbas;
  199. * solutions statiques
  200. tbsta = resout (RIGPL1 ET BLOQ2 et bloq1r et bliaiq1) tblsta ;
  201. react bliaiq1 tbsta ;
  202. sinon ;
  203. * modes vibrations
  204. MODPLA1=VIBR PROC PR n_mv (RIGPL1 ET BLOQ2 et bloq1rx et
  205. blq1uz) MASPLA1 tbas;
  206. * solutions statiques
  207. tbsta = resout (RIGPL1 ET BLOQ2) tblsta ;
  208. finsi ;
  209.  
  210. tbsta maspla1 * ;
  211.  
  212. repeter bmod ((dime tbsta) - 1) ;
  213. ind1 = &bmod ;
  214. psta1 = manu poi1 tbsta . ind1 . point_repere ;
  215. mostai1 = mode psta1 mecanique elastique statique ;
  216. si d_bloq ;
  217. castai1 = mate mostai1 defo tbsta . ind1 . deformee
  218. made tbsta . ind1 . masse_deformee
  219. ride tbsta . ind1 . reaction ;
  220. sinon ;
  221. castai1 = mate mostai1 defo tbsta . ind1 . deformee
  222. made tbsta . ind1 . masse_deformee
  223. ride tbsta . ind1 . force ;
  224. finsi ;
  225. si (ega 1 ind1) ;
  226. mosta1 = mostai1 ; casta1 = castai1 ;
  227. sinon ;
  228. mosta1 = mosta1 et mostai1 ; casta1 = casta1 et castai1 ;
  229. finsi ;
  230. def1 = defo tbsta . ind1 . deformee lig1 1. vert ;
  231. def0 = defo tbsta . ind1 . deformee lig1 0. bleu ;
  232. titre ' sol statique ind = ' ind1 ;
  233. si dgraph ;
  234. trac (0. 0. 1000.) (def0 et def1) ;
  235. finsi ;
  236. fin bmod ;
  237. masta1 = masse mosta1 casta1 ;
  238. rista1 = rigi mosta1 casta1 ;
  239.  
  240. modto1 = mosta1 ; casto1 = casta1 ; tmod = modpla1 . modes ;
  241.  
  242. repeter bmod ((dime modpla1 . modes) - 2) ;
  243. ind1 = &bmod ;
  244. psta1 = manu poi1 tmod . ind1 . point_repere ;
  245. momoda1 = mode psta1 mecanique elastique modal ;
  246. camoda1 = mate momoda1 freq tmod . ind1 . frequence
  247. mass tmod . ind1 . masse_generalisee
  248. defo tmod . ind1 . deformee_modale ;
  249. si (ega 1 ind1) ;
  250. momod1 = momoda1 ; camod1 = camoda1 ;
  251. sinon ;
  252. momod1 = momod1 et momoda1 ; camod1 = camod1 et camoda1 ;
  253. finsi ;
  254. def1 = defo tmod . ind1 . deformee_modale lig1 1. vert ;
  255. def0 = defo tmod . ind1 . deformee_modale lig1 0. bleu ;
  256. titre ' mode propre ind = ' ind1 ;
  257. si dgraph ; trac (0. 0. 1000.) (def0 et def1) ; finsi ;
  258. fin bmod ;
  259.  
  260. modto1 = modto1 et momod1 ; casto1 = casto1 et camod1 ;
  261.  
  262. chq2ux = manu chpo lig1 ux 1. ; chq2uy = manu chpo lig1 uy 1. ;
  263. blq2rz = bloq q2 rz ; fblq2rz = depi blq2rz 1. ;
  264. blq2de = bloq q2 depl ;
  265. chq2rz = resou (rigpl1 et blq2rz et blq2de) fblq2rz;
  266. chq2mz = react (rigpl1 et blq2rz et blq2de) chq2rz ;
  267. def2 = defo chq2rz lig1 1. vert ;
  268. titre ' mode statique rotation ' ;
  269. si dgraph ; trac (0. 0. 1000.) (def0 et def2) ; finsi ;
  270.  
  271. pq2ux = manu poi1 (1. 0. 0.) ;
  272. moq2ux = modele pq2ux mecanique elastique statique ;
  273. caq2ux = mate moq2ux defo chq2ux made (maspla1 * chq2ux)
  274. ride (rigpl1 * chq2ux) ;
  275. pq2uy = manu poi1 (0. 1. 0.) ;
  276. moq2uy = modele pq2uy mecanique elastique statique ;
  277. caq2uy = mate moq2uy defo chq2uy made (maspla1 * chq2uy)
  278. ride (rigpl1 * chq2uy) ;
  279. pq2rz = manu poi1 (0. 0. 100.) ;
  280. moq2rz = modele pq2rz mecanique elastique statique ;
  281. caq2rz = mate moq2rz defo chq2rz made (maspla1 * chq2rz)
  282. ride chq2mz ;
  283.  
  284. maq2 = manu poi1 q2;
  285. mimq2rz = mode maq2 mecanique elastique
  286. impedance reuss pout ;
  287. cimq2rz = mate mimq2rz raid 1.e4 cple 1.e4 visc 1.e3 mass 0. iner 0.;
  288.  
  289. mimq2 = mode pq2rz mecanique elastique statique
  290. impedance reuss ;
  291. cimq2 = mate mimq2 raid 1.e4 visc 1.e3 mass 0. ;
  292.  
  293. tfinca = 0.1 ;
  294. * evolution - test
  295. evacc = evol manu t (prog 0 pas 0.01 0.1 tfinca)
  296. d (prog 0 pas 0.2 1 pas -0.2 0. 0. ) ;
  297. * chargement en x seul, par exemple, après calcul séisme
  298. evacc = evol manu t abs_t d x_fonda ;
  299. *abs_t = prog 0. 0.1 0.2 ;
  300. *evacc = evol manu t abs_t d (prog 0 0.2 0.4) ;
  301. si dgraph ;
  302. dess evacc titre ' chargement ' ;
  303. finsi ;
  304. ***
  305. cq2yz = bloq q2 uy uz ;
  306. cq2ux = bloq q2 ux ;
  307. dq2ux = depi cq2ux 1. ;
  308. chaq2ux = char dimp evacc dq2ux ;
  309.  
  310. t_bul1 = table ;
  311. t_bul1 . modele = mo1 ;
  312. t_bul1 . caracteristiques = mate1 ;
  313. t_bul1 . chargement = chaq2ux ;
  314. t_bul1 . blocages_mecaniques = cq2ux et cq2yz;
  315. t_bul1 . dynamique = vrai ;
  316. t_bul1 . temps_calcules = abs_t ;
  317. t_bul1 . temps_sauves = abs_t;
  318.  
  319. pasapas t_bul1 ;
  320.  
  321. t_bul3 = table ;
  322. t_bul3 . modele = mo1 et mimq2rz ;
  323. t_bul3 . caracteristiques = mate1 et cimq2rz ;
  324. t_bul3 . chargement = chaq2ux ;
  325. t_bul3 . blocages_mecaniques = cq2ux et cq2yz;
  326. t_bul3 . dynamique = vrai ;
  327. t_bul3 . temps_calcules = abs_t ;
  328. t_bul3 . temps_sauves = abs_t ;
  329. pasapas t_bul3 ;
  330.  
  331. si dgraph ;
  332. repeter b_des1 (dime t_bul1 . deplacements) ;
  333. ind1= &b_des1 - 1 ;
  334. titre 'deplacement ux a t = ' t_bul1 . temps . ind1 ;
  335. chbul1 = t_bul1 . deplacements . ind1 ;
  336. dfbul12 = defo chbul1 lig1 1. bleu ;
  337. chbul3 = t_bul3 . deplacements . ind1 ;
  338. dfbul13 = defo chbul3 lig1 1. rouge ;
  339. dfbul10 = defo chbul1 lig1 0. jaune ;
  340. trac (0. 0. 1000.) (dfbul10 et dfbul12 et dfbul13) ;
  341. fin b_des1 ;
  342. finsi ;
  343. ***
  344. c_pq2ux = bloq pq2ux beta ;
  345. deq2ux = depi c_pq2ux 1. ;
  346. chq2ux = char dimp evacc deq2ux ;
  347.  
  348. ***
  349. t_bul2 = table ;
  350. t_bul2 . modele = momod1 et moq2ux et moq2uy et moq2rz et mimq2 ;
  351. t_bul2 . caracteristiques = camod1 et caq2ux et caq2uy et caq2rz
  352. et cimq2 ;
  353. t_bul2 . chargement = chq2ux ;
  354. t_bul2 . blocages_mecaniques = c_pq2ux ;
  355. t_bul2 . dynamique = vrai ;
  356. t_bul2 . temps_calcules = abs_t ;
  357. t_bul2 . temps_sauves = abs_t ;
  358.  
  359. pasapas t_bul2 ;
  360.  
  361. si dgraph ;
  362. repeter b_des (dime t_bul2 . deplacements) ;
  363. ind1= &b_des - 1 ;
  364. titre 'deplacement ux a t = ' t_bul2 . temps . ind1 ;
  365. chbul2 = reco t_bul2 . deplacements . ind1
  366. t_bul2 . modele t_bul2 . caracteristiques ;
  367. dfbul22 = defo chbul2 lig1 1. rouge ;
  368. dfbul0 = defo chbul2 lig1 0. bleu ;
  369. trac (0. 0. 1000.) (dfbul0 et dfbul22) ;
  370. fin b_des ;
  371. finsi ;
  372. ***
  373. t_bul = table ;
  374. t_bul . modele = momod1 et moq2ux et moq2uy et moq2rz ;
  375. t_bul . caracteristiques = camod1 et caq2ux et caq2uy et caq2rz ;
  376. t_bul . chargement = chq2ux ;
  377. t_bul . blocages_mecaniques = c_pq2ux ;
  378. t_bul . dynamique = vrai ;
  379. t_bul . temps_calcules = abs_t ;
  380. t_bul . temps_sauves = abs_t ;
  381.  
  382. pasapas t_bul ;
  383. repeter b_des (dime t_bul . deplacements) ;
  384. ind1= &b_des - 1 ;
  385. chbul1 = t_bul1 . deplacements . ind1 ;
  386. dfbul12 = defo chbul1 lig1 1. bleu ;
  387. chbul3 = t_bul3 . deplacements . ind1 ;
  388. dfbul13 = defo chbul3 lig1 1. bleu ;
  389. chbul2 = reco t_bul2 . deplacements . ind1
  390. t_bul2 . modele t_bul2 . caracteristiques ;
  391. dfbul22 = defo chbul2 lig1 1. rouge ;
  392. chbul0 = reco t_bul . deplacements . ind1
  393. t_bul . modele t_bul . caracteristiques ;
  394. dfbul2 = defo chbul0 lig1 1. vert ;
  395. dfbul0 = defo chbul2 lig1 0. jaune ;
  396. si dgraph;
  397. titre 'modal(vert)/EF(bleu) defo t = ' t_bul . temps . ind1 ;
  398. trac (0. 0. 1000.) (dfbul0 et dfbul12 et dfbul2) ;
  399. titre 'impedance modal(rouge)/EF(bleu) - sans(vert)
  400. defo t = ' t_bul . temps . ind1 ;
  401. trac (0. 0. 1000.) (dfbul0 et dfbul13 et dfbul2 et dfbul22) ;
  402. finsi ;
  403. fin b_des ;
  404. **
  405.  
  406. uxq1_1 = extr chbul1 ux q1 ;
  407. uxq1_2 = extr chbul2 ux q1 ;
  408. uxq1_0 = extr chbul0 ux q1 ;
  409. uxq1_3 = extr chbul3 ux q1 ;
  410.  
  411. err1 = abs (uxq1_1 - uxq1_0); err2 = abs (uxq1_2 - uxq1_3) ;
  412.  
  413.  
  414. si ((err1 > 1.e-2) ou (err2 > 1.e-2)) ;
  415. erre 5 ;
  416. sinon ;
  417. erre 0 ;
  418. finsi ;
  419.  
  420. fin ;
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  

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