Télécharger cjfddd.eso

Retour à la liste

Numérotation des lignes :

cjfddd
  1. C CJFDDD SOURCE OF166741 25/11/04 21:15:24 12349
  2.  
  3. SUBROUTINE CJFDDD(WRK52,WRK53,WRK54,NVARI,iecou,necou,xecou)
  4. C
  5. C calcule la deformation initiale a partir de la contrainte initiale
  6. C puis appelle la subroutine CLBCOM
  7. C
  8. C variables en entree
  9. C
  10. C WRK0,KRK1 pointeurs sur des segments de travail
  11. C
  12. C NSTRS1 nombre de composantes dans les vecteurs des contraintes
  13. C et les vecteurs des deformations
  14. C
  15. C NVARI nombre de variables internes (doit etre egal a 4)
  16. C
  17. C NMATT nombre de constantes du materiau
  18. C
  19. C ISTEP flag utilise pour separer les etapes dans un calcul non local
  20. C ISTEP=0 -----> calcul local
  21. C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  22. C ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  23. C a partir des seuils moyennes
  24. C
  25. C variables en sortie
  26. C
  27. C VARF variables internes finales dans WRK0
  28. C
  29. C SIGF contraintes finales dans WRK0
  30.  
  31. IMPLICIT INTEGER(I-N)
  32. IMPLICIT REAL*8(A-H,O-Z)
  33.  
  34. -INC PPARAM
  35. -INC CCOPTIO
  36. -INC DECHE
  37.  
  38. -INC TECOU
  39.  
  40. SEGMENT WRKK2
  41. REAL*8 EPSILI(NSTRSV)
  42. END SEGMENT
  43.  
  44. SEGMENT WRK6
  45. REAL*8 SIG0S(NSTRS1)
  46. END SEGMENT
  47.  
  48. PARAMETER (UN=1.D0)
  49.  
  50. KERRE=0
  51.  
  52. NSTRS1 = iecou.NSTRSS
  53. IF (iecou.MFR1 .EQ. 9) THEN
  54. NSTRSV=4
  55. IFOUR2=-2
  56. ELSE IF (iecou.MFR1 .EQ. 1) THEN
  57. NSTRSV=NSTRS1
  58. IF (IFOURB.NE. -2)THEN
  59. KERRE=57
  60. RETURN
  61. END IF
  62. IFOUR2=necou.IFOURB
  63. ELSE
  64. KERRE=57
  65. RETURN
  66. END IF
  67. C
  68. C calcul de la matrice elastique
  69. C
  70. CMATE = 'ISOTROPE'
  71. KCAS=2
  72. CALL DOHMAS(XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  73. IF (IRTD .NE. 1) THEN
  74. print*,'erreur dans dohmas'
  75. KERRE=56
  76. RETURN
  77. END IF
  78. C
  79. C calcul de l'increment de contrainte
  80. C
  81. CALL MATVE1 (DDHOOK,DEPST,NSTRSV,NSTRSV,DSIGT,1)
  82. C
  83. C ON CALCULE LES CONTRAINTES VRAIES DANS LE CAS DES COQUES
  84. C
  85. WRK6 = 0
  86. IF (iecou.MFR1 .EQ. 9) THEN
  87. EPAI=xcarb(1)
  88. SEGINI WRK6
  89. DO ISTRS=1,NSTRS1
  90. SIG0S(ISTRS)=SIG0(ISTRS)
  91. END DO
  92. SIG0(1)=SIG0S(1)/EPAI
  93. SIG0(2)=SIG0S(2)/EPAI
  94. SIG0(3)=0.D0
  95. SIG0(4)=SIG0S(3)/EPAI
  96. END IF
  97. C
  98. C inversion de la matrice
  99. C
  100. PREC=1.D-08
  101. CALL INVALM(DDHOOK,NSTRSV,NSTRSV,IRTD,PREC)
  102. IF (IRTD.NE.0)THEN
  103. print*,'erreur dans invalm'
  104. KERRE=56
  105. RETURN
  106. END IF
  107.  
  108. SEGINI,WRKK2
  109. C
  110. C calcul des deformations du materiau elastique lineaire
  111. C
  112. CALL MATVE1 (DDHOOK,SIG0,NSTRSV,NSTRSV,EPSILI,1)
  113. C
  114. C modification pour tenir compte de l'endommagement
  115. C
  116. DO ISTRS=1,NSTRSV
  117. EPSILI(ISTRS)=EPSILI(ISTRS)+EPIN0(ISTRS)
  118. ENDDO
  119. C
  120. C appel a la routine CLBCOM
  121. C
  122. icarbi=iecou.icara
  123. CALL CJFDEC(WRK52,WRK53,WRK54,WRKK2,NSTRSV,NVARI,icarbi,xecou)
  124. C
  125. C ON RECALCULE LES CONTRAINTES EFFECTIVES POUR LES COQUES
  126. C
  127. IF (iecou.MFR1 .EQ. 9) THEN
  128. DO ISTRS=1,NSTRS1
  129. SIG0(ISTRS)=SIG0S(ISTRS)
  130. END DO
  131. SIGF(1)=SIGF(1)*EPAI
  132. SIGF(2)=SIGF(2)*EPAI
  133. SIGF(3)=SIGF(4)*EPAI
  134. DO ISTRS=4,NSTRS1
  135. SIGF(ISTRS)=SIG0(ISTRS)+DSIGT(ISTRS)
  136. END DO
  137. SEGSUP WRK6
  138. END IF
  139. SEGSUP WRKK2
  140.  
  141. RETURN
  142. END
  143.  
  144.  
  145.  

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