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

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