Télécharger dfsig.eso

Retour à la liste

Numérotation des lignes :

dfsig
  1. C DFSIG SOURCE CB215821 16/04/21 21:16:27 8920
  2. C DFSIG SOURCE INSL 24/10/96
  3. SUBROUTINE DFSIG(S1,DFSI,DGSI,SEQ,NSTRS,RB,AA,BB,DK1,DK2,ILO)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. DIMENSION S1(NSTRS),DFSI(NSTRS),DGSI(NSTRS)
  8. DIMENSION DFS1(6),DGS1(6),C1(6),C2(6),C3P(6),C3(6)
  9. C-------------------------------------------------------------------
  10. C *******************************************
  11. C * CALCUL DU VECTEUR {dF/d{SIGMA}} *
  12. C * {dF/d{SIGMA}}=A1*C1+A2*C2+A3*C3 *
  13. C *******************************************
  14. C-------------------------------------------------------------------
  15. PI=4.D0*ATAN(1.D0)
  16. CALL ZERO(DFSI,NSTRS,1)
  17. CALL ZERO(DGSI,NSTRS,1)
  18. CALL ZERO(DFS1,6,1)
  19. CALL ZERO(DGSI,6,1)
  20. C
  21. CALL PARINV(S1,SX,SY,SZ,SXY,SXZ,SYZ,NSTRS)
  22. CALL INVA(S1,DJ2,DI1,CO3T,DJ3,NSTRS)
  23. C
  24. SSX=SX-DI1/3.D0
  25. SSY=SY-DI1/3.D0
  26. SSZ=SZ-DI1/3.D0
  27. C
  28. C-------------------------------------------------------------------
  29. C ************************************
  30. C * CALCUL DES COEFFICIENTS Ai *
  31. C * A1=dF/dI1 *
  32. C * A2=dF/dJ2 *
  33. C * A3=dF/COS(3TETA) *
  34. C * *
  35. C * f(Sij,K)= a*J2/f'cý+ ... -1=0 *
  36. C ************************************
  37. C
  38. TT=DK2*CO3T
  39. IF(CO3T .GE. 0.D0) PP=ACOS(TT)/3.D0
  40. IF(CO3T .LT. 0.D0) PP=(PI-ACOS(-1.D0*TT))/3.D0
  41. C
  42. DLA=DK1*COS(PP)
  43. T1=1.D0/SQRT(1.D0-TT*TT)
  44. AP2=AA/SEQ/SEQ
  45. AP3=1.D0/SQRT(DJ2)/SEQ/2.D0
  46. C
  47. A1=BB/SEQ
  48. A2=AP2+AP3*(DLA-DK1*SIN(PP)*TT*T1)
  49. A3=DK1*DK2*SQRT(DJ2)*T1/3.D0/SEQ*SIN(PP)
  50. C
  51. C-------------------------------------------------------------------
  52. C **********************************
  53. C * CALCUL DES VECTEURS {Ci} *
  54. C **********************************
  55. C
  56. CALL ZERO(C1,6,1)
  57. CALL ZERO(C2,6,1)
  58. CALL ZERO(C3P,6,1)
  59. CALL ZERO(C3,6,1)
  60. C
  61. C1(1)=1.D0
  62. C1(2)=1.D0
  63. C1(3)=1.D0
  64. C
  65. C2(1)=SSX
  66. C2(2)=SSY
  67. C2(3)=SSZ
  68. C2(4)=2.D0*SXY
  69. C2(5)=2.D0*SXZ
  70. C2(6)=2.D0*SYZ
  71. C
  72. SX1=2.D0*SSY*SSZ-SSX*SSZ-SSX*SSY
  73. SX2=SXZ*SXZ-2.D0*SYZ*SYZ+SXY*SXY
  74. C
  75. SY1=2.D0*SSX*SSZ-SSY*SSZ-SSY*SSX
  76. SY2=SYZ*SYZ-2.D0*SXZ*SXZ+SXY*SXY
  77. C
  78. SZ1=2.D0*SSX*SSY-SSZ*SSY-SSZ*SSX
  79. SZ2=SXZ*SXZ-2.D0*SXY*SXY+SYZ*SYZ
  80. C
  81. C3P(1)=(SX1+SX2)/3.D0
  82. C3P(2)=(SY1+SY2)/3.D0
  83. C3P(3)=(SZ1+SZ2)/3.D0
  84. C3P(4)=2.D0*(SYZ*SXZ-SSZ*SXY)
  85. C3P(5)=2.D0*(SXY*SYZ-SSY*SXZ)
  86. C3P(6)=2.D0*(SXY*SXZ-SSX*SYZ)
  87. C
  88. AA1=3.D0*SQRT(3.D0)/2.D0/SQRT(DJ2**3)
  89. AA2=-3.D0*DJ3/DJ2/2.D0
  90. C-------------------------------------------------------------------
  91. DO 2 I=1,6
  92. C3(I)=AA1*(C3P(I)+AA2*C2(I))
  93. DFS1(I)=A1*C1(I)+A2*C2(I)+A3*C3(I)
  94. 2 CONTINUE
  95. C-------------------------------------------------------------------
  96. STEST=SEQ/RB
  97. IF(ILO.EQ.1) THEN
  98. C **************************************************
  99. C *** ILO = 0 PLASTICITE ASSOCIEE (STANDARD) ***
  100. C *** G = F ***
  101. C *** ILO = 1 PLASTICITE NON ASSOCIEE ***
  102. C *** G = A1 * I1 + SQRT(J2) - d ***
  103. C **************************************************
  104. C
  105. AAA1 =.57143D0*(STEST-1.D0)
  106. A1 =-0.2D0
  107. IF(AAA1 .GT. A1) A1=AAA1
  108. IF(STEST.GE.1.D0) A1=0.D0
  109. A2 =1.D0/SQRT(DJ2)/2.D0
  110. ENDIF
  111. C
  112. DO 3 I=1,6
  113. IF(ILO.EQ.0) DGS1(I)=DFS1(I)
  114. IF(ILO.EQ.1) DGS1(I)=A1*C1(I)+A2*C2(I)
  115. 3 CONTINUE
  116. C-------------------------------------------------------------------
  117. IF(NSTRS.EQ.3.OR.NSTRS.EQ.5) THEN
  118. DO 4 I=3,NSTRS
  119. DFS1(I)=DFS1(I+1)
  120. DGS1(I)=DGS1(I+1)
  121. 4 CONTINUE
  122. ENDIF
  123. C
  124. DO 5 I=1,NSTRS
  125. DFSI(I)=DFS1(I)
  126. DGSI(I)=DGS1(I)
  127. 5 CONTINUE
  128. C-------------------------------------------------------------------
  129. IECR=0
  130. IF(IECR.EQ.10) THEN
  131. WRITE(*,*) '**** ON EST DANS DFSIG ******'
  132. WRITE(*,200) A1,A2,A3,ILO
  133. 200 FORMAT('A1=',E8.2,1X,'A2=',E8.2,1X,'A3=',E8.2,1X,'ILO=',I2)
  134. WRITE(*,*) '*** S1 DANS DFSIG *** SEQ = ',SEQ
  135. WRITE(*,1991) (S1(IA),IA=1,NSTRS)
  136. WRITE(*,*) '*** C1 DANS DFSIG *** '
  137. WRITE(*,1991) (C1(IA),IA=1,6)
  138. WRITE(*,*) '*** C2 DANS DFSIG *** '
  139. WRITE(*,1991) (C2(IA),IA=1,6)
  140. WRITE(*,*) '*** C3 DANS DFSIG *** '
  141. WRITE(*,1991) (C3(IA),IA=1,6)
  142. WRITE(*,*) '*** C3P DANS DFSIG *** '
  143. WRITE(*,1991) (C3P(IA),IA=1,6)
  144. WRITE(*,*) '*** DFS1 *** '
  145. WRITE(*,1991) (DFS1(IA),IA=1,6)
  146. WRITE(*,*) '*** DGS1 *** '
  147. WRITE(*,1991) (DGS1(IA),IA=1,6)
  148. WRITE(*,*) '*** DFSI *** NSTRS=',NSTRS
  149. WRITE(*,1991) (DFSI(IA),IA=1,NSTRS)
  150. WRITE(*,*) '*** DGSI *** NSTRS=',NSTRS
  151. WRITE(*,1991) (DGSI(IA),IA=1,NSTRS)
  152. ENDIF
  153. 1991 FORMAT(18(1X,E12.5))
  154. C-------------------------------------------------------------------
  155. 100 CONTINUE
  156. RETURN
  157. END
  158.  
  159.  
  160.  
  161.  
  162.  

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