Télécharger bili_efz.procedur

Retour à la liste

Numérotation des lignes :

  1. * BILI_EFZ PROCEDUR FANDEUR 14/10/10 21:15:02 8178
  2. *
  3. debproc BILI_EFZ cycle*'LISTREEL' npass*'LISTENTI' model*'TABLE';
  4. *
  5. * verification elementaire
  6. *
  7. lok=vrai;
  8. nbcl='DIME' cycle;
  9. 'SI' (('DIME' npass) 'NEG' nbcl);
  10. lok=faux;
  11. 'MESS' 'cycle et pas n"ont pas la meme longueur';
  12. 'FINSI';
  13. 'SI' (lok 'ET' ('EXISTE' model 'GELA')); GELA=model.'GELA';
  14. 'SINON'; lok=faux; 'MESS' 'GELA n"est pas dans model';
  15. 'FINSI';
  16. 'SI' (lok 'ET' ('EXISTE' model 'GAYI')); GAYI=model.'GAYI';
  17. 'SINON'; lok=faux; 'MESS' 'GAYI n"est pas dans model';
  18. 'FINSI';
  19. 'SI' (lok 'ET' ('EXISTE' model 'YEFF')); YEFF=model.'YEFF';
  20. 'SINON'; lok=faux; 'MESS' 'YEFF n"est pas dans model';
  21. 'FINSI';
  22. 'SI' (lok 'ET' ('EXISTE' model 'SECZ')); SECZ=model.'SECZ';
  23. 'SINON'; lok=faux; 'MESS' 'SECZ n"est pas dans model';
  24. 'FINSI';
  25. *
  26. 'SI' (lok 'ET' ('EXISTE' model 'ELEN')); ELEN=model.'ELEN';
  27. 'SINON'; ELEN='TIMO'; 'MESS' 'ELEN est pris egal a TIMO';
  28. 'FINSI';
  29. *
  30. 'SI' lok;
  31. *
  32. * maillage de 1 element
  33. *
  34. p1=0 0 0; p2=1 0 0;d1=p1 d 1 p2;
  35. *
  36. * champs nuls
  37. *
  38. xx yy zz='COOR' d1;
  39. deplx='EXCO' (0*xx) 'SCAL' 'NOID' 'UX';
  40. deply='EXCO' (0*xx) 'SCAL' 'NOID' 'UY';
  41. rotax='EXCO' (0*xx) 'SCAL' 'NOID' 'RX';
  42. rotay='EXCO' (0*xx) 'SCAL' 'NOID' 'RY';
  43. rotaz='EXCO' (0*xx) 'SCAL' 'NOID' 'RZ';
  44. chnul=deplx + deply + rotax + rotay + rotaz;
  45. *
  46. * modele
  47. *
  48. xnu=.2;
  49. EELA=GELA*2*(1+xnu);
  50. EAYI=GAYI*2*(1+xnu);
  51. *
  52. mo = mode d1 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'BILIN_EFFZ' ELEN;
  53. ma = mate mo 'YOUN' EELA 'NU' xnu 'EAYI' EAYI 'YEFF' YEFF;
  54. ca = cara mo 'INRY' 1. 'SECZ' SECZ 'SECT' 1. 'INRZ' 1. 'TORS' 1.;
  55. mc=ma et ca;
  56. *
  57. * initialisation
  58. *
  59. cin=0.; ccour=prog 0.; mmoy=prog 0.;
  60. var0=zero mo 'VARINTER';
  61. sig0=zero mo 'CONTRAIN';
  62. *
  63. * loop sur les branches;
  64. *
  65. nbran=0; x1x=prog 0. 1.;
  66. 'REPETER' lab1 nbcl;
  67. nbran=nbran+1;
  68. *
  69. * chargement
  70. *
  71. cfin='EXTR' cycle nbran; npts='EXTR' npass nbran;
  72. y1y ='PROG' cin cfin; dx=1./npts; xxx='PROG' 0. pas dx 1.;
  73. yyy='IPOL' xxx x1x y1y; coury='ENLE' 1 yyy;
  74. *
  75. * increment elastique
  76. *
  77. dtx=(cfin-cin)/npts;
  78. deplz='EXCO' (dtx*xx) 'SCAL' 'NOID' 'UZ';
  79. depy=chnul + deplz;
  80. esig=epsi mo mc depy;
  81. *
  82. * loop charge
  83. *
  84. j=0; momy='PROG';
  85. 'REPETER' lab2 npts;
  86. j=j+1;
  87. sig var xxxx='ECOULE' mo sig0 var0 esig mc;
  88. *
  89. ssig='CHAN' 'CHPO' mo sig; momo='EXTR' ssig 'EFFZ' p1;
  90. momy='INSE' momy j momo;
  91. *
  92. var0=var; sig0=sig;
  93. *
  94. 'FIN' lab2;
  95. *
  96. * fin loop
  97. *
  98. ccour=ccour 'ET' coury; mmoy=mmoy 'ET' momy;
  99. cin=cfin;
  100. 'MENAGE';
  101. 'FIN' lab1;
  102. 'FINSI';
  103. *
  104. titre 'modele plastique BILIN_EFFZ';
  105. courbe=evol manu 'Shear Def.' ccour 'Shear Force' mmoy;
  106. *
  107. 'FINPROC' courbe;
  108.  
  109.  
  110.  

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