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