Télécharger cotati.eso

Retour à la liste

Numérotation des lignes :

  1. C COTATI SOURCE BP208322 17/03/01 21:16:38 9325
  2. C ROTATI SOURCE AM 00/12/13 21:42:28 4045
  3. C MAZZZ SOURCE AM 92/09/30 21:43:12 712
  4. SUBROUTINE COTATI(WRK52,WRK53,WRK54,NSTRS1,NVARI,ICARA)
  5. C
  6. C calcule la deformation initiale et l'increment de deformation
  7. C a partir de la contrainte initiale et l'increment de contrainte
  8. C elastique puis appelle la subroutine ROTAT2
  9. C
  10. C
  11. C variables en entree
  12. C
  13. C WRK0,KRK1,WRK5 pointeurs sur des segments de travail
  14. C
  15. C NSTRS1 nombre de composantes dans les vecteurs des contraintes
  16. C et les vecteurs des deformations
  17. C
  18. C NVARI nombre de variables internes (doit etre egal a 2)
  19. C
  20. C NMATT nombre de constantes du materiau
  21. C
  22. C ISTEP flag utilise pour separer les etapes dans un calcul non local
  23. C ISTEP=0 -----> calcul local
  24. C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  25. C ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  26. C a partir des seuils moyennes
  27. C
  28. C
  29. C variables en sortie
  30. C
  31. C VARF variables internes finales dans WRK0
  32. C
  33. C SIGF contraintes finales dans WRK0
  34. IMPLICIT INTEGER(I-N)
  35. IMPLICIT REAL*8(A-H,O-Z)
  36. -INC CCOPTIO
  37. -INC DECHE
  38. *
  39. SEGMENT WRKK2
  40. REAL*8 EPSILI(NSTRS)
  41. END SEGMENT
  42. INTEGER NSTRS1,NVARI
  43. INTEGER KCAS,IRTD,ISTRS
  44. REAL*8 PREC
  45. REAL*8 UN
  46. PARAMETER (UN=1.D0)
  47. KERRE=0
  48. C
  49. C calcul de la matrice elastique
  50. C
  51. CMATE = 'ISOTROPE'
  52. KCAS=1
  53. CALL DOHMAS(XMAT,CMATE,IFOUR,NSTRS1,KCAS,DDHOOK,IRTD)
  54. IF ( IRTD .EQ. 1) THEN
  55. C
  56. C inversion de cette matrice
  57. C
  58. PREC=1.D-08
  59. SEGINI WRKK2
  60. IF (IFOUR.EQ.-2) THEN
  61. CALL INVALM(DDHOOK,NSTRS1,2,IRTD,PREC)
  62. DDHOOK(4,4)=1/DDHOOK(4,4)
  63. ELSE
  64. CALL INVALM(DDHOOK,NSTRS1,NSTRS1,IRTD,PREC)
  65. ENDIF
  66. IF (IRTD.EQ.0)THEN
  67. C
  68. C calcul des deformations du materiau elastique lineaire
  69. C
  70. CALL MATVE1 (DDHOOK,SIG0,NSTRS1,NSTRS1,EPSILI,1)
  71. C
  72. C modification pour tenir compte de l'endommagement
  73. C
  74. C PRINT*,'DANS ROTATI:'
  75. C PRINT*,'EPSILI',(EPSILI(ISTRS),ISTRS=1,NSTRS1)
  76. C PRINT*,'EPIN0',(EPIN0(ISTRS),ISTRS=1,NSTRS1)
  77. IF (IFOUR.EQ.-2) THEN
  78. EPSILI(3)=-XMAT(2)/(1.D0-XMAT(2))*(EPSILI(1)+EPSILI(2))
  79. ENDIF
  80. DO 100 ISTRS=1,NSTRS1
  81. EPSILI(ISTRS)=EPSILI(ISTRS)+EPIN0(ISTRS)
  82. 100 CONTINUE
  83. C
  84. C appel a la routine ROTAT2
  85. C
  86. * PRINT*,'DEPSIL=DEPST',(DEPST(ISTRS),ISTRS=1,NSTRS1)
  87. CALL COTAT2 (wrk52,wrk53,wrk54,WRKK2,NSTRS1,NVARI,ICARA)
  88. ELSE
  89. print*,'erreur dans invalm'
  90. KERRE=56
  91. END IF
  92. ELSE
  93. print*,'erreur dans dohmas'
  94. KERRE=56
  95. END IF
  96. SEGSUP WRKK2
  97. RETURN
  98. END
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  

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