Télécharger chrep3.eso

Retour à la liste

Numérotation des lignes :

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

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