Télécharger dervdi.eso

Retour à la liste

Numérotation des lignes :

dervdi
  1. C DERVDI SOURCE STRU 08/12/22 21:15:08 6246
  2. c Sous-Programme du module MISTRAL0
  3. C --------------------------------------------------------------------------
  4. SUBROUTINE DERVDI (FI,TT,PSI,SEQ,EPSEQ,VEPSE, NDPI,NDVP,NXX,
  5. & PDVDI, PSIP,PSIP0)
  6. C --------------------------------------------------------------------------
  7. C Calcul des termes PSIP et PSIP0 de l'expression suivante de la derivee
  8. C par rapport au temps de la variable PSI de durcissement d'irradiation :
  9. C dPSI/dt = PSIP + PSIP0*VEPSE(0)
  10. C en fonction :
  11. C - du flux de neutrons rapides FI,
  12. C - de la temperature TT,
  13. C - de la variable PSI,
  14. C - des contraintes equivalentes SEQ(IDP),
  15. C - des deformations equivalentes EPSEQ(IDP),
  16. C - des vitesse de deformations equivalentes VEPSE(IDP),
  17. C pour toutes les natures de deformations plastiques IDP,
  18. C - des parametres transmis dans PVDI,
  19. C NXX etant le nombre de natures de contraintes internes.
  20. C --------------------------------------------------------------------------
  21. IMPLICIT INTEGER (I-N)
  22. IMPLICIT REAL*8 (A-H, O-Z)
  23. PARAMETER ( NPTTM = 5 , NPPSIM = 6 )
  24. PARAMETER ( NPEDIM = 13+6*NPTTM+NPPSIM )
  25. c (NPEDIM = 49)
  26. PARAMETER ( NVM=2 , NPATDM = 14 , NPFIM = 9 )
  27. PARAMETER ( NPERVM = 11+NVM*(NPEDIM+2*NPATDM+NPFIM+11) )
  28. c (NPERVM = 205)
  29. DIMENSION SEQ(0:*),EPSEQ(0:*),VEPSE(0:*),PDVDI(1:*)
  30. DIMENSION PATDI(1:NPATDM),PFI(1:NPFIM),PERV(1:NPERVM)
  31. C ------------------------------------------------------------------
  32. NP = NDPI+NDVP+NXX+1
  33. KDI = NINT(PDVDI(NP))
  34. IF (KDI.EQ.0) THEN
  35. PSIP = FI
  36. ELSE
  37. PSIP = MAX(PDVDI(NP+1)+PDVDI(NP+2)*TT,0.D0)*FI
  38. NP = NP+2
  39. END IF
  40. C ------------------------------------------------------------------
  41. NP = NP+1
  42. LFATDI = NINT(PDVDI(NP+1))
  43. IF (LFATDI.EQ.0) THEN
  44. NP = NP+1
  45. ELSE
  46. NPATDI = NINT(PDVDI(NP))
  47. DO IP = 1,NPATDI
  48. PATDI(IP) = PDVDI(NP+IP)
  49. END DO
  50. NP = NP+NPATDI
  51. CALL FATDI (TT,0.D0,PSI, PATDI, PSIPTP)
  52. NP = NP+1
  53. LFFI = NINT(PDVDI(NP+1))
  54. IF (LFFI.EQ.0) THEN
  55. NP = NP+1
  56. ELSE
  57. NPFI = NINT(PDVDI(NP))
  58. DO IP = 1,NPFI
  59. PFI(IP) = PDVDI(NP+IP)
  60. END DO
  61. NP = NP+NPFI
  62. CALL FFLUX (FI, PFI, PSIPFI)
  63. PSIP = PSIP-PSIPTP*PSIPFI
  64. END IF
  65. END IF
  66. C ------------------------------------------------------------------
  67. PSIP0 = 0.
  68. NP = NP+1
  69. KRD = NINT(PDVDI(NP))
  70. IF (KRD.EQ.0) RETURN
  71. DO IDP = 1-NDPI,NDVP
  72. NP = NP+1
  73. LERV = NINT(PDVDI(NP+1))
  74. IF (LERV.EQ.0) THEN
  75. NP = NP+1
  76. ELSE
  77. NPERV = NINT(PDVDI(NP))
  78. DO IP = 1,NPERV
  79. PERV(IP) = PDVDI(NP+IP)
  80. END DO
  81. NP = NP+NPERV
  82. CALL ECOREV (SEQ(IDP),0.D0,EPSEQ(IDP),TT,FI,PSI, PERV, PSIPRD)
  83. IF (IDP.EQ.0) THEN
  84. PSIP = PSIP-PSIPRD*PDVDI(NP+1)
  85. PSIP0 = -PSIPRD*PDVDI(NP+2)
  86. ELSE
  87. PSIP = PSIP-PSIPRD*(PDVDI(NP+1)+PDVDI(NP+2)*VEPSE(IDP))
  88. END IF
  89. NP = NP+2
  90. END IF
  91. END DO
  92. C ------------------------------------------------------------------
  93. RETURN
  94. END
  95.  
  96.  

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