Télécharger ottvag.eso

Retour à la liste

Numérotation des lignes :

ottvag
  1. C OTTVAG SOURCE FD218221 21/06/10 21:15:50 11030
  2. SUBROUTINE OTTVAG(XX,SIG,VAR1,NVARI,SS1,NDEF,MCN,
  3. & XVAL,SS2,VV3,VAR2,KR2,QV1,QV2,QV3,PWX,
  4. & XC,PWY,MCO,MV,IERUT)
  5. *
  6. IMPLICIT INTEGER (I-N)
  7. IMPLICIT REAL*8 (A-H,O-Z)
  8. PARAMETER (TOL=1.D-7)
  9. DIMENSION XVAL(*),SS1(*),SIG(*),SS2(*)
  10. DIMENSION VAR1(*),VV3(*),PWX(*),PWY(*)
  11. DIMENSION DD(6,6),WO1(6),WO2(6),SS3(6)
  12. DIMENSION KR2(*),QV1(MCN,*),QV2(MCN,*),QV3(*)
  13. DIMENSION AA(10,10),BB(10),VAR2(*),XC(*)
  14. *
  15. IERUT=0
  16. YOUN = XVAL(1)
  17. XNU = XVAL(2)
  18. RTRAC = XVAL(3)
  19. GFTR = XVAL(4)
  20. CALL ZERO (PWY,MCN,1)
  21. CALL ZERO (AA,MCN,MCN)
  22. CALL ZERO (VV3,NVARI,1)
  23. CALL ZERO(DD,6,6)
  24. GKK = YOUN/3.D0/(1.D0-2.D0*XNU)
  25. GMU = YOUN/2.D0/(1.D0+XNU)
  26. DD(1,1) = GKK + 4.D0*GMU/3.D0
  27. DD(2,2) = DD(1,1)
  28. DD(3,3) = DD(1,1)
  29. DD(1,2) = GKK - 2.D0*GMU/3.D0
  30. DD(1,3) = DD(1,2)
  31. DD(2,3) = DD(1,2)
  32. DD(2,1) = DD(1,2)
  33. DD(3,1) = DD(1,2)
  34. DD(3,2) = DD(1,2)
  35. DD(4,4) = GMU
  36. IF(NDEF.GT.4) THEN
  37. DD(5,5) = GMU
  38. DD(6,6) = GMU
  39. ENDIF
  40. *
  41. DO 21 KV1=1,MCO
  42. KV0=KR2(KV1)
  43. BB(KV1)=PWX(KV0)
  44. DO IJ=1,NDEF
  45. WO1(IJ)=0.
  46. DO IK=1,NDEF
  47. WO1(IJ)=WO1(IJ)+DD(IJ,IK)*QV2(KV0,IK)
  48. ENDDO
  49. ENDDO
  50. DO 22 KW1=1,MCO
  51. KW0=KR2(KW1)
  52. AA(KW1,KV1)=0.
  53. DO IJ=1,NDEF
  54. AA(KW1,KV1)=AA(KW1,KV1)+QV1(KW0,IJ)*WO1(IJ)
  55. ENDDO
  56. 22 CONTINUE
  57. AA(KV1,KV1)=AA(KV1,KV1)+QV3(KV0)
  58. 21 CONTINUE
  59. CALL INVMA1(AA,MCN,MCO,KFG)
  60. IF(KFG.NE.0) THEN
  61. IERUT = 2
  62. RETURN
  63. ENDIF
  64. DO KV1=1,MCO
  65. PWY(KV1)=0.
  66. DO KW1=1,MCO
  67. PWY(KV1)=PWY(KV1)+AA(KV1,KW1)*BB(KW1)
  68. ENDDO
  69. ENDDO
  70. IF(MV.EQ.1) THEN
  71. DO KV1=1,MCO
  72. KV0= KR2(KV1)
  73. ENDDO
  74. ENDIF
  75. DO I=1,NDEF
  76. WO2(I)=0.
  77. DO KV1=1,MCO
  78. KV0= KR2(KV1)
  79. WO2(I)= WO2(I)+QV2(KV0,I)*PWY(KV1)
  80. ENDDO
  81. ENDDO
  82. DO I=1,NDEF
  83. IF(MV.EQ.1) THEN
  84. SS2(I)=SS1(I)
  85. ELSE
  86. SS2(I)=0.
  87. ENDIF
  88. DO J=1,NDEF
  89. SS2(I)=SS2(I)-DD(I,J)*WO2(J)
  90. ENDDO
  91. ENDDO
  92. *
  93. DO 33 KV1=1,MCO
  94. KV0 = KR2(KV1)
  95. GO TO (1,2,3,4,5,6,7,8,9,10),KV0
  96. *
  97. 1 CONTINUE
  98. VV3(1) = PWY(KV1)
  99. VV3(2) = PWY(KV1)
  100. GO TO 33
  101. 2 CONTINUE
  102. VV3(1) = -PWY(KV1)
  103. GO TO 33
  104. 3 CONTINUE
  105. VV3(1) = PWY(KV1)
  106. GO TO 33
  107. 4 CONTINUE
  108. VV3(3) = PWY(KV1)
  109. VV3(4) = PWY(KV1)
  110. GO TO 33
  111. 5 CONTINUE
  112. VV3(3) = -PWY(KV1)
  113. GO TO 33
  114. 6 CONTINUE
  115. VV3(3) = PWY(KV1)
  116. GO TO 33
  117. 7 CONTINUE
  118. VV3(5) = PWY(KV1)
  119. VV3(6) = PWY(KV1)
  120. GO TO 33
  121. 8 CONTINUE
  122. VV3(5) = -PWY(KV1)
  123. GO TO 33
  124. 9 CONTINUE
  125. VV3(5) = PWY(KV1)
  126. GO TO 33
  127. 10 CONTINUE
  128. VV3(7) = PWY(KV1)
  129. 33 CONTINUE
  130. RETURN
  131. END
  132.  
  133.  

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