Télécharger grota-coq2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : grota-coq2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. *
  6. * Le but de ce k-test est de vérifier que les contraintes
  7. * et les déformations ne varient pas dans un élément COQ2
  8. * en grandes rotations.
  9. *
  10. * Auteur : M. Bulik
  11. *
  12. * Date : Janvier '97
  13. *
  14. ***********************************************************
  15.  
  16. *** Options ...
  17.  
  18. opti dime 2 mode plan defo echo 1 elem seg2 ;
  19. depl0 = 0.01 ;
  20.  
  21. graph = faux ;
  22.  
  23. *** Points ...
  24.  
  25. dens 1.0 ;
  26.  
  27. p1 = 0 0 ;
  28. p2 = (1 - depl0) 0 ;
  29.  
  30. *** Trièdre ...
  31.  
  32. mp1 = manu poi1 p1 ;
  33. chx = manu chpo mp1 2 FX 1 FY 0 ;
  34. chy = manu chpo mp1 2 FX 0 FY 1 ;
  35. axx = vect chx FX FY 0.5 BLEU ;
  36. axy = vect chy FX FY 0.5 BLAN ;
  37. triedre = axx et axy ;
  38.  
  39. *** Lignes ...
  40.  
  41. li1 = p1 d 1 p2 ;
  42.  
  43. *** Modèle etc. ...
  44.  
  45. mo1 = mode li1 mecanique elastique coq2 ;
  46. mo1lin = mode li1 mecanique elastique epsilon lineaire
  47. coq2;
  48. ma1 = mate mo1 YOUN 2.e+11 NU 0.3 EPAI 1.e-2 ;
  49. ma1lin = mate mo1lin YOUN 2.e+11 NU 0.3 EPAI 1.e-2 ;
  50.  
  51. *** Chargement ...
  52.  
  53. nbangl = 45 ;
  54.  
  55. listt = prog 0 1 pas (1./nbangl) 2 ;
  56.  
  57. listarg = prog 0 pas (1./nbangl) 1 ;
  58. listsin = prog sinu 0.25 listarg ;
  59. list0 = prog (nbangl + 1) '*' (depl0 - 1) ;
  60. listcos = prog sinu 0.25 phas 90 listarg ;
  61.  
  62. listx = (prog 0) et (list0 + listcos) ;
  63. listy = (prog 0) et listsin ;
  64.  
  65. titr 'Deplacement impose en X' ;
  66. evx = evol MANU listt listx ;
  67. titr 'Deplacement impose en Y' ;
  68. evy = evol MANU listt listy ;
  69.  
  70. si(graph) ;
  71. dess evx ;
  72. dess evy ;
  73. finsi ;
  74.  
  75. blx = bloq ux p2 ;
  76. bly = bloq uy p2 ;
  77.  
  78. depix = depi blx 1.0 ;
  79. depiy = depi bly 1.0 ;
  80.  
  81. charx = char DIMP evx depix ;
  82. chary = char DIMP evy depiy ;
  83.  
  84. blz = bloq rota li1 ;
  85. moz = depi blz (pi / 2) ;
  86. evz = evol manu (prog 0 1 2) (prog 0 0 1) ;
  87. charz = char DIMP moz evz ;
  88.  
  89. *** Préparation de la table pour PASAPAS ...
  90.  
  91. tabnl = table ;
  92.  
  93. tabnl . MODELE = mo1 ;
  94. tabnl . CARACTERISTIQUES = ma1 ;
  95. tabnl . CHARGEMENT = charx et chary ;
  96. tabnl . BLOCAGES_MECANIQUES = (bloq depl p1) et blx et bly ;
  97. tabnl . GRANDS_DEPLACEMENTS = vrai ;
  98. tabnl . TEMPS_CALCULES = listt ;
  99. tabnl . MTOL = 1.0 ;
  100.  
  101. *** Appel à PASAPAS ...
  102.  
  103. pasapas tabnl ;
  104.  
  105. *** Post-traitement ...
  106.  
  107. nbpas = dime (tabnl . TEMPS) ;
  108. mess 'On a fait ' (nbpas - 1) ' pas' ;
  109.  
  110. defotot = defo li1 (tabnl . DEPLACEMENTS . 0) 1.0 ;
  111. list1n11 = prog ;
  112. list1nzz = prog ;
  113. list2n11 = prog ;
  114. list2nzz = prog ;
  115. list3n11 = prog ;
  116. list3nzz = prog ;
  117. listlon = prog (mesu li1) ;
  118.  
  119. repeter surpas (nbpas - 1) ;
  120. depact = tabnl . DEPLACEMENTS . &surpas ;
  121.  
  122. defoact = defo li1 depact 1.0 ;
  123. defotot = defotot et defoact ;
  124.  
  125. tototo = li1 plus depact ;
  126. listlon = listlon et (prog (mesu tototo)) ;
  127.  
  128. contact = tabnl . CONTRAINTES . &surpas ;
  129. list1n11 = list1n11 et (prog (extr contact N11 1 1 1)) ;
  130. list2n11 = list2n11 et (prog (extr contact N11 1 1 2)) ;
  131. list3n11 = list3n11 et (prog (extr contact N11 1 1 3)) ;
  132. list1nzz = list1nzz et (prog (extr contact NZZ 1 1 1)) ;
  133. list2nzz = list2nzz et (prog (extr contact NZZ 1 1 2)) ;
  134. list3nzz = list3nzz et (prog (extr contact NZZ 1 1 3)) ;
  135.  
  136. fin surpas ;
  137.  
  138. titr 'L evolution de la position de la coque' ;
  139. si(graph) ;
  140. trac defotot OSCIL ;
  141. finsi ;
  142.  
  143. listt2 = enle listt 1 ;
  144.  
  145. titr 'L evolution de l effort N11 au 1er pt d integration' ;
  146. ev1n11 = evol manu listt2 list1n11 ;
  147. titr 'L evolution de l effort N11 au 2nd pt d integration' ;
  148. ev2n11 = evol manu listt2 list2n11 ;
  149. titr 'L evolution de l effort N11 au 3eme pt d integration' ;
  150. ev3n11 = evol manu listt2 list3n11 ;
  151.  
  152. titr 'L evolution de l effort NZZ au 1er pt d integration' ;
  153. ev1nzz = evol manu listt2 list1nzz ;
  154. titr 'L evolution de l effort NZZ au 2nd pt d integration' ;
  155. ev2nzz = evol manu listt2 list2nzz ;
  156. titr 'L evolution de l effort NZZ au 3eme pt d integration' ;
  157. ev3nzz = evol manu listt2 list3nzz ;
  158.  
  159. si(graph) ;
  160. dess ev1n11 ;
  161. dess ev2n11 ;
  162. dess ev3n11 ;
  163. dess ev1nzz ;
  164. dess ev2nzz ;
  165. dess ev3nzz ;
  166. finsi ;
  167.  
  168. titr 'L evolution de la longueur de la coque' ;
  169. evlon = evol manu listt listlon ;
  170. si(graph) ;
  171. dess evlon ;
  172. finsi ;
  173.  
  174. *** Tests ...
  175.  
  176.  
  177. testtt = vrai ;
  178. cricri = 1.e-10 ;
  179.  
  180. r1 = maxi list1n11 ;
  181. r2 = mini list1n11 ;
  182. diffr = (r1 - r2) / (abs r2) ;
  183. testtt = testtt et (diffr < cricri) ;
  184.  
  185. r1 = maxi list2n11 ;
  186. r2 = mini list2n11 ;
  187. diffr = (r1 - r2) / (abs r2) ;
  188. testtt = testtt et (diffr < cricri) ;
  189.  
  190. r1 = maxi list3n11 ;
  191. r2 = mini list3n11 ;
  192. diffr = (r1 - r2) / (abs r2) ;
  193. testtt = testtt et (diffr < cricri) ;
  194.  
  195. r1 = maxi list1nzz ;
  196. r2 = mini list1nzz ;
  197. diffr = (r1 - r2) / (abs r2) ;
  198. testtt = testtt et (diffr < cricri) ;
  199.  
  200. r1 = maxi list2nzz ;
  201. r2 = mini list2nzz ;
  202. diffr = (r1 - r2) / (abs r2) ;
  203. testtt = testtt et (diffr < cricri) ;
  204.  
  205. r1 = maxi list3nzz ;
  206. r2 = mini list3nzz ;
  207. diffr = (r1 - r2) / (abs r2) ;
  208. testtt = testtt et (diffr < cricri) ;
  209.  
  210. si(testtt) ;
  211. erre 0 ;
  212. sinon ;
  213. erre 5 ;
  214. finsi ;
  215.  
  216. *** Test linéaire ...
  217.  
  218. s_membr0 = tire (charx et chary) 1 ;
  219. s_membr = tire (charx et chary) 2 ;
  220. c_limit = tabnl . BLOCAGES_MECANIQUES ;
  221. m_rigid = rigi mo1 (tabnl . CARACTERISTIQUES) ;
  222.  
  223. d_elast0 = reso (m_rigid et c_limit) s_membr0 ;
  224. d_elast = reso (m_rigid et c_limit) s_membr ;
  225.  
  226. defo0 = defo li1 d_elast0 0. triedre ;
  227. defo1 = defo li1 d_elast0 1. VERT ;
  228. defo2 = defo li1 d_elast 1. JAUN ;
  229. si(graph) ;
  230. trac (defo0 et defo1 et defo2) ;
  231. finsi ;
  232.  
  233. ep_elas1 = epsi mo1lin ma1lin d_elast ;
  234. ep_elas2 = epsi mo1 ma1 d_elast ;
  235.  
  236. si_elas1 = sigm mo1lin ma1lin d_elast ;
  237. si_elas2 = sigm mo1 ma1 d_elast ;
  238.  
  239. ho_elas = hook mo1 ma1 ;
  240. holi_ela=hook mo1lin ma1lin ;
  241.  
  242. test1 = ep_elas1 - ep_elas2 ;
  243. si((maxi (abs test1)) < 1.e-6) ;
  244. mess ' test1 ' ( maxi (abs test1));
  245. mess 'Pas de termes quadratiques prises en compte pour les défo' ;
  246. erre 5 ;
  247. finsi ;
  248.  
  249. test2 = si_elas1 - si_elas2 ;
  250. si((maxi (abs test2)) < 1.e-6) ;
  251. mess 'Pas de termes quadratiques prises en compte pour les sigma' ;
  252. erre 5 ;
  253. finsi ;
  254.  
  255. test3 = (mo1lin holi_ela * ep_elas1) - si_elas1 ;
  256. si((maxi (abs test3)) > 1.e-6) ;
  257. mess 'Incompatibilité dans le cas linéaire !!!!!!!' ;
  258. erre 5 ;
  259. finsi ;
  260.  
  261. test4 = (mo1 ho_elas * ep_elas2) - si_elas2 ;
  262. si((maxi (abs test4)) > 1.e-6) ;
  263. mess 'Incompatibilité dans le cas quadratique !!!!!!!' ;
  264. erre 5 ;
  265. finsi ;
  266. epkk = epsi mo1 ma1 d_elast0 ;
  267. list (epkk - ep_elas2);
  268. si((maxi (abs (epkk - ep_elas2))) > 1.e-14) ;
  269. mess '=> Les déformations fausses !!!' ;
  270. erre 5 ;
  271. finsi ;
  272. sikk = sigm mo1 ma1 d_elast0 ;
  273. si((maxi (abs (sikk - si_elas2))) > 1.e-5) ;
  274. mess '=> Les contraintes fausses !!!' ;
  275. erre 5 ;
  276. finsi ;
  277.  
  278. *** Bye ...
  279.  
  280. fin ;
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  

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