Télécharger takm_efz.procedur

Retour à la liste

Numérotation des lignes :

  1. * TAKM_EFZ PROCEDUR FANDEUR 14/10/10 21:15:24 8178
  2. *
  3. debproc TAKM_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 'SECZ')); SECZ=model.'SECZ';
  17. 'SINON'; lok=faux; 'MESS' 'SECZ n"est pas dans model';
  18. 'FINSI';
  19. *
  20. 'SI' (lok 'ET' ('EXISTE' model 'TRAC')); TTRAC=model.'TRAC';
  21. 'SINON'; lok=faux; 'MESS' 'TRAC n"est pas dans model';
  22. 'FINSI';
  23. 'SI' (lok 'ET' ('EXISTE' model 'SFDP')); SFDP=model.'SFDP';
  24. 'SINON'; lok=faux; 'MESS' 'SFDP n"est pas dans model';
  25. 'FINSI';
  26. 'SI' (lok 'ET' ('EXISTE' model 'SFDN')); SFDN=model.'SFDN';
  27. 'SINON'; SFDN=SFDP; 'MESS' 'SFDN est pris egal a SFDP';
  28. 'FINSI';
  29. 'SI' (lok 'ET' ('EXISTE' model 'PINP')); PINP=model.'PINP';
  30. 'SINON'; lok=faux; 'MESS' 'PINP n"est pas dans model';
  31. 'FINSI';
  32. 'SI' (lok 'ET' ('EXISTE' model 'PINN')); PINN=model.'PINN';
  33. 'SINON'; PINN=(-1)*PINP; 'MESS' 'PINN est pris egal a -PINP';
  34. 'FINSI';
  35. 'SI' (lok 'ET' ('EXISTE' model 'SRDP')); SRDP=model.'SRDP';
  36. 'SINON'; lok=faux; 'MESS' 'SRDP n"est pas dans model';
  37. 'FINSI';
  38. 'SI' (lok 'ET' ('EXISTE' model 'SRDN')); SRDN=model.'SRDN';
  39. 'SINON'; SRDN=SRDP; 'MESS' 'SRDN est pris egal a SRDP';
  40. 'FINSI';
  41. *
  42. 'SI' (lok 'ET' ('EXISTE' model 'ELEN')); ELEN=model.'ELEN';
  43. 'SINON'; ELEN='TIMO'; 'MESS' 'ELEN est pris egal a TIMO';
  44. 'FINSI';
  45. *
  46. 'SI' lok;
  47. *
  48. * maillage de 1 element
  49. *
  50. p1=0 0 0; p2=1 0 0;d1=p1 d 1 p2;
  51. *
  52. * champs nuls
  53. *
  54. xx yy zz='COOR' d1;
  55. deplx='EXCO' (0*xx) 'SCAL' 'NOID' 'UX';
  56. deply='EXCO' (0*xx) 'SCAL' 'NOID' 'UY';
  57. rotax='EXCO' (0*xx) 'SCAL' 'NOID' 'RX';
  58. rotay='EXCO' (0*xx) 'SCAL' 'NOID' 'RY';
  59. rotaz='EXCO' (0*xx) 'SCAL' 'NOID' 'RZ';
  60. chnul=deplx + deply + rotax + rotay + rotaz;
  61. *
  62. * modele
  63. *
  64. xnu=.2;
  65. EELA=GELA*2*(1+xnu);
  66. *
  67. mo = 'MODE' d1 mecanique elastique plastique takemo_effz ELEN;
  68. ma= 'MATE' mo 'YOUN' EELA 'NU' xnu 'TRAC' TTRAC 'SFDP' SFDP
  69. 'SFDN' SFDN 'PINP' PINP 'PINN' PINN 'SRDP' SRDP
  70. 'SRDN' SRDN;
  71. ca= 'CARA' mo 'INRY' 1. 'SECZ' SECZ 'SECT' 1. 'INRZ' 1. 'TORS' 1.;
  72. mc=ma et ca;
  73. *
  74. * initialisation
  75. *
  76. cin=0.; ccour=prog 0.; mmoy=prog 0.;
  77. var0=zero mo 'VARINTER';
  78. sig0=zero mo 'CONTRAIN';
  79. *
  80. * loop sur les branches;
  81. *
  82. nbran=0; x1x=prog 0. 1.;
  83. 'REPETER' lab1 nbcl;
  84. nbran=nbran+1;
  85. *
  86. * chargement
  87. *
  88. cfin='EXTR' cycle nbran; npts='EXTR' npass nbran;
  89. y1y ='PROG' cin cfin; dx=1./npts; xxx='PROG' 0. pas dx 1.;
  90. yyy='IPOL' xxx x1x y1y; coury='ENLE' 1 yyy;
  91. *
  92. * increment elastique
  93. *
  94. dtx=(cfin-cin)/npts;
  95. deplz='EXCO' (dtx*xx) 'SCAL' 'NOID' 'UZ';
  96. depy=chnul + deplz;
  97. esig=epsi mo mc depy;
  98. *
  99. * loop charge
  100. *
  101. j=0; momy='PROG';
  102. 'REPETER' lab2 npts;
  103. j=j+1;
  104. sig var xxxx='ECOULE' mo sig0 var0 esig mc;
  105. *
  106. ssig='CHAN' 'CHPO' mo sig; momo='EXTR' ssig 'EFFZ' p1;
  107. momy='INSE' momy j momo;
  108. *
  109. var0=var; sig0=sig;
  110. *
  111. 'FIN' lab2;
  112. *
  113. * fin loop
  114. *
  115. ccour=ccour 'ET' coury; mmoy=mmoy 'ET' momy;
  116. cin=cfin;
  117. 'MENAGE';
  118. 'FIN' lab1;
  119. 'FINSI';
  120. *
  121. titre 'modele plastique TAKEMO_EFFZ';
  122. courbe=evol manu 'Shear Def.' ccour 'Shear Force' mmoy;
  123. *
  124. 'FINPROC' courbe;
  125.  
  126.  
  127.  

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