Télécharger @b_tpo2d.procedur

Retour à la liste

Numérotation des lignes :

  1. * @B_TPO2D PROCEDUR AM 93/10/29 21:15:17 959
  2. *-------------------------------------------------
  3. ****** PROCEDURE @B_TPO2D ******
  4. *-------------------------------------------------
  5. *
  6. * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT
  7. * A DISPOSITION DE LA COMMUNAUTE CASTEM2000
  8. * PAR Miguel A. Bretones UPC Barcelona
  9. *
  10. *-------------------------------------------------
  11. 'DEBPROC' @B_TPO2D TENS1*MCHAML MOD1*MMODEL FESC/FLOTTANT ;
  12. IDIM = 'VALE' DIME ;
  13. 'SI' (IDIM 'NEG' 2) ;
  14. 'MESS' 'Esta procedure solo trabaja en 2 dimensiones' ;
  15. 'QUIT' B_TPO2D ;
  16. 'FINSI' ;
  17. MALL1 = 'EXTR' TENS1 'MAIL' ;
  18. TEPR1 = 'PRIN' TENS1 MOD1 ;
  19. SIG11 = 'EXCO' TEPR1 'SI11' 'SCAL' ;
  20. SIG22 = 'EXCO' TEPR1 'SI22' 'SCAL' ;
  21. TENS2 = 'CHAN' 'CHPO' TENS1 MOD1 ;
  22. SIG1 = 'CHAN' 'CHPO' SIG11 MOD1 ;
  23. SIG2 = 'CHAN' 'CHPO' SIG22 MOD1 ;
  24. SX = 'EXCO' TENS2 'SMXX' 'SCAL' ;
  25. SY = 'EXCO' TENS2 'SMYY' 'SCAL' ;
  26. TXY = 'EXCO' TENS2 'SMXY' 'SCAL' ;
  27. MALL2 = 'CHAN' MALL1 'POI1' ;
  28. NPUN = 'NBNO' MALL2 ;
  29. CHA1T1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  30. CHA1C1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  31. CHA2T1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  32. CHA2C1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  33. 'DETR' TEPR1 ; 'DETR' SIG11 ; 'DETR' SIG22 ; 'DETR' TENS2 ;
  34. IPUN = 0 ;
  35. 'REPETER' BUCL1 NPUN ;
  36. IPUN = IPUN + 1 ;
  37. APUN = MALL2 'POIN' IPUN ;
  38. SXP = 'EXTR' SX 'SCAL' APUN ;
  39. SYP = 'EXTR' SY 'SCAL' APUN ;
  40. TXYP = 'EXTR' TXY 'SCAL' APUN ;
  41. SIG1P = 'EXTR' SIG1 'SCAL' APUN ;
  42. SIG2P = 'EXTR' SIG2 'SCAL' APUN ;
  43. 'SI' ((ABS ((SIG1P * SIG2P) - (SXP *SYP))) <EG 1.E-5) ;
  44. MESS 'Indefinicion del angulo en el punto' ipun ;
  45. ALFA = 0. ;
  46. 'SINON' ;
  47. ALFA = (ATG(2 * TXYP / (SXP - SYP))) / 2. ;
  48. 'FINSI' ;
  49. 'SI' (SIG1P >EG 0) ;
  50. CHA1T1 = CHA1T1 ET ('MANU' 'CHPO' APUN 2
  51. 'VX' ((COS (ALFA)) * SIG1P)
  52. 'VY' ((SIN (ALFA)) * SIG1P)) ;
  53. 'SINON' ;
  54. CHA1C1 = CHA1C1 ET ('MANU' 'CHPO' APUN 2
  55. 'VX' ((COS (ALFA)) * SIG1P)
  56. 'VY' ((SIN (ALFA)) * SIG1P)) ;
  57. 'FINSI' ;
  58.  
  59. 'SI' (SIG2P >EG 0) ;
  60. CHA2T1 = CHA2T1 ET ('MANU' 'CHPO' APUN 2
  61. 'VX' ((COS (ALFA + 90)) * SIG2P)
  62. 'VY' ((SIN (ALFA + 90)) * SIG2P)) ;
  63. 'SINON' ;
  64. CHA2C1 = CHA2C1 ET ('MANU' 'CHPO' APUN 2
  65. 'VX' ((COS (ALFA + 90)) * SIG2P)
  66. 'VY' ((SIN (ALFA + 90)) * SIG2P)) ;
  67. 'FINSI' ;
  68. 'FIN' BUCL1 ;
  69. CHA1T2 = (-1.) * CHA1T1 ;
  70. CHA1C2 = (-1.) * CHA1C1 ;
  71. CHA2T2 = (-1.) * CHA2T1 ;
  72. CHA2C2 = (-1.) * CHA2C1 ;
  73. FLAGESC = 0 ;
  74. 'SI' (('NON' ('EXISTE' FESC)) 'OU' (FESC <EG 0)) ;
  75. 'SI' ('NON' ('EXISTE' FESC)) ;
  76. FLAGESC = 1 ;
  77. 'FINSI' ;
  78. PTOEXT = MALL2 'POIN' 'PROC' (500 500) ;
  79. TAMC = (((PTOEXT 'COOR' 1)**2.) + ((PTOEXT 'COOR' 2)**2.))**0.5 ;
  80. MAXT = MAXI ABS (PROG (MAXI ABS CHA1T1) (MAXI ABS CHA2T1)
  81. (MAXI ABS CHA1C1) (MAXI ABS CHA2C1)) ;
  82. FESC = TAMC * 0.5 / MAXT ;
  83. MESS 'Factor de escala empleado' FESC ;
  84. 'FINSI' ;
  85. 'REPETER' BUCL2 ;
  86. VVEC1 = ('VECT' CHA1T1 FESC 'VX' 'VY' ROUG) ET
  87. ('VECT' CHA1T2 FESC 'VX' 'VY' ROUG) ;
  88. VVEC2 = ('VECT' CHA1C1 FESC 'VX' 'VY' VERT) ET
  89. ('VECT' CHA1C2 FESC 'VX' 'VY' VERT) ;
  90. VVEC3 = ('VECT' CHA2T1 FESC 'VX' 'VY' ROUG) ET
  91. ('VECT' CHA2T2 FESC 'VX' 'VY' ROUG) ;
  92. VVEC4 = ('VECT' CHA2C1 FESC 'VX' 'VY' VERT) ET
  93. ('VECT' CHA2C2 FESC 'VX' 'VY' VERT) ;
  94. 'TITRE' 'Tensiones Principales S11 ' ;
  95. 'TRAC' MALL1 (VVEC1 'ET' VVEC2) ;
  96. 'TITRE' 'Tensiones Principales S22 ' ;
  97. 'TRAC' MALL1 (VVEC3 'ET' VVEC4) ;
  98. 'TITRE' 'Tensiones Principales' ;
  99. 'TRAC' MALL1 (VVEC1 'ET' VVEC2 'ET' VVEC3 'ET' VVEC4) ;
  100. 'SI' (FLAGESC > 0) ;
  101. 'MESS' 'Desea cambiar la escala (S/N)' ;
  102. 'SI' ((LOG1 = 'EGA' RESP 'S') OU (LOG2 = 'EGA' RESP 's')) ;
  103. 'MESS' 'Introduzca el nuevo factor de escala' ;
  104. 'OBTE' FESC ;
  105. 'SINON' ;
  106. 'QUIT' BUCL2 ;
  107. 'FINSI' ;
  108. 'SINON' ;
  109. 'QUIT' BUCL2 ;
  110. 'FINSI' ;
  111. 'FIN' BUCL2 ;
  112. 'FINPROC' ;
  113.  

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