Télécharger continu_snap.dgibi

Retour à la liste

Numérotation des lignes :

  1.  
  2. ************************************************************************
  3. *
  4. * continu_snap.dgibi
  5. * = cas test basé sur snap.dgibi (de la base cast3m),
  6. * mais avec une comparaison avec la procedure de CONTINUation
  7. *
  8. * Mots-clé :
  9. * flambage, grand deplacements, snap-through
  10. *
  11. * Objectif :
  12. * Il s'agit de trouver la position post flambage d'une barre articulée
  13. * Par symétrie, une seule barre est maillee et calculee
  14. *
  15. *
  16. * ||
  17. * ||
  18. * \/ F
  19. * /\
  20. * / \
  21. * | / \ |
  22. * |/ \|
  23. * | |
  24. *
  25. ************************************************************************
  26. *
  27. *
  28. ***************************************************
  29. *** ***
  30. *** OPTIONS ***
  31. *** ***
  32. ***************************************************
  33.  
  34. OPTI 'TRAC' 'PSC' 'EPTR' 5 'POTR' 'HELVETICA_16';
  35. OPTI DIME 2 ELEM SEG2 MODE PLAN CONT ; DENS 1. ;
  36. *
  37. SAUT PAGE ;
  38. GRAPH = FAUX;
  39. * GRAPH = VRAI ;
  40.  
  41. ***************************************************
  42. *** ***
  43. *** DONNEES DU PROBLEME ***
  44. *** ***
  45. ***************************************************
  46.  
  47. *------------- geometrie ligne ST formee d' 1 SEG2 ------------------
  48. * PAR SYMETRIE, ON N'ETUDIE QUE LA MOITIE
  49. *
  50. Lx = 10.; Uini = 1.;
  51. P1 = 0. Uini ; P2 = Lx 0. ;
  52. ST = P1 D 1 P2 ;
  53. *
  54. *------------ calcul mecanique . ------------------
  55. *
  56. MO = MODE ST MECANIQUE BARR ;
  57. *
  58. * MATERIAU ET CARACTERISTIQUES
  59. *
  60. Ey1 = 2.1E11; Sec1 = 0.05;
  61. MA1 = MATE MO YOUN Ey1 NU 0.3 ;
  62. CAR1 = CARA MO SECT Sec1 ;
  63. MACA= MA1 ET CAR1;
  64. *
  65. *----------- calcul de la rigidite -------------------------------------
  66. *
  67. RI1 = RIGI MACA MO ;
  68. *
  69. *----------- definition des conditions aux limites ---------------------
  70. *
  71. CL1 = BLOQ UX P1 ;
  72. CL2 = BLOQ UX P2 ;
  73. CL3 = BLOQ UY P2 ;
  74. CL4 = BLOQ UY p1;
  75. CL = CL1 ET CL2 ET CL3;
  76. *
  77. *----------- definition du chargement ----------------------------------
  78. *
  79. xF11 = -12.5e5;
  80. FP11 = FORCE ( 0 xF11 ) p1;
  81. * LIX1 = PROG 0. 40. ; LIY1 = PROG 0. 40. ;
  82. *bp : pour la continuation on aura peut etre a extrapoler un peu...
  83. LIX1 = PROG -10. 0. 40. ; LIY1 = PROG -10. 0. 40. ;
  84. EV1 = EVOL MANU 'T' LIX1 'F(T)' LIY1 ;
  85. CHA1 = CHAR MECA FP11 EV1 ;
  86.  
  87.  
  88.  
  89. ***************************************************
  90. *** ***
  91. *** CALCUL NON-LINEAIRE GEOMETRIQUE ***
  92. *** ***
  93. ***************************************************
  94.  
  95. *----------- resolution par la procedure CONTINU -----------------------
  96.  
  97. TRES1 = tabl;
  98. TRES1 . 1 = tabl;
  99. TRES1 . 1 . 'POINT_MESURE' = P1;
  100. TRES1 . 1 . 'COMPOSANTE' = mot 'UY';
  101. TRES1 . 1 . 'COULEUR' = mot 'ROSE';
  102. TRES1 . 1 . 'TITRE' = mot 'UY continuation';
  103. TAB1 = tabl ;
  104. TAB1 . 'MODELE' = MO;
  105. TAB1 . 'CARACTERISTIQUES' = MACA;
  106. TAB1 . 'CHARGEMENT' = CHA1;
  107. TAB1 . 'GRANDS_DEPLACEMENTS' = VRAI ;
  108. TAB1 . 'BLOCAGES_MECANIQUES' = CL;
  109. TAB1 . 'PRECISION' = 1.E-6;
  110. LIS1T = prog 0. PAS 0.1 2.;
  111. TAB1 . 'TEMPS_CALCULES' = LIS1T;
  112. TAB1 . 'MAXIPAS' = 500;
  113. TAB1 . 'ACCELERATION' = 4;
  114. * calcul d'une norme de deplacement
  115. y1 = coor ST 2;
  116. u1max = (XTX y1)**0.5;
  117. u1max = 0.05 * u1max;
  118. TAB1 . 'MAXI_DEPLACEMENT' = u1max;
  119. TAB1 . 'RESULTATS' = TRES1;
  120.  
  121. opti debug 1 ;
  122. CONTINU TAB1;
  123.  
  124. evtot = TAB1 . 'RESULTATS' . 'RESULTATS_EVOL';
  125. toto = tabl ; toto . 1 = mot 'MARQ S PLUS';
  126. si GRAPH;
  127. dess evtot toto;
  128. finsi;
  129.  
  130. uyp = -1.*(extr evtot 'ORDO'); nyp = dime uyp;
  131. fyp = -1.*xF11 * (extr evtot 'ABSC');
  132. evcon = evol 'ROUG' manu 'UY' uyp 'FY' fyp;
  133.  
  134.  
  135. * tracé
  136.  
  137. Tdess1 = tabl ;
  138. Tdess1 . 'TITRE' = tabl ;
  139. Tdess1 . 'TITRE' . 1 = mot 'continu' ;
  140. Tdess1 . 'TITRE' . 2 = mot 'pasapas' ;
  141. Tdess1 . 'TITRE' . 3 = mot '[Crisfield]' ;
  142. Tdess1 . 1 = mot 'MARQ CROI REGU' ;
  143. Tdess1 . 2 = mot 'TIRR MARQ ROND REGU' ;
  144. Tdess1 . 3 = mot 'TIRC' ;
  145.  
  146. si GRAPH;
  147. DESS evcon
  148. 'TITX' 'UY' 'POSX' 'CENT'
  149. 'TITY' 'FY' 'POSY' 'CENT' 'TITR' 'continu_snap (continu)';
  150. finsi;
  151.  
  152.  
  153. *----------- resolution par la procedure PASAPAS -----------------------
  154. * CALCUL EN GRANDS DEPLACEMENTS
  155. *
  156. TAB2 = TABLE ;
  157. TAB2.'GRANDS_DEPLACEMENTS'=VRAI;
  158. TAB2.'AUTOMATIQUE' = VRAI;
  159. *
  160. * ---------- pilotage suivant le deplacement du point P1
  161. *
  162. 'DEBPROC' AUTOPILO DELT*'CHPOINT' DELA*'CHPOINT' ZMOD*'MMODEL'
  163. ZMAT*'MCHAML' TTT*TABLE ;
  164. NORM1 = (extraire delt p1 'UY' ) *-1 ;
  165. * mess ' norm1 ' norm1;
  166. FINPROC NORM1;
  167. *--------------------------------------------------------
  168. *
  169. TAB2.'AUTOPAS' = 200;
  170. TAB2.'AUTOCRIT' = 0.075;
  171. TAB2.'AUTORESU' = 1;
  172. TAB2.'BLOCAGES_MECANIQUES' = CL;
  173. TAB2.'MODELE' = MO;
  174. TAB2.'CARACTERISTIQUES' = MACA;
  175. TAB2.'CHARGEMENT' = CHA1;
  176. LIS11 = PROG 0. 2. ;
  177. TAB2.'TEMPS_CALCULES' = LIS11;
  178. tab2.'REAC_GRANDS'=200.;
  179. PASAPAS TAB2 ;
  180.  
  181.  
  182. *----------- resultats -------------------------------------------------
  183. * courbe de snap through : montee descente montee
  184. PGX = PROG 0.;
  185. PGY = PROG 0.;
  186. NDIM = (DIME ( TAB2 . 'DEPLACEMENTS' )) - 1 ;
  187.  
  188. REPETER TBOU2 NDIM ;
  189.  
  190. LEDEP = TAB2 . 'DEPLACEMENTS' . (&TBOU2);
  191. REA1 = REAC CL3 LEDEP ;
  192. V = EXTR LEDEP UY P1 ;
  193. PGX = PGX ET ( -1. * V ) ;
  194. VV = EXTR REA1 FY P2 ;
  195. PGY = PGY ET ( PROG VV ) ;
  196.  
  197. FIN TBOU2 ;
  198. *
  199. evopas = EVOL BLEU MANU 'UY' PGX 'FY' PGY ;
  200. si GRAPH;
  201. DESS evopas toto;
  202. DESS evopas
  203. 'TITX' 'UY' 'POSX' 'CENT'
  204. 'TITY' 'FY' 'POSY' 'CENT' 'TITR' 'continu_snap (pasapas)';
  205. finsi;
  206.  
  207. * tracé comparatif
  208. si GRAPH;
  209. DESS (evcon et evopas) Tdess1 LEGE SO
  210. 'TITX' 'UY' 'POSX' 'CENT'
  211. 'TITY' 'FY' 'POSY' 'CENT' 'TITR' 'continu_snap';
  212. finsi;
  213.  
  214. *
  215. * opti donn 5 trac x;
  216. ***************************************************
  217. *** ***
  218. *** TEST DE NON REGRESSION ***
  219. *** ***
  220. ***************************************************
  221.  
  222. *** RESULTATS ANALYTIQUES ***
  223.  
  224. * ref : [Crisfield, 1996 NL FEA solids and structures, p5]
  225.  
  226. * Uanal = prog 0. PAS 0.05 2.2;
  227. * on compare avec continu
  228. Uanal1 = uyp;
  229. Uadim1 = (-1.*Uanal1) / Uini;
  230. Fanal1 = (2.*Uadim1) + (3.*(Uadim1**2)) + (Uadim1**3);
  231. Fanal1 = (-0.5 * Ey1 * Sec1 * (Uini**3) / (Lx**3)) * Fanal1;
  232. evanal1= evol MANU 'U' Uanal1 'F' Fanal1;
  233.  
  234. * on compare avec pasapas
  235. Uanal2 = PGX;
  236. Uadim2 = (-1.*Uanal2) / Uini;
  237. Fanal2 = (2.*Uadim2) + (3.*(Uadim2**2)) + (Uadim2**3);
  238. Fanal2 = (-0.5 * Ey1 * Sec1 * (Uini**3) / (Lx**3)) * Fanal2;
  239. evanal2= evol MANU 'U' Uanal2 'F' Fanal2;
  240.  
  241. *tracé
  242. si GRAPH;
  243. DESS (evcon et evopas et evanal1) Tdess1 LEGE SO
  244. 'TITX' 'UY' 'POSX' 'CENT'
  245. 'TITY' 'FY' 'POSY' 'CENT' 'TITR' 'continu_snap';
  246. finsi;
  247.  
  248. *** calcul des max et des min ***
  249. * (max sur la 1ere moitié du calcul)
  250. lmoit1 = lect 1 pas 1 (nyp/2);
  251. fmax1 = maxi (extr fyp lmoit1); fmin1 = mini fyp;
  252. gmax1 = maxi (extr Fanal1 lmoit1); gmin1 = mini Fanal1;
  253.  
  254. lmoit2 = lect 1 pas 1 (NDIM/2);
  255. fmax2 = maxi (extr PGY lmoit2); fmin2 = mini PGY;
  256. gmax2 = maxi (extr Fanal2 lmoit2); gmin2 = mini Fanal2;
  257.  
  258.  
  259. *** table TNR ***
  260.  
  261. TABTNR = TABL ;
  262.  
  263. TABTNR.'ANA' = TABL ;
  264. TABTNR.'ANA'. 1 = CHAI 'CONTINU' ;
  265. TABTNR.'ANA'. 2 = CHAI 'CONTINU' ;
  266. TABTNR.'ANA'. 3 = CHAI 'PASAPAS' ;
  267. TABTNR.'ANA'. 4 = CHAI 'PASAPAS' ;
  268.  
  269. TABTNR.'DESC' = TABL ;
  270. TABTNR.'DESC'. 1 = CHAI 'max(F)' ;
  271. TABTNR.'DESC'. 2 = CHAI 'min(F)' ;
  272. TABTNR.'DESC'. 3 = CHAI 'max(F)' ;
  273. TABTNR.'DESC'. 4 = CHAI 'min(F)' ;
  274.  
  275. TABTNR.'NOMS' = TABL ;
  276. TABTNR.'NOMS' . 1 = 'CHAI' 'fmax1 ' ;
  277. TABTNR.'NOMS' . 2 = 'CHAI' 'fmin1 ' ;
  278. TABTNR.'NOMS' . 3 = 'CHAI' 'fmax2 ' ;
  279. TABTNR.'NOMS' . 4 = 'CHAI' 'fmin2 ' ;
  280.  
  281. TABTNR.'CAL' = PROG fmax1 fmin1 fmax2 fmin2;
  282.  
  283. TABTNR.'REF' = PROG gmax1 gmin1 gmax2 gmin2;
  284.  
  285. TABTNR.'TOL' = PROG 4*1.E-2;
  286.  
  287. OPTI ECHO 0 ;
  288. error = 0 ;
  289. FORMA1 = '(1PE12.5)' ;
  290. FORMA2 = '(1PE10.0)' ;
  291. MESS '###_DEBUT_DES_TESTS_DE_NON-REGRESSION_###' ;
  292. MESS (CHAI 'ANALYSE : VARIABLE : DESCRIPTION : VALEUR REF. :'
  293. ' VALEUR CALC. : ERR. RELAT. : TOLERANCE : ETAT') ;
  294. REPE BOU1 (DIME TABTNR.'NOMS') ;
  295. ana = CHAI TABTNR.'ANA'. &BOU1 ;
  296. nom = CHAI TABTNR. 'NOMS' . &BOU1 ;
  297. des = CHAI TABTNR. 'DESC' . &BOU1 ;
  298. ref = EXTR TABTNR.'REF' &BOU1 ;
  299. cal = EXTR TABTNR.'CAL' &BOU1 ;
  300. tol = EXTR TABTNR.'TOL' &BOU1 ;
  301. err = ABS (cal - ref) ;
  302. SI ((ABS ref) '>EG' 1.E-10) ;
  303. err = err / (ABS (ref)) ;
  304. FINSI ;
  305. SI (err '>EG' tol) ;
  306. error = error + 1 ;
  307. etat = CHAI ERREUR ;
  308. SINON ;
  309. etat = CHAI 'OK' ;
  310. FINSI ;
  311. MESS (CHAI ana ' : '
  312. nom ' : '
  313. des ' : '
  314. FORMAT FORMA1 ref ' : '
  315. FORMAT FORMA1 cal ' : '
  316. FORMAT FORMA1 err ' : '
  317. FORMAT FORMA2 tol ' : '
  318. etat) ;
  319. FIN BOU1 ;
  320. *
  321. ******************
  322. * Emission de la banniere de fin de TEST
  323. ******************
  324. *
  325. * opti DONN 5 ECHO 1 'TRAC' X;
  326. MESS '###_FIN_DES_TESTS_DE_NON-REGRESSION_###' ;
  327. TEMPS ;
  328. SI (error '>' 0) ;
  329. MESS 'Il y a ' error ' erreur(s) !' ;
  330. ERRE 5 ;
  331. SINON ;
  332. MESS 'Aucun probleme detecte !' ;
  333. FINSI ;
  334. *
  335.  
  336. FIN ;
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  

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