Télécharger lispp1.eso

Retour à la liste

Numérotation des lignes :

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

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