Télécharger biflex.eso

Retour à la liste

Numérotation des lignes :

biflex
  1. C BIFLEX SOURCE PV 22/04/28 21:15:01 11344
  2. SUBROUTINE BIFLEX(WRK0,WRK1,NSTRS,NVARI,NMATT, CMATE,KERRE)
  3. *--------------------------------------------------------------------*
  4. * ecoulement du modele a fibre, interface avec ecoul2
  5. *--------------------------------------------------------------------*
  6. C
  7. C
  8. C variables en entree
  9. C
  10. C WRK0,KRK1 pointeurs sur des segments de travail
  11. C
  12. C NSTRS 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 2)
  16. C
  17. C NMATT nombre de constantes du materiau
  18. C
  19. C
  20. C variables en sortie
  21. C
  22. C VARF variables internes finales dans WRK1
  23. C
  24. C SIGF contraintes finales dans WRK1
  25. C
  26. *--------------------------------------------------------------------*
  27. * Pierre Pegon (ISPRA) Juillet/Aout 1993 *
  28. * Fevrier 1996 nouvel ecou *
  29. *--------------------------------------------------------------------*
  30. IMPLICIT INTEGER(I-N)
  31. IMPLICIT REAL*8(A-H,O-Z)
  32. *
  33.  
  34. -INC PPARAM
  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 CECOU
  44. C
  45. SEGMENT WRK0
  46. REAL*8 XMAT(NMATT)
  47. ENDSEGMENT
  48. *
  49. SEGMENT WRK1
  50. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  51. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  52. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  53. ENDSEGMENT
  54. *
  55. DIMENSION DEPSI(6),SIGMA(6),DSIGT(6)
  56. DIMENSION CRIGI(12),CMASS(12)
  57. *
  58. CHARACTER*8 CMATE
  59. INTEGER NSTRS,NVARI,NMATT
  60. INTEGER IRTD,ISTRS,KERRE
  61. KERRE=0
  62. C
  63. C calcul ou recuperation de la matrice elastique
  64. C
  65. IPMODL = NINT(XMAT(1))
  66. IPCAR = NINT(XMAT(2))
  67. MLREEL = NINT(XMAT(3))
  68. IF(MLREEL.EQ.0)THEN
  69. CALL FRIGIE(IPMODL,IPCAR,CRIGI,CMASS)
  70. CALL DOHTIF(CRIGI,CMATE,IFOUR,NSTRS,DDHOOK,IRTD)
  71. ELSE
  72. SEGACT, MLREEL
  73. IF (PROG(/1).NE.NSTRS**2)THEN
  74. IRTD = 0
  75. ELSE
  76. IRTD = 1
  77. CALL DOHOOO(PROG,NSTRS,DDHOOK)
  78. ENDIF
  79. SEGDES, MLREEL
  80. ENDIF
  81. C
  82. IF ( IRTD .EQ. 1) THEN
  83. C
  84. C calcul de l incrément de contrainte (pour les defo plastique)
  85. C
  86. CALL MATVE1 (DDHOOK,DEPST,NSTRS,NSTRS,DSIGT,2)
  87. C
  88. C inversion de la matrice DDHOOK
  89. C
  90. PREC=1.D-08
  91. CALL INVALM(DDHOOK,NSTRS,NSTRS,IRTD,PREC)
  92. IF (IRTD.EQ.0)THEN
  93. C
  94. C chargement de l'increment de deformation
  95. C
  96. DO I=1,NSTRS
  97. DEPSI(I)=DEPST(I)
  98. ENDDO
  99. C
  100. C recuperation du modele, des materiaux, des contraintes
  101. C et des varint de la section
  102. C
  103. IPSIG0=NINT(VAR0(1))
  104. IPVAR0=NINT(VAR0(2))
  105. IF(IPSIG0.EQ.0) CALL ZEROP(IPMODL,'CONTRAIN',IPSIG0)
  106. IF(IPVAR0.EQ.0) CALL ZEROP(IPMODL,'VARINTER',IPVAR0)
  107. C
  108. C ecoulement de la section
  109. C
  110. * pv je recupere temp0 et dt dans xecou
  111. * je ne sais pas ou les chercher alors je mets 0 et 1
  112. * ca ne sera pas plus faux que avant.
  113. time0=temp0
  114. timef=temp0+dt
  115. CALL FCOUL1(DEPSI,IPMODL,IPSIG0,IPVAR0,IPCAR,time0,timef,
  116. $ SIGMA,IPSIGF,IPVARF,IRETO,NSTRS)
  117. IF(IRETO.EQ.0) THEN
  118. print*,'erreur dans fcoul1'
  119. KERRE=56
  120. END IF
  121. C
  122. C calcul de l'increment de deformation plastique
  123. C
  124. DO I=1,NSTRS
  125. SIGF (I)=SIGMA(I)
  126. DSIGT(I)=DSIGT(I) - (SIGF(I) - SIG0(I))
  127. END DO
  128. C
  129. CALL MATVE1 (DDHOOK,DSIGT,NSTRS,NSTRS,DEFP,1)
  130. DO I=1,NSTRS
  131. END DO
  132. C
  133. C sortie des variables internes
  134. C
  135. VARF(1)=DBLE(IPSIGF)
  136. VARF(2)=DBLE(IPVARF)
  137. ELSE
  138. print*,'erreur dans invalm'
  139. KERRE=56
  140. END IF
  141. ELSE
  142. print*,'erreur dans dohtif'
  143. KERRE=56
  144. END IF
  145. C
  146. 998 RETURN
  147. END
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  

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