Télécharger bili_moy.procedur

Retour à la liste

Numérotation des lignes :

  1. * BILI_MOY PROCEDUR FANDEUR 14/10/10 21:15:02 8178
  2. *
  3. debproc BILI_MOY 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 'EELA')); EELA=model.'EELA';
  14. 'SINON'; lok=faux; 'MESS' 'EELA n"est pas dans model';
  15. 'FINSI';
  16. 'SI' (lok 'ET' ('EXISTE' model 'EAYI')); EAYI=model.'EAYI';
  17. 'SINON'; lok=faux; 'MESS' 'EAYI n"est pas dans model';
  18. 'FINSI';
  19. 'SI' (lok 'ET' ('EXISTE' model 'YMOM')); YMOM=model.'YMOM';
  20. 'SINON'; lok=faux; 'MESS' 'YMOM n"est pas dans model';
  21. 'FINSI';
  22. 'SI' (lok 'ET' ('EXISTE' model 'INRY')); INRY=model.'INRY';
  23. 'SINON'; lok=faux; 'MESS' 'INRY 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. rotaz='EXCO' (0*xx) 'SCAL' 'NOID' 'RZ';
  43. chnul=deplx + deply + rotax + rotaz;
  44. *
  45. * modele
  46. *
  47. mo = mode d1 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'BILIN_MOMY' ELEN;
  48. ma = mate mo 'YOUN' EELA 'NU' .2 'EAYI' EAYI 'YMOM' YMOM;
  49. ca = cara mo 'INRY' INRY 'SECT' 1. 'INRZ' 1. 'TORS' 1.;
  50. mc=ma et ca;
  51. *
  52. * initialisation
  53. *
  54. cin=0.; ccour=prog 0.; mmoy=prog 0.;
  55. var0=zero mo 'VARINTER';
  56. sig0=zero mo 'CONTRAIN';
  57. *
  58. * loop sur les branches;
  59. *
  60. nbran=0; x1x=prog 0. 1.;
  61. 'REPETER' lab1 nbcl;
  62. nbran=nbran+1;
  63. *
  64. * chargement
  65. *
  66. cfin='EXTR' cycle nbran; npts='EXTR' npass nbran;
  67. y1y ='PROG' cin cfin; dx=1./npts; xxx='PROG' 0. pas dx 1.;
  68. yyy='IPOL' xxx x1x y1y; coury='ENLE' 1 yyy;
  69. *
  70. * increment elastique
  71. *
  72. dtx=(cfin-cin)/npts;
  73. rotay='EXCO' (dtx*xx) 'SCAL' 'NOID' 'RY';
  74. deplz='EXCO' (((-0.5)*dtx)*xx) 'SCAL' 'NOID' 'UZ';
  75. depy=chnul + rotay + deplz;
  76. esig=epsi mo mc depy;
  77. *
  78. * loop charge
  79. *
  80. j=0; momy='PROG';
  81. 'REPETER' lab2 npts;
  82. j=j+1;
  83. sig var xxxx='ECOULE' mo sig0 var0 esig mc;
  84. *
  85. ssig='CHAN' 'CHPO' mo sig; momo='EXTR' ssig 'MOMY' p1;
  86. momy='INSE' momy j momo;
  87. *
  88. var0=var; sig0=sig;
  89. *
  90. 'FIN' lab2;
  91. *
  92. * fin loop
  93. *
  94. ccour=ccour 'ET' coury; mmoy=mmoy 'ET' momy;
  95. cin=cfin;
  96. 'MENAGE';
  97. 'FIN' lab1;
  98. 'FINSI';
  99. titre 'modele plastique BILIN_MOMY';
  100. courbe=evol manu 'Courbure' ccour 'Moment' mmoy;
  101. *
  102. 'FINPROC' courbe;
  103.  
  104.  
  105.  

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