Télécharger xyzdia.eso

Retour à la liste

Numérotation des lignes :

xyzdia
  1. C XYZDIA SOURCE CHAT 05/01/13 04:16:02 5004
  2. SUBROUTINE XYZDIA(DSIGP,SIGEL,W1,W2,A,B,C,D,ITYP,VECPRO)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. DIMENSION DSIGP(*),SIGEL(*),W1(*),W2(*),VECPRO(*)
  6. C DIAGONALISATION DE 2 TENSEURS CONTRAINTES
  7. GO TO (60,61,61,63,64,65,66,66,68,69,70,71,65),ITYP
  8. 71 CONTINUE
  9. C TUYAUX
  10. GO TO 640
  11. 70 CONTINUE
  12. C POUTRES
  13. GO TO 640
  14. 69 CONTINUE
  15. GO TO 640
  16. 68 CONTINUE
  17. GO TO 640
  18. 66 CONTINUE
  19. C COQUE OU MEMBRANE A NU =0
  20. C OU EN CONT PLANES
  21. GO TO 640
  22. 65 CONTINUE
  23. C CONTRAINTES PLANES
  24. GO TO 615
  25. 64 CONTINUE
  26. C MATER QUELCONQUE
  27. C DIAGONALISATION
  28. DO 6403 IB=1,3
  29. W1(IB)=0.
  30. W2(IB)=0.
  31. DO 6404 IC=1,3
  32. IP=3*(IB-1)+IC
  33. W1(IB)=W1(IB)+VECPRO(IP)*SIGEL(IC)
  34. 6404 W2(IB)=W2(IB)+VECPRO(IP)*DSIGP(IC)
  35. 6403 CONTINUE
  36. DO 6405 IB=1,3
  37. SIGEL(IB)=W1(IB)
  38. 6405 DSIGP(IB)=W2(IB)
  39. GO TO 640
  40. 61 CONTINUE
  41. 615 CONTINUE
  42. B1=B
  43. B2=B
  44. IBO=2
  45. IF(ITYP.EQ.3.OR.ITYP.EQ.6) IBO=1
  46. DO 613 IK=1,IBO
  47. IP=(IK-1)*3
  48. W1(1)=SIGEL(IP+1)
  49. W2(1)=DSIGP(IP+1)
  50. SIGEL(IP+1)= B1*W1(1)+B2*SIGEL(IP+2)
  51. SIGEL(IP+2)=-B2*W1(1)+B1*SIGEL(IP+2)
  52. DSIGP(IP+1)= B1*W2(1)+B2*DSIGP(IP+2)
  53. DSIGP(IP+2)=-B2*W2(1)+B1*DSIGP(IP+2)
  54. 613 CONTINUE
  55. GO TO 640
  56. 63 CONTINUE
  57. GO TO 640
  58. 60 CONTINUE
  59. X=0.
  60. Y=0.
  61. DO 8 IB=1,3
  62. X=X+SIGEL(IB)
  63. Y=Y+DSIGP(IB)
  64. W1(IB)=SIGEL(IB)
  65. 8 W2(IB)=DSIGP(IB)
  66. SIGEL(1)=A*X
  67. DSIGP(1)=A*Y
  68. SIGEL(2)=B*(W1(1)-W1(2))
  69. DSIGP(2)=B*(W2(1)-W2(2))
  70. SIGEL(3)=C*(W1(1)+W1(2))+D*W1(3)
  71. DSIGP(3)=C*(W2(1)+W2(2))+D*W2(3)
  72. 640 CONTINUE
  73. RETURN
  74. END
  75.  
  76.  

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