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

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