Télécharger joi1_coulomb.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : joi1_coulomb.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 1 ;
  5.  
  6. 'OPTI' 'ELEM' 'SEG2' 'DIME' 3 'MODE' 'TRID' ;
  7. 'OPTI' 'EPSILON' 'LINEAIRE' ;
  8.  
  9. GRAPH = FAUX ;
  10.  
  11. P1 = 0 0 0 ;
  12. P2 = 0 0 0 ;
  13.  
  14. joint = P1 P2 'DROIT' 1 ;
  15.  
  16. ************************************************************************
  17. * Début: MODELE *
  18. ************************************************************************
  19. mo = MODE joint 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE'
  20. 'PLASTIQUE' 'COULOMB' 'JOI1' ;
  21.  
  22. ************************************************************************
  23. * Fin: MODELE *
  24. ************************************************************************
  25.  
  26.  
  27. ************************************************************************
  28. * Début: MATERIAU *
  29. ************************************************************************
  30. kn = 100. ;
  31. ks1 = 50. ;
  32. ks2 = ks1 ;
  33.  
  34. qn = 40. ;
  35. qs1 = 20. ;
  36. qs2 = 30. ;
  37. *
  38. ang = 45. ;
  39. cosa = 'COS' ang ;
  40. sina = 'SIN' ang ;
  41. dir1 = cosa sina 0 ;
  42. dir2 = (-1*sina) cosa 0 ;
  43. *
  44. phi = 45. ;
  45. kt = kn/10. ;
  46. fne = 1E6 ;
  47.  
  48. ma = 'MATE' mo 'DIRECTION' dir1 dir2
  49. 'KN ' kn 'KS1 ' ks1 'KS2 ' ks2
  50. 'QN ' qn 'QS1 ' qs1 'QS2 ' qs2
  51. 'TYPE' 1. 'FRIC' phi
  52. 'QT ' kt 'FNE ' fne 'COHE' 0. ;
  53.  
  54. ************************************************************************
  55. * Fin: MATERIAU *
  56. ************************************************************************
  57.  
  58. ************************************************************************
  59. * Début: CL & CHARGEMENT *
  60. ************************************************************************
  61. cl1 = 'BLOQ' 'DEPL' 'DIRECTION' dir1 P1 ;
  62. cl2 = 'BLOQ' 'DEPL' 'DIRECTION' dir2 P1 ;
  63. cl3 = 'BLOQ' 'UZ' 'RX' 'RY' 'RZ' joint ;
  64. cl4 = 'BLOQ' 'DEPL' 'DIRECTION' dir1 P2 ;
  65. cl5 = 'BLOQ' 'DEPL' 'DIRECTION' dir2 P2 ;
  66. cl = cl1 'ET' cl2 'ET' cl3 'ET' cl4 'ET' cl5 ;
  67.  
  68. vdpi = 0.1 ;
  69. dpi1 = 'DEPI' cl4 vdpi ;
  70. dpi2 = 'DEPI' cl5 vdpi ;
  71. lt = 'PROG' 0 1 2 3 4 5 6 ;
  72. lc1 = 'PROG' 0 -1 -1 -1 -0.5 -0.01 1 ;
  73. ev1 = 'EVOL' 'MANU' 't' lt 'coef' lc1 ;
  74. lc2 = 'PROG' 0 0 1 3 3 3 3 ;
  75. ev2 = 'EVOL' 'MANU' 't' lt 'coef' lc2 ;
  76.  
  77. cha1 = 'CHAR' 'DIMP' dpi1 ev1 ;
  78. cha2 = 'CHAR' 'DIMP' dpi2 ev2 ;
  79. cha = cha1 'ET' cha2 ;
  80. ************************************************************************
  81. * Fin: CL & CHARGEMENT *
  82. ************************************************************************
  83. lis_t = 'PROG' 1 2 2.5 3 4 5 5.0098 6 ;
  84.  
  85. tab = 'TABLE' ;
  86. tab.'MODELE' = mo ;
  87. tab.'CARACTERISTIQUES' = ma ;
  88. tab.'BLOCAGES_MECANIQUES' = cl ;
  89. tab.'CHARGEMENT' = cha ;
  90. tab.'TEMPS_CALCULES' = lis_t ;
  91. tab.'TEMPS_SAUVES' = lis_t ;
  92. tab.'FTOL' = 1E-3 ;
  93.  
  94. PASAPAS tab ;
  95.  
  96.  
  97. time=tab.'TEMPS';
  98. ntime = 'DIME' time ;
  99. n=ntime - 1 ;
  100.  
  101. progt = 'PROG' ;
  102. prN = 'PROG' ;
  103. prFY = 'PROG' ;
  104. prepse = 'PROG' ;
  105. pretat = 'PROG' ;
  106. prepou = 'PROG' ;
  107. prlam1 = 'PROG' ;
  108. prpla1 = 'PROG' ;
  109. prpla3 = 'PROG' ;
  110. ************************************************************************
  111. * Début: CONTROLE *
  112. ************************************************************************
  113. REPETER contro ntime ;
  114. i = &contro - 1 ;
  115. t = time.i ;
  116. progt = progt 'ET' ('PROG' t) ;
  117. *-
  118. sig = tab.'CONTRAINTES'.i ;
  119. prN = prN 'ET' ('PROG' ('EXTR' sig 'EFFX' 1 1 1)) ;
  120. prFY = prFY 'ET' ('PROG' ('EXTR' sig 'EFFY' 1 1 1)) ;
  121. *-
  122. vi = tab.'VARIABLES_INTERNES'.i ;
  123. prepse = prepse 'ET' ('PROG' ('EXTR' vi 'EPSE' 1 1 1)) ;
  124. pretat = pretat 'ET' ('PROG' ('EXTR' vi 'STAT' 1 1 1)) ;
  125. prepou = prepou 'ET' ('PROG' ('EXTR' vi 'EPOU' 1 1 1)) ;
  126. prlam1 = prlam1 'ET' ('PROG' ('EXTR' vi 'LAM1' 1 1 1)) ;
  127. prpla1 = prpla1 'ET' ('PROG' ('EXTR' vi 'PLA1' 1 1 1)) ;
  128. prpla3 = prpla3 'ET' ('PROG' ('EXTR' vi 'PLA3' 1 1 1)) ;
  129. FIN contro ;
  130. ************************************************************************
  131. * Début: CONTROLE *
  132. ************************************************************************
  133.  
  134. evN = evol manu 't' progt 'N' prN ;
  135. evFY = evol manu 't' progt 'FY' prFY ;
  136. evepse = evol manu 't' progt 'EPSE' prepse ;
  137. evetat = evol manu 't' progt 'STAT' pretat ;
  138. evepou = evol manu 't' progt 'EPOU' prepou ;
  139. evpla1 = evol manu 't' progt 'PLA1' prpla1 ;
  140. evpla3 = evol manu 't' progt 'PLA3' prpla3 ;
  141. evlam1 = evol manu 't' progt 'LAM1' prlam1 ;
  142.  
  143. mu = ('SIN' phi) / ('COS' phi) ;
  144.  
  145. *-
  146. * 0 <eg t <eg 1 (purement elastique)
  147. * ----------------------------------
  148. t1 = 'EXTR' 1 lis_t ;
  149. N_t1 = kn*vdpi*('IPOL' t1 lt lc1) ;
  150. Fy_t1 = ks1*vdpi*('IPOL' t1 lt lc2) ;
  151. etat_t1 = 2 ;
  152. epou_t1 = 0. ;
  153. pla1_t1 = 0. ;
  154. pla3_t1 = 0. ;
  155. lam1_t1 = 0. ;
  156. epse_t1 = 0. ;
  157.  
  158. * 1 <eg t <eg 2 (purement elastique)
  159. * ----------------------------------
  160. t2 = 'EXTR' 2 lis_t ;
  161. N_t2 = kn*vdpi*('IPOL' t2 lt lc1) ;
  162. Fy_t2 = ks1*vdpi*('IPOL' t2 lt lc2) ;
  163. etat_t2 = 2 ;
  164. epou_t2 = 0. ;
  165. pla1_t2 = 0. ;
  166. pla3_t2 = 0. ;
  167. lam1_t2 = 0. ;
  168. epse_t2 = 0. ;
  169.  
  170. * 2 <eg t <eg 2.5 (purement elastique)
  171. * ------------------------------------
  172. t3 = 'EXTR' 3 lis_t ;
  173. N_t3 = kn*vdpi*('IPOL' t3 lt lc1) ;
  174. Fy_t3 = ks1*vdpi*('IPOL' t3 lt lc2) ;
  175. etat_t3 = 2 ;
  176. epou_t3 = 0. ;
  177. pla1_t3 = 0. ;
  178. pla3_t3 = 0. ;
  179. lam1_t3 = 0. ;
  180. epse_t3 = 0. ;
  181.  
  182. * 2.5 <eg t <eg 3 (plastique)
  183. * ---------------------------
  184. t4 = 'EXTR' 4 lis_t ;
  185. N_t4 = kn*vdpi*('IPOL' t4 lt lc1) ;
  186. Fy_t4 = (-1*mu)*N_t4 ;
  187. etat_t4 = 2 ;
  188. epou_t4 = 0. ;
  189. pla1_t4 = (vdpi*('IPOL' t4 lt lc2))-(Fy_t4/ks1) ;
  190. pla3_t4 = 0. ;
  191. lam1_t4 = 0. ;
  192. epse_t4 = ((2./3.)**0.5)*pla1_t4 ;
  193.  
  194. * 3 <eg t <eg 4 (plastique)
  195. * -------------------------
  196. t5 = 'EXTR' 5 lis_t ;
  197. N_t5 = kn*vdpi*('IPOL' t5 lt lc1) ;
  198. Fy_t5 = (-1*mu)*N_t5 ;
  199. etat_t5 = 2 ;
  200. epou_t5 = 0. ;
  201. pla1_t5 = (vdpi*('IPOL' t5 lt lc2))-(Fy_t5/ks1) ;
  202. pla3_t5 = 0. ;
  203. lam1_t5 = 0. ;
  204. epse_t5 = ((2./3.)**0.5)*pla1_t5 ;
  205.  
  206. * 4 <eg t <eg 5 (plastique)
  207. * -------------------------
  208. t6 = 'EXTR' 6 lis_t ;
  209. N_t6 = kn*vdpi*('IPOL' t6 lt lc1) ;
  210. Fy_t6 = (-1*mu)*N_t6 ;
  211. etat_t6 = 2 ;
  212. epou_t6 = 0. ;
  213. pla1_t6 = (vdpi*('IPOL' t6 lt lc2))-(Fy_t6/ks1) ;
  214. pla3_t6 = 0. ;
  215. lam1_t6 = 0. ;
  216. epse_t6 = ((2./3.)**0.5)*pla1_t6 ;
  217.  
  218. * 5 <eg t <eg 5.0098 (plastique)
  219. * ------------------------------
  220. t7 = 'EXTR' 7 lis_t ;
  221. N_t7 = kn*vdpi*('IPOL' t7 lt lc1) ;
  222. Fy_t7 = (-1*mu)*N_t7 ;
  223. etat_t7 = 2 ;
  224. epou_t7 = 0. ;
  225. pla1_t7 = (vdpi*('IPOL' t7 lt lc2))-(Fy_t7/ks1) ;
  226. pla3_t7 = 0. ;
  227. lam1_t7 = 0. ;
  228. epse_t7 = ((2./3.)**0.5)*pla1_t7 ;
  229.  
  230. * 5.0098 < t &lt;eg 6 (le joint s'ouvre)
  231. * -----------------------------------
  232. t8 = 'EXTR' 8 lis_t ;
  233. N_t8 = 0. ;
  234. Fy_t8 = 0. ;
  235. etat_t8 = 1 ;
  236. pla1_t8 = (vdpi*('IPOL' t8 lt lc2)) ;
  237. pla3_t8 = (vdpi*('IPOL' t8 lt lc1)) ;
  238. epou_t8 = pla3_t8 ;
  239. lam1_t8 = pla3_t8 ;
  240. deltap = (2./3.)*(((pla1_t8-pla1_t7)**2)+(pla3_t8**2)) ;
  241. deltap = deltap**0.5 ;
  242. epse_t8 = epse_t7 + deltap ;
  243.  
  244.  
  245. progt = 'PROG' 0 t1 t2 t3 t4 t5 t6 t7 t8 ;
  246. progN = 'PROG' 0 N_t1 N_t2 N_t3 N_t4 N_t5 N_t6 N_t7 N_t8 ;
  247. progFy = 'PROG' 0 Fy_t1 Fy_t2 Fy_t3 Fy_t4 Fy_t5 Fy_t6 Fy_t7 Fy_t8 ;
  248. etat = 'PROG'
  249. 0 etat_t1 etat_t2 etat_t3 etat_t4 etat_t5 etat_t6 etat_t7 etat_t8 ;
  250. epou = 'PROG'
  251. 0 epou_t1 epou_t2 epou_t3 epou_t4 epou_t5 epou_t6 epou_t7 epou_t8 ;
  252. pla1 = 'PROG'
  253. 0 pla1_t1 pla1_t2 pla1_t3 pla1_t4 pla1_t5 pla1_t6 pla1_t7 pla1_t8 ;
  254. pla3 = 'PROG'
  255. 0 pla3_t1 pla3_t2 pla3_t3 pla3_t4 pla3_t5 pla3_t6 pla3_t7 pla3_t8 ;
  256. lam1 = 'PROG'
  257. 0 lam1_t1 lam1_t2 lam1_t3 lam1_t4 lam1_t5 lam1_t6 lam1_t7 lam1_t8 ;
  258. epse = 'PROG'
  259. 0 epse_t1 epse_t2 epse_t3 epse_t4 epse_t5 epse_t6 epse_t7 epse_t8 ;
  260.  
  261. tN = evol roug manu 't' progt 'N' progN ;
  262. tFy = evol roug manu 't' progt 'FY' progFy ;
  263. tetat = evol roug manu 't' progt 'STAT' etat ;
  264. tepou = evol roug manu 't' progt 'EPOU' epou ;
  265. tpla1 = evol roug manu 't' progt 'PLA1' pla1 ;
  266. tpla3 = evol roug manu 't' progt 'PLA3' pla3 ;
  267. tlam1 = evol roug manu 't' progt 'LAM1' lam1 ;
  268. tepse = evol roug manu 't' progt 'EPSE' epse ;
  269.  
  270.  
  271. t = 'TABLE' ;
  272. t . 1 = 'MOT' 'MARQ CROI' ;
  273. t . 2 = 'MOT' 'MARQ LOSA' ;
  274. t.'TITRE' = 'TABLE' ;
  275. t.'TITRE' . 1 = 'Calcul' ;
  276. t.'TITRE' . 2 = 'Theorie' ;
  277.  
  278.  
  279. 'SI' GRAPH ;
  280. 'DESS' (tN 'ET' evN) 'TITR' 'Effort normal' t 'LEGE';
  281. 'DESS' (tFy 'ET' evFY) 'TITR' 'Effort de glissement' t 'LEGE';
  282. 'DESS' (tetat et evetat) 'TITR' 'Etat du joint' t 'LEGE';
  283. 'DESS' (tepou et evepou) 'TITR' 'Inc. def. plas. en ouverture' t 'LEGE';
  284. 'DESS' (tpla1 et evpla1) 'TITR' 'Def. plas. de glissement' t 'LEGE';
  285. 'DESS' (tpla3 et evpla3) 'TITR' 'Def. plas. normale' t 'LEGE';
  286. 'DESS' (tlam1 et evlam1) 'TITR' 'Mult. plas. / compression' t 'LEGE';
  287. 'DESS' (tepse et evepse) 'TITR' 'Def. plas. cumulee' t 'LEGE';
  288. 'FINSI' ;
  289. *
  290. * ---------- CODE DE FONCTIONNEMENT ----------
  291. *
  292. dif_N = 'MAXI' ('ABS' ('EXTR' (tN - evN) 'ORDO')) ;
  293. dif_Fy = 'MAXI' ('ABS' ('EXTR' (tFy - evFY) 'ORDO')) ;
  294. dif_pla1 = 'MAXI' ('ABS' ('EXTR' (tpla1 - evpla1) 'ORDO')) ;
  295. dif_pla3 = 'MAXI' ('ABS' ('EXTR' (tpla3 - evpla3) 'ORDO')) ;
  296.  
  297. test = 'MAXI' ('PROG' dif_N dif_Fy dif_pla1 dif_pla3) ;
  298.  
  299.  
  300. 'SI' (test '&lt;EG' 1E-6 ) ;
  301. 'ERRE' 0 ;
  302. 'SINO';
  303. 'ERRE' 5 ;
  304. 'FINSI' ;
  305.  
  306. *opti donn 5;
  307. 'FIN' ;
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  

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