Télécharger cbifle.eso

Retour à la liste

Numérotation des lignes :

  1. C CBIFLE SOURCE BP208322 17/03/01 21:15:08 9325
  2. SUBROUTINE CBIFLE(wrk52,wrk53,wrk54,NSTRS1,NVARI,ICARA)
  3. C BIFLEX SOURCE CHAT 00/09/29 21:15:55 3957
  4. c SUBROUTINE BIFLEX(WRK0,WRK1,NSTRS,NVARI,NMATT,ICARA,CMATE,KERRE)
  5. *--------------------------------------------------------------------*
  6. * ecoulement du modele a fibre, interface avec ecoul2
  7. *--------------------------------------------------------------------*
  8. C
  9. C
  10. C variables en entree
  11. C
  12. C WRK0,KRK1 pointeurs sur des segments de travail
  13. C
  14. C NSTRS1 nombre de composantes dans les vecteurs des contraintes
  15. C et les vecteurs des deformations
  16. C
  17. C NVARI nombre de variables internes (doit etre egal a 2)
  18. C
  19. C NMATT nombre de constantes du materiau
  20. C
  21. C
  22. C variables en sortie
  23. C
  24. C VARF variables internes finales dans WRK1
  25. C
  26. C SIGF contraintes finales dans WRK1
  27. C
  28. *--------------------------------------------------------------------*
  29. * Pierre Pegon (ISPRA) Juillet/Aout 1993 *
  30. * Fevrier 1996 nouvel ecou *
  31. *--------------------------------------------------------------------*
  32. IMPLICIT INTEGER(I-N)
  33. IMPLICIT REAL*8(A-H,O-Z)
  34. *
  35. -INC CCOPTIO
  36. -INC SMCHAML
  37. -INC SMELEME
  38. -INC SMCOORD
  39. -INC SMMODEL
  40. -INC SMINTE
  41. -INC CCHAMP
  42. -INC SMLREEL
  43. -INC DECHE
  44. *
  45. DIMENSION DEPSI(6),SIGMA(6)
  46. DIMENSION CRIGI1(12),CMASS1(12)
  47. *
  48. INTEGER NSTRS1,NVARI
  49. INTEGER IRTD,ISTRS
  50. KERRE=0
  51. C
  52. C calcul ou recuperation de la matrice elastique
  53. C
  54. IPMODL = NINT(XMAT(1))
  55. IPCAR = NINT(XMAT(2))
  56. MLREEL = NINT(XMAT(3))
  57. IF(MLREEL.EQ.0)THEN
  58. CALL FRIGIE(IPMODL,IPCAR,CRIGI1,CMASS1)
  59. CALL DOHTIF(CRIGI1,CMATE,IFOUR,NSTRS1,DDHOOK,IRTD)
  60. ELSE
  61. SEGACT, MLREEL
  62. IF (PROG(/1).NE.NSTRS1**2)THEN
  63. IRTD = 0
  64. ELSE
  65. IRTD = 1
  66. CALL DOHOOO(PROG,NSTRS1,DDHOOK)
  67. ENDIF
  68. SEGDES, MLREEL
  69. ENDIF
  70. C
  71. IF ( IRTD .EQ. 1) THEN
  72. C
  73. C calcul de l incrément de contrainte (pour les defo plastique)
  74. C
  75. CALL MATVE1 (DDHOOK,DEPST,NSTRS1,NSTRS1,DSIGT,2)
  76. C
  77. C inversion de la matrice DDHOOK
  78. C
  79. PREC=1.D-08
  80. CALL INVALM(DDHOOK,NSTRS1,NSTRS1,IRTD,PREC)
  81. IF (IRTD.EQ.0)THEN
  82. C
  83. C chargement de l'increment de deformation
  84. C
  85. DO I=1,NSTRS1
  86. DEPSI(I)=DEPST(I)
  87. ENDDO
  88. C
  89. C recuperation du modele, des materiaux, des contraintes
  90. C et des varint de la section
  91. C
  92. IPSIG0=NINT(VAR0(1))
  93. IPVAR0=NINT(VAR0(2))
  94. IF(IPSIG0.EQ.0) CALL ZEROP(IPMODL,'CONTRAIN',IPSIG0)
  95. IF(IPVAR0.EQ.0) CALL ZEROP(IPMODL,'VARINTER',IPVAR0)
  96. C
  97. C ecoulement de la section
  98. C
  99. CALL FCOUL1(DEPSI,IPMODL,IPSIG0,IPVAR0,IPCAR,
  100. $ SIGMA,IPSIGF,IPVARF,IRETO,NSTRS1)
  101. IF(IRETO.EQ.0) THEN
  102. print*,'erreur dans fcoul1'
  103. KERRE=56
  104. END IF
  105. C
  106. C calcul de l'increment de deformation plastique
  107. C
  108. DO I=1,NSTRS1
  109. SIGF (I)=SIGMA(I)
  110. DSIGT(I)=DSIGT(I) - (SIGF(I) - SIG0(I))
  111. END DO
  112. C
  113. CALL MATVE1 (DDHOOK,DSIGT,NSTRS1,NSTRS1,DEFP,1)
  114. DO I=1,NSTRS1
  115. END DO
  116. C
  117. C sortie des variables internes
  118. C
  119. VARF(1)=DBLE(IPSIGF)
  120. VARF(2)=DBLE(IPVARF)
  121. ELSE
  122. print*,'erreur dans invalm'
  123. KERRE=56
  124. END IF
  125. ELSE
  126. print*,'erreur dans dohtif'
  127. KERRE=56
  128. END IF
  129. C
  130. 998 RETURN
  131. END
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  

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