Télécharger dynacontact.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dynacontact.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. graph=FAUX; opti trac PSC EPTR 5;
  6. complet = faux;
  7. opti dime 2 elem qua4 mode plan defo;
  8.  
  9.  
  10. **** maillage, modele et matrices *****
  11.  
  12. p1= 0 0.000015 ; p2 = 1 0.000015 ;
  13. co= p1 droi 2 p2;l1= co;
  14. p3 = 1 1 ; co = co droi 2 p3;
  15. p4 = 4 1 ; co = co droi 6 p4;
  16. p5 = 4 0.002 ; co = co droi 2 p5;
  17. p6 = 5 0.002; l2= p5 droi 2 p6;co = co et l2;
  18. p7= 5 1.1; co = co droi 2 p7;
  19. p8= 0 1.1 ; co = co droi 10 p8 droi 2 p1;
  20. su = surf co;
  21. si graph; trac su 'TITR' 'maillage su'; finsi;
  22.  
  23. mo = model su mecanique elastique ;
  24. ma = mo mate youn 2e11 nu 0.3 rho 7800;
  25. ri = rigi mo ma;
  26. m = mass mo ma;
  27.  
  28. vi= manu chpo su 1 'UY' -1.;
  29. si graph; trac vi su 'TITR' 'maillage su VY(t=0)'; finsi;
  30.  
  31. si complet ;tfin= 5.E-3;sinon; tfin=1.e-3;finsi;
  32. bl1 = bloqu mini 'UY' l1 ;
  33. bl2= bloqu mini 'UY' l2;
  34. fbl1= depi bl1 -0.000015;
  35. fbl2= depi bl2 -0.002;
  36. evt = evol manu 'temps' ( prog 0. 1.) 'coef' (prog 1. 1.);
  37. cha1= char 'DIMP' (fbl1 et fbl2) evt;
  38. LIS1 = PROG 0. PAS 1.E-5 tfin ;
  39.  
  40.  
  41. **** appel a dynamic (schema de Newmark acceleration moyenne) *****
  42.  
  43. TAB2 = TABLE ;
  44. TAB2.'DEPL' = MANU CHPO SU 2 UX 0. UY 0. ;
  45. TAB2.'VITE' = vi;
  46. * TAB2.'ACCE' = MANU CHPO SU 2 UX 0. UY 0. ;
  47. TAB2.'CHAR' = CHA1 ;
  48. TAB2.'RIGI' = RI et bl1 et bl2 ;
  49. TAB2.'MASS' = M ;
  50. flnew= faux ;
  51. si (flnew);
  52. TAB2. 'TEMPS_CALCULES' = LIS1;
  53. TAB2.'PAS_SAUVES' = mot 'TOUS';
  54. sinon;
  55. TAB2.'FREQ' = 25000.;
  56. TAB2.'INST' = LIS1 ;
  57. finsi;
  58. TAB2.'SORT'=su;
  59. * TAB2.'VITEUNIL'= FAUX;
  60.  
  61. TAB1 = DYNAMIC TAB2 ;
  62.  
  63.  
  64. **** appel a dynamic (schema HHT) *****
  65.  
  66. TAB2H = TABLE ;
  67. TAB2H.'DEPL' = MANU CHPO SU 2 UX 0. UY 0. ;
  68. TAB2H.'VITE' = vi;
  69. * TAB2H.'ACCE' = MANU CHPO SU 2 UX 0. UY 0. ;
  70. TAB2H.'CHAR' = CHA1 ;
  71. TAB2H.'RIGI' = RI et bl1 et bl2 ;
  72. TAB2H.'MASS' = M ;
  73. flnew= faux ;
  74. si (flnew);
  75. TAB2H. 'TEMPS_CALCULES' = LIS1;
  76. TAB2H.'PAS_SAUVES' = mot 'TOUS';
  77. sinon;
  78. TAB2H.'FREQ' = 25000.;
  79. TAB2H.'INST' = LIS1 ;
  80. finsi;
  81. TAB2H.'SORT'=su;
  82. * TAB2H.'VITEUNIL'= FAUX;
  83. TAB2H . 'ALPHA_F' = 0.3;
  84.  
  85. TAB1H = DYNAMIC TAB2H ;
  86.  
  87.  
  88. **** appel a dynamic (schema alpha-generalise) *****
  89.  
  90. TAB2A = TABLE ;
  91. TAB2A.'DEPL' = MANU CHPO SU 2 UX 0. UY 0. ;
  92. TAB2A.'VITE' = vi;
  93. * TAB2A.'ACCE' = MANU CHPO SU 2 UX 0. UY 0. ;
  94. TAB2A.'CHAR' = CHA1 ;
  95. TAB2A.'RIGI' = RI et bl1 et bl2 ;
  96. TAB2A.'MASS' = M ;
  97. flnew= faux ;
  98. si (flnew);
  99. TAB2A. 'TEMPS_CALCULES' = LIS1;
  100. TAB2A.'PAS_SAUVES' = mot 'TOUS';
  101. sinon;
  102. TAB2A.'FREQ' = 25000.;
  103. TAB2A.'INST' = LIS1 ;
  104. finsi;
  105. TAB2A.'SORT'=su;
  106. * TAB2A.'VITEUNIL'= FAUX;
  107. * TAB2A . 'RHO_INF' = 0.5;
  108. * TAB2A . 'RHO_INF' = 0.2;
  109. * TAB2A . 'RHO_INF' = 0.1;
  110. TAB2A . 'RHO_INF' = 0.;
  111.  
  112. TAB1A = DYNAMIC TAB2A ;
  113.  
  114.  
  115. **** appel a pasapas *****
  116.  
  117. tt= table;
  118. tt.'MODELE'= mo;
  119. tt.'DYNAMIQUE'= VRAI;
  120. tt.'CARACTERISTIQUES' = ma;
  121. tt.'VITESSES' = table;
  122. tt.'VITESSES' . 0 = vi;
  123. tt.chargement =cha1;
  124. tt.blocages_mecaniques = (bl1 et bl2);
  125. tt.TEMPS_calcules= prog 1.e-5 pas 1.e-5 tfin;
  126. tt.'IMPR'=vrai;
  127. tt.'HYPOTHESE_DEFORMATIONS' = 'LINEAIRE';
  128.  
  129.  
  130. ******** procedur de depouillement **************
  131.  
  132. debproc depo coev*flottant nb*entier ampdef*flottant;
  133.  
  134. na = ((dime tt.deplacements ) - 1) / nb;
  135.  
  136. repeter toto na;
  137.  
  138. * pas de temps traité
  139. titi = &toto - 1;
  140. tit = chai ' pas numero ' (titi * nb );
  141. titre tit;
  142. * resultats de dynamic
  143. dyde = tab1. (titi * nb + 1).'DEPL';
  144. dyvi = tab1. (titi * nb + 1).'VITE';
  145. dyviy = exco dyvi 'UY';
  146. dydef = defo su dyde ampdef rouge dyviy ;
  147. * resultats de pasapas
  148. pasvi = tt.deplacements.( titi * nb );
  149. vv = vect tt.reactions . (titi * nb ) coev 'FX' 'FY' vert;
  150. padef = defo su pasvi vv ampdef;
  151. * trace comparatif
  152. trac (dydef et padef);
  153.  
  154. fin toto;
  155.  
  156. finp depo;
  157.  
  158.  
  159. si ( graph ) ;
  160. depo 1.e-8 5 100.;
  161. finsi;
  162.  
  163.  
  164. **** comparaison du deplacement en P1 *****
  165. na = (dime tt.deplacements ) - 1;
  166.  
  167. uydyna = prog; tdyna = prog ;
  168. uyalph = prog;
  169. uyhht = prog;
  170. uypap = prog; tpap = prog ;
  171. i = 0;
  172. repe toto na; i = i + 1;
  173. * resultats de dynamic
  174. tdyna = tdyna et TAB1 . i . 'TEMP';
  175. uydyna = uydyna et (extr TAB1 . i . depl 'UY' p1);
  176. uyhht = uyhht et (extr TAB1H . i . depl 'UY' p1);
  177. uyalph = uyalph et (extr TAB1A . i . depl 'UY' p1);
  178. * resultats de pasapas
  179. tpap = tpap et tt . temps . i;
  180. uypap = uypap et (extr tt.deplacements . i 'UY' p1);
  181. fin toto;
  182.  
  183. evdyna = EVOL 'BLEU' 'MANU' 'LEGE' 'DYNAMIC' 't' tdyna 'UY' uydyna;
  184. evhht = EVOL 'ORAN' 'MANU' 'LEGE' 'HHT' 't' tdyna 'UY' uyhht;
  185. evalph = EVOL 'ROUG' 'MANU' 'LEGE' '\a-gen.' 't' tdyna 'UY' uyalph;
  186. evpap = EVOL 'VERT' 'MANU' 'LEGE' 'PASAPAS' 't' tpap 'UY' uypap;
  187. tdess = tabl;
  188. tdess . 2 = 'MARQ S TRIU';
  189. tdess . 3 = 'MARQ PLUS';
  190. tdess . 4 = 'TIRR';
  191. si graph;
  192. dess (evdyna et evhht et evalph et evpap)
  193. 'YBOR' -0.05E-3 0.5E-3 'YGRA' 0.05E-3 'LEGE' 'NO' tdess;
  194. finsi;
  195.  
  196. **** comparaison des derniers champs de deplacementrs *****
  197. pasvi=tt.deplacements. na;
  198. dyde=tab1. ( na + 1 ). 'DEPL';
  199. difde= pasvi - dyde;
  200. cri= maxi pasvi;
  201. crit = maxi difde / cri;
  202. si ( crit > 1.e-5);
  203. erreur 5;
  204. finsi;
  205.  
  206.  
  207. fin ;
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  

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