Télécharger chrep3.eso

Retour à la liste

Numérotation des lignes :

chrep3
  1. C CHREP3 SOURCE CHAT 05/01/12 22:01:54 5004
  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 1045 K=1,3
  53. DO 1045 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. *
  58. DO 1050 IC=1,3
  59. DO 1050 IL=1,3
  60. ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)
  61. 1050 CONTINUE
  62. C
  63. DO 1060 IL=1,3
  64. ROTS(IL,4)=FAC2*XGLOB(IL,1)*XGLOB(IL,2)
  65. ROTS(IL,5)=FAC2*XGLOB(IL,2)*XGLOB(IL,3)
  66. ROTS(IL,6)=FAC2*XGLOB(IL,1)*XGLOB(IL,3)
  67. 1060 CONTINUE
  68. C
  69. DO 1065 IC=1,3
  70. ROTS(4,IC)=FAC1*XGLOB(1,IC)*XGLOB(2,IC)
  71. ROTS(5,IC)=FAC1*XGLOB(2,IC)*XGLOB(3,IC)
  72. ROTS(6,IC)=FAC1*XGLOB(1,IC)*XGLOB(3,IC)
  73. 1065 CONTINUE
  74. C
  75. DO 1070 IL=4,6
  76. IL1=IL-3
  77. IL2=IL1+1
  78. IF(IL2.GT.3)IL2=IL2-3
  79. DO 1070 IC=4,6
  80. IC1=IC-3
  81. IC2=IC1+1
  82. IF(IC2.GT.3)IC2=IC2-3
  83. ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+
  84. . XGLOB(IL1,IC2)*XGLOB(IL2,IC1)
  85. 1070 CONTINUE
  86. DO 1075 IC=1,6
  87. AA=ROTS(6,IC)
  88. ROTS(6,IC)=ROTS(5,IC)
  89. ROTS(5,IC)=AA
  90. 1075 CONTINUE
  91. DO 1080 IL=1,6
  92. AA=ROTS(IL,6)
  93. ROTS(IL,6)=ROTS(IL,5)
  94. ROTS(IL,5)=AA
  95. 1080 CONTINUE
  96. *
  97. * CHGT D'AXES
  98. *
  99. DO 1090 I=1,6
  100. SOR(I)=0.D0
  101. DO 1090 J=1,6
  102. SOR(I)= SOR(I) +ROTS(I,J)*ENT(J)
  103. 1090 CONTINUE
  104. *
  105. RETURN
  106. END
  107.  
  108.  
  109.  
  110.  

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