Télécharger lispp1.eso

Retour à la liste

Numérotation des lignes :

  1. C LISPP1 SOURCE CHAT 05/01/13 01:23:10 5004
  2. SUBROUTINE LISPP1(XN0,XM0,XNT,XMT,QSI,W,YOU,XNU,WORK,
  3. 1 XLAM0,PRECIS,XNE,XME,XNP,XMP,DLAM,KERRE)
  4. C=======================================================================
  5. C CALCULE L ECOULEMENT PLASTIQUE DANS LE CAS DU LINESPRING
  6. C ENTREES
  7. C XN0,XM0 = EFFORTS SUR LE DEBUT DU PAS
  8. C XNT,XMT = EFFORTS TOATAUX
  9. C QSI = RAPPORT PROFONDEUR DE FISSURE SUR EPAISSEUR
  10. C W = EPAISSEUR LINESPRING
  11. C YOU = MODULE D YOUNG
  12. C XNU = COEFFICIENT DE POISSON
  13. C SIG,XLAM = COURBE (SIG0,PHIP)
  14. C NCOURB = NOMBRE DE POINTS DE LA COURBE DE TRACTION
  15. C XLAM0 = PARAMETRE D ECROUISSAGE AU DEBUT DU PAS
  16. C PRECIS = PRECISION DES ITERATIONS
  17. C SORTIES
  18. C XNE,XME = EFFORTS FIN DU PAS SUR SURFACE DE CHARGE
  19. C XNP,XMP = DEFORMATIONS PLASTIQUES FIN DU PAS
  20. C DLAM = INCREMENT SUR LE PAS DU PARAMETRE D ECROUISSAGE
  21. C KERRE = INDICATEUR D ERREUR
  22. C EBERSOLT AVRIL 86
  23. C REVISION J. BROCHARD AOUT 90 ECOULEMENT NON ASSOCIE
  24. C
  25. C=======================================================================
  26. IMPLICIT INTEGER(I-N)
  27. IMPLICIT REAL*8(A-H,O-Z)
  28. SEGMENT/WORK/(SIG(NCOURB)*D,XLAM(NCOURB)*D)
  29. PARAMETER(UNSIX=.166666666666666D0,SIX=6.D0)
  30. PARAMETER(DEUX=2.D0,UNDEMI=.5D0,UN=1.D0,XZER=0.D0)
  31. PARAMETER(NITER=50,PENA=1.D6,EPSINV=1.D-3)
  32. C
  33. PREC=PRECIS*UNDEMI
  34. IBI=0
  35. C
  36. C
  37. C ON CALCULE LES PARAMETRES DE L ECOULEMENT
  38. C
  39. NCOURB=SIG(/1)
  40. CALL TRACTI(SIGMA0,XLAM0,SIG,XLAM,NCOURB,2,IBI)
  41. IF(IBI.EQ.1) THEN
  42. KERRE=75
  43. RETURN
  44. ENDIF
  45. CALL LISPPA(QSI,W,SIGMA0,GA,GB,A,B,C,D,E,F)
  46. C
  47. C CALCUL DE LA MATRICE DE HOOKE
  48. C
  49. DD2 = YOU*UNDEMI/(UN-XNU*XNU)
  50. IF(QSI.GT.EPSINV) THEN
  51. CALL LISPAL(QSI,ALMM,ALMF,ALFF,DELTA)
  52. C
  53. DDD = DD2/DELTA
  54. D11 = ALFF * DDD
  55. D12 =-ALMF * DDD * W * UNSIX
  56. D21 =-ALMF * DDD * W * UNSIX
  57. D22 = ALMM * DDD * W * W * UNSIX * UNSIX
  58. ELSE
  59. D11 =DD2*PENA*W
  60. D22 =DD2*PENA*W*W*W*UNSIX*UNDEMI
  61. D12 =XZER
  62. D21 =XZER
  63. ENDIF
  64. C
  65. C VARIABLE D ECROUISSAGE : ROTATION PLASTIQUE
  66. C RECHERCHE DE LA SOLUTION PAR DICHOTOMIE
  67. C ENTRE LE CAS TOUT ELASTIQUE ET LE CAS TOUT PLASTIQUE
  68. C
  69. XNE1=XNT
  70. XME1=XMT
  71. XNP1=XZER
  72. XMP1=XZER
  73. XLAM1=XLAM0
  74. CALL LISPQ(XNE1,XME1,W,SIGMA0,GA,GB,QSI,Q1)
  75. XNE2=XN0
  76. XME2=XM0
  77. XX1=XNT - XN0
  78. XX2=XMT - XM0
  79. DDX= 2.D0*(1.D0 -XNU* XNU)/YOU
  80. XNP2= ALMM*XX1 + ALMF*XX2*SIX/W
  81. XMP2= ALMF*XX1*SIX/W + ALFF*XX2*SIX*SIX/(W*W)
  82. XNP2= XNP2*DDX
  83. XMP2= XMP2*DDX
  84. ALPH= XNP2 / XMP2
  85. XLAM2=XLAM0+ABS(XMP2)
  86. CALL TRACTI(SIGMA2,XLAM2,SIG,XLAM,NCOURB,2,IBI)
  87. IF(IBI.EQ.1) THEN
  88. KERRE=75
  89. RETURN
  90. ENDIF
  91. CALL LISPQ(XNE2,XME2,W,SIGMA2,GA,GB,QSI,Q2)
  92. IF(ABS(Q2).LT.PREC) THEN
  93. XNE3=XNE2
  94. XME3=XME2
  95. XNP3=XNP2
  96. XMP3=XMP2
  97. GOTO 200
  98. ENDIF
  99. NBIT=0
  100. 100 CONTINUE
  101. NBIT=NBIT+1
  102. IF(NBIT.GT.NITER) THEN
  103. C
  104. C PAS DE CONVERGENCE EN MOINS DE NITER ITERATIONS
  105. C
  106. KERRE=2
  107. RETURN
  108. ENDIF
  109. DQ = (Q2 - Q1) / (XMP2 - XMP1)
  110. XMP3= XMP1 - Q1 / DQ
  111. XNP3= ALPH * XMP3
  112. XNE3=XNT - D11*XNP3 - D12*XMP3
  113. XME3=XMT - D21*XNP3 - D22*XMP3
  114. XLAM3=XLAM0+ABS(XMP3)
  115. CALL TRACTI(SIGMA3,XLAM3,SIG,XLAM,NCOURB,2,IBI)
  116. IF(IBI.EQ.1) THEN
  117. KERRE=75
  118. RETURN
  119. ENDIF
  120. CALL LISPQ(XNE3,XME3,W,SIGMA3,GA,GB,QSI,Q3)
  121. IF(ABS(Q3).LT.PREC) GOTO 200
  122. IF ((Q1*Q3).LT.XZER) THEN
  123. XNP2=XNP3
  124. XMP2=XMP3
  125. Q2=Q3
  126. GOTO 100
  127. ENDIF
  128. IF ((Q2*Q3).LT.XZER) THEN
  129. XNP1=XNP3
  130. XMP1=XMP3
  131. Q1=Q3
  132. GOTO 100
  133. ENDIF
  134. C
  135. C
  136. C ON A CONVERGE EN MOINS DE NITER ITERATIONS
  137. C
  138. 200 CONTINUE
  139. XNE=XNE3
  140. XME=XME3
  141. XNP=XNP3
  142. XMP=XMP3
  143. DLAM=ABS(XMP)
  144. C
  145. RETURN
  146. END
  147.  
  148.  
  149.  

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