Download cbifle.eso

Back to the list

   1 : C CBIFLE    SOURCE    CHAT      11/03/16    21:16:37     6902           
   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
  57 :         CALL FRIGIE(IPMODL,IPCAR,CRIGI1,CMASS1)
  57 :         CALL DOHTIF(CRIGI1,CMATE,IFOUR,NSTRS1,DDHOOK,IRTD)
  58 :       ELSE
  59 :         SEGACT, MLREEL
  60 :         IF (PROG(/1).NE.NSTRS1**2)THEN
  61 :           IRTD = 0
  62 :         ELSE
  63 :           IRTD = 1
  63 :           CALL DOHOOO(PROG,NSTRS1,DDHOOK)
  64 :         ENDIF
  65 :         SEGDES, MLREEL
  66 :       ENDIF
  67 : C
  68 :       IF ( IRTD .EQ. 1) THEN
  69 : C
  70 : C     calcul de l incrément de contrainte (pour les defo plastique)
  71 : C
  71 :          CALL MATVE1 (DDHOOK,DEPST,NSTRS1,NSTRS1,DSIGT,2)
  72 : C
  73 : C     inversion de la matrice DDHOOK
  74 : C
  75 :          PREC=1.D-08
  75 :          CALL INVALM(DDHOOK,NSTRS1,NSTRS1,IRTD,PREC)
  76 :          IF (IRTD.EQ.0)THEN
  77 : C
  78 : C      chargement de l'increment de deformation
  79 : C
  80 :             DO I=1,NSTRS1
  81 :               DEPSI(I)=DEPST(I)
  82 :             ENDDO
  83 : C
  84 : C      recuperation du modele, des materiaux, des contraintes
  85 : C      et des varint de la section
  86 : C
  87 :             IPSIG0=NINT(VAR0(1))
  88 :             IPVAR0=NINT(VAR0(2))
  88 :             IF(IPSIG0.EQ.0) CALL ZEROP(IPMODL,'CONTRAIN',IPSIG0)
  88 :             IF(IPVAR0.EQ.0) CALL ZEROP(IPMODL,'VARINTER',IPVAR0)
  89 : C
  90 : C      ecoulement de la section
  91 : C
  91 :             CALL FCOUL1(DEPSI,IPMODL,IPSIG0,IPVAR0,IPCAR,
  92 :      $                  SIGMA,IPSIGF,IPVARF,IRETO,NSTRS1)
  93 :             IF(IRETO.EQ.0) THEN
  94 :               print*,'erreur dans fcoul1'
  95 :               KERRE=56
  96 :             END IF
  97 : C
  98 : C      calcul de l'increment de deformation plastique
  99 : C
 100 :             DO I=1,NSTRS1
 101 :               SIGF (I)=SIGMA(I)
 102 :               DSIGT(I)=DSIGT(I) - (SIGF(I) - SIG0(I))
 103 :             END DO
 104 : C
 104 :             CALL MATVE1 (DDHOOK,DSIGT,NSTRS1,NSTRS1,DEFP,1)
 105 :             DO I=1,NSTRS1
 106 :             END DO
 107 : C
 108 : C      sortie des variables internes
 109 : C
 110 :             VARF(1)=DBLE(IPSIGF)
 111 :             VARF(2)=DBLE(IPVARF)
 112 :          ELSE
 113 :              print*,'erreur dans invalm'
 114 :              KERRE=56
 115 :          END IF
 116 :       ELSE
 117 :          print*,'erreur dans dohtif'
 118 :          KERRE=56
 119 :       END IF
 120 : C
 121 :  998  RETURN
 122 :       END
 123 :  
 124 :  
 125 :  
 126 :  
 127 :  
 128 :  
 129 :  
 130 :  
 131 :  
 132 :  
 133 :  
 134 :  
 135 :  
 136 :  

© Cast3M 2003 - All rights reserved.
Disclaimer