Télécharger chrep3.eso

Retour à la liste

Numérotation des lignes :

chrep3
  1. C CHREP3 SOURCE CB215821 26/08/24 21:15:31 12622
  2. SUBROUTINE CHREP3(ENT,SOR,XMAT,TXR,NSTRS,ICLE,IND,KERRE)
  3. *
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6.  
  7. -INC PPARAM
  8. -INC CCOPTIO
  9. DIMENSION ENT(*),SOR(*),XMAT(*)
  10. DIMENSION ROTS(10,10),TXR(3,*)
  11. DIMENSION XLOC(3,3),XGLOB(3,3)
  12. PARAMETER(DEUX=2.D0)
  13.  
  14. C
  15. C----------------------------------------------
  16. C CETTE ROUTINE PERMET DE CHANGER DE REPERE
  17. C UN CHAMP DE CONTRAINTE (ICLE=1)
  18. C OU UN CHAMP DE DEFORMATION (ICLE=2)
  19. C d'apres CHREP
  20. C CAS MASSIF 3D
  21. C
  22. C
  23. C EN PRATIQUE, IL FAUDRAIT PLUTOT APPELER
  24. C LES SOUS PROGRAMMES UTILISES DANS RTENS
  25. C----------------------------------------------
  26. C
  27. IF(ICLE.EQ.1) THEN
  28. FAC1=1.D0
  29. FAC2=2.D0
  30. ELSE
  31. FAC1=2.D0
  32. FAC2=1.D0
  33. ENDIF
  34. *
  35. CALL ZERO(XGLOB,3,3)
  36. CALL ZERO(ROTS,10,10)
  37. *
  38. XLOC(1,1)=XMAT(3)
  39. IF(IND.EQ.1) THEN
  40. XLOC(2,1)=XMAT(4)
  41. XLOC(1,2)=XMAT(6)
  42. ELSE
  43. XLOC(2,1)=-XMAT(4)
  44. XLOC(1,2)=-XMAT(6)
  45. ENDIF
  46. XLOC(3,1)=XMAT(5)
  47. XLOC(2,2)=XMAT(7)
  48. XLOC(3,2)=XMAT(8)
  49. C
  50. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  51. *
  52. DO 1092 K=1,3
  53. DO 1091 J=1,3
  54. DO 1045 I=1,3
  55. XGLOB(K,J)=TXR(J,I)*XLOC(I,K)+XGLOB(K,J)
  56. 1045 CONTINUE
  57. 1091 CONTINUE
  58. 1092 CONTINUE
  59. *
  60. DO 1093 IC=1,3
  61. DO 1050 IL=1,3
  62. ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)
  63. 1050 CONTINUE
  64. 1093 CONTINUE
  65. C
  66. DO 1060 IL=1,3
  67. ROTS(IL,4)=FAC2*XGLOB(IL,1)*XGLOB(IL,2)
  68. ROTS(IL,5)=FAC2*XGLOB(IL,2)*XGLOB(IL,3)
  69. ROTS(IL,6)=FAC2*XGLOB(IL,1)*XGLOB(IL,3)
  70. 1060 CONTINUE
  71. C
  72. DO 1065 IC=1,3
  73. ROTS(4,IC)=FAC1*XGLOB(1,IC)*XGLOB(2,IC)
  74. ROTS(5,IC)=FAC1*XGLOB(2,IC)*XGLOB(3,IC)
  75. ROTS(6,IC)=FAC1*XGLOB(1,IC)*XGLOB(3,IC)
  76. 1065 CONTINUE
  77. C
  78. DO 1094 IL=4,6
  79. IL1=IL-3
  80. IL2=IL1+1
  81. IF(IL2.GT.3)IL2=IL2-3
  82. DO 1070 IC=4,6
  83. IC1=IC-3
  84. IC2=IC1+1
  85. IF(IC2.GT.3)IC2=IC2-3
  86. ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+
  87. . XGLOB(IL1,IC2)*XGLOB(IL2,IC1)
  88. 1070 CONTINUE
  89. 1094 CONTINUE
  90. DO 1075 IC=1,6
  91. AA=ROTS(6,IC)
  92. ROTS(6,IC)=ROTS(5,IC)
  93. ROTS(5,IC)=AA
  94. 1075 CONTINUE
  95. DO 1080 IL=1,6
  96. AA=ROTS(IL,6)
  97. ROTS(IL,6)=ROTS(IL,5)
  98. ROTS(IL,5)=AA
  99. 1080 CONTINUE
  100. *
  101. * CHGT D'AXES
  102. *
  103. DO 1095 I=1,6
  104. SOR(I)=0.D0
  105. DO 1090 J=1,6
  106. SOR(I)= SOR(I) +ROTS(I,J)*ENT(J)
  107. 1090 CONTINUE
  108. 1095 CONTINUE
  109. *
  110. RETURN
  111. END
  112.  
  113.  
  114.  
  115.  
  116.  

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