Télécharger rglob.eso

Retour à la liste

Numérotation des lignes :

rglob
  1. C RGLOB SOURCE OF166741 23/11/13 21:15:03 11783
  2.  
  3. SUBROUTINE RGLOB(VALVEC,IDIM,TXR,XLOC,XGLOB,IFOUR)
  4.  
  5. C=======================================================================
  6. C
  7. C CALCUL DES COS.DIR. DES AXES D'ORTHO./AXES GLOBAUXC ENTREES
  8. C
  9. C ENTREES :
  10. C
  11. C VALVEC = TABLEAU DES COS.DIR. DES AXES D'ORTHO./AXES LOCAUX
  12. C IDIM = DEFINI SI ON EST EN 2D OU 3D
  13. C TXR = COS-DIRECTEURS DES AXES LOCAUX / REPERE GLOBAL
  14. C XLOC = TABLEAU DE TRAVAIL
  15. C
  16. C SORITES
  17. C
  18. C XGLOB = TABLEAU DES COS.DIR. DES AXES D'ORTHO./AXES GLOBAUX
  19. C
  20. C=======================================================================
  21. C
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. C
  25. C TXR(IDIM,IDIM), XLOC(3,3), XGLOB(3,3)
  26. DIMENSION VALVEC(*),TXR(IDIM,*),XLOC(3,*),XGLOB(3,*)
  27. C
  28. CALL ZERO(XGLOB,3,3)
  29. C
  30. IF(IDIM.EQ.2.AND.IFOUR.NE.1) THEN
  31. IDIM2=2
  32. XLOC(1,1)=VALVEC(1)
  33. XLOC(2,1)=VALVEC(2)
  34. XLOC(1,2)=-XLOC(2,1)
  35. XLOC(2,2)=XLOC(1,1)
  36. XN=XLOC(1,1)*XLOC(1,1)+XLOC(2,1)*XLOC(2,1)
  37. IF(XN.EQ.0.D0)THEN
  38. CALL ERREUR(277)
  39. RETURN
  40. ENDIF
  41. ELSE
  42. IDIM2=3
  43. XLOC(1,1)=VALVEC(1)
  44. XLOC(2,1)=VALVEC(2)
  45. XLOC(3,1)=VALVEC(3)
  46. XLOC(1,2)=VALVEC(4)
  47. XLOC(2,2)=VALVEC(5)
  48. XLOC(3,2)=VALVEC(6)
  49. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  50. IF(IRR.EQ.0)THEN
  51. CALL ERREUR(277)
  52. RETURN
  53. ENDIF
  54. ENDIF
  55. C
  56. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  57. C
  58. DO K=1,IDIM2
  59. DO J=1,IDIM
  60. DO I=1,IDIM
  61. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  62. ENDDO
  63. ENDDO
  64. ENDDO
  65. IF (IFOUR.EQ.1) THEN
  66. XGLOB(3,1)=XLOC(3,1)
  67. XGLOB(3,2)=XLOC(3,2)
  68. XGLOB(3,3)=XLOC(3,3)
  69. ENDIF
  70.  
  71. C RETURN
  72. END
  73.  
  74.  
  75.  

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