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

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