Télécharger conpri.eso

Retour à la liste

Numérotation des lignes :

  1. C CONPRI SOURCE CB215821 16/04/21 21:16:00 8920
  2. SUBROUTINE CONPRI (SIG0,CPHI0,SPHI0,SIGF,CPHIF,SPHIF)
  3. C Calcul des contraintes principales et de la direction associee
  4. C a la premiere
  5. C 27/06/95
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. C Include contenant quelques constantes dont XPI :
  9. -INC CCREEL
  10. C
  11. C=================================================================
  12. C
  13. C ENTREES:
  14. C --------
  15. C
  16. C SIG0 : Matrice de contraintes non diagonale
  17. C CPHI0 : Cos et sin de l'angle definissant les directions de la matrice
  18. C SPHI0 precedente
  19. C
  20. C SORTIES:
  21. C --------
  22. C
  23. C SIGF : Contraintes principales
  24. C CPHIF : Nouvelle valeur de la tangente
  25. C SPHIF
  26. C================================================================
  27. C
  28. DIMENSION SIG0(4), SIGF(2) , DSIG (4)
  29. PARAMETER ( EPSILO = 1.d-8, EPSIL2=1.D-6, UNDEMI = 0.5D0)
  30. C
  31. C Matrice de passage
  32. C
  33. DSIG(1) = (CPHI0**2)*SIG0(1) + (SPHI0**2)*SIG0(2)
  34. & -(2.D0*CPHI0*SPHI0)*SIG0(4)
  35. DSIG(2) = (SPHI0**2)*SIG0(1) + (CPHI0**2)*SIG0(2)
  36. & +(2.D0*CPHI0*SPHI0)*SIG0(4)
  37. DSIG(4) = (SPHI0*CPHI0)*(SIG0(1)-SIG0(2))
  38. & +(CPHI0**2-SPHI0**2)*SIG0(4)
  39. C
  40. C Nouvel angle
  41. C
  42. IF (ABS(DSIG(2) - DSIG(1)).GT.EPSILO) THEN
  43. TG2PHI = -2.D0*DSIG(4)/(DSIG(1) - DSIG(2))
  44. XDPHI = UNDEMI*ATAN(TG2PHI)
  45. CDPHI = COS(XDPHI)
  46. SDPHI = SIN(XDPHI)
  47. ELSE
  48. IF (ABS(DSIG(4)).LT.EPSILO) THEN
  49. XDPHI = 0.D0
  50. CDPHI = COS(XDPHI)
  51. SDPHI = SIN(XDPHI)
  52. ELSE
  53. XDPHI = SIGN ((XPI/4.D0), DSIG(4)*(DSIG(1)-DSIG(2)))
  54. CDPHI = SQRT(2.D0)/2.D0
  55. SDPHI = SIGN (CDPHI, DSIG(4)*(DSIG(1)-DSIG(2)))
  56. ENDIF
  57. ENDIF
  58. C
  59. CPHIF = CPHI0*CDPHI - SPHI0*SDPHI
  60. SPHIF = CPHI0*SDPHI + SPHI0*CDPHI
  61. C
  62. C Nouvelles contraintes principales
  63. C
  64. SIGF(1) = (CPHIF**2)*SIG0(1) + (SPHIF**2)*SIG0(2)
  65. & - (2.D0*CPHIF*SPHIF)*SIG0(4)
  66. SIGF(2) = (SPHIF**2)*SIG0(1) + (CPHIF**2)*SIG0(2)
  67. & + (2.D0*CPHIF*SPHIF)*SIG0(4)
  68. XTEST = (SPHIF*CPHIF)*(SIG0(1)-SIG0(2))
  69. & +(CPHIF**2-SPHIF**2)*SIG0(4)
  70. IF (ABS(XTEST)/(ABS(SIGF(1))+ABS(SIGF(2))+1).GT.EPSIL2)THEN
  71. WRITE(6,*)'CONPRI : hell and damnation!'
  72. ENDIF
  73. C
  74. C Fin
  75. C
  76. RETURN
  77. END
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  

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