biflex
C BIFLEX SOURCE CB215821 24/04/12 21:15:06 11897 *--------------------------------------------------------------------* * ecoulement du modele a fibre, interface avec ecoul2 *--------------------------------------------------------------------* C C C variables en entree C C WRK0,KRK1 pointeurs sur des segments de travail C C NSTRS nombre de composantes dans les vecteurs des contraintes C et les vecteurs des deformations C C NVARI nombre de variables internes (doit etre egal a 2) C C NMATT nombre de constantes du materiau C C C variables en sortie C C VARF variables internes finales dans WRK1 C C SIGF contraintes finales dans WRK1 C *--------------------------------------------------------------------* * Pierre Pegon (ISPRA) Juillet/Aout 1993 * * Fevrier 1996 nouvel ecou * *--------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC SMELEME -INC SMCOORD -INC SMMODEL -INC SMINTE -INC CCHAMP -INC SMLREEL -INC CECOU C SEGMENT WRK0 REAL*8 XMAT(NMATT) ENDSEGMENT * SEGMENT WRK1 REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) REAL*8 DEFP(NSTRS),XCAR(ICARA) ENDSEGMENT * DIMENSION CRIGI(12),CMASS(12) * CHARACTER*8 CMATE INTEGER NSTRS,NVARI,NMATT INTEGER IRTD,ISTRS,KERRE KERRE=0 C C calcul ou recuperation de la matrice elastique C IPMODL = NINT(XMAT(1)) IPCAR = NINT(XMAT(2)) MLREEL = NINT(XMAT(3)) IF(MLREEL.EQ.0)THEN ELSE SEGACT, MLREEL IRTD = 0 ELSE IRTD = 1 ENDIF SEGDES, MLREEL ENDIF C IF ( IRTD .EQ. 1) THEN C C calcul de l incrément de contrainte (pour les defo plastique) C C C inversion de la matrice DDHOOK C PREC=1.D-08 IF (IRTD.EQ.0)THEN C C chargement de l'increment de deformation C DO I=1,NSTRS DEPSI(I)=DEPST(I) ENDDO C C recuperation du modele, des materiaux, des contraintes C et des varint de la section C IPSIG0=NINT(VAR0(1)) IPVAR0=NINT(VAR0(2)) C C ecoulement de la section C * pv je recupere temp0 et dt dans xecou * je ne sais pas ou les chercher alors je mets 0 et 1 * ca ne sera pas plus faux que avant. time0=temp0 timef=temp0+dt $ SIGMA,IPSIGF,IPVARF,IRETO,NSTRS) IF(IRETO.EQ.0) THEN print*,'erreur dans fcoul1' KERRE=56 END IF C C calcul de l'increment de deformation plastique C DO I=1,NSTRS DSIGT(I)=DSIGT(I) - (SIGF(I) - SIG0(I)) END DO C DO I=1,NSTRS END DO C C sortie des variables internes C VARF(1)=DBLE(IPSIGF) VARF(2)=DBLE(IPVARF) ELSE print*,'erreur dans invalm' KERRE=56 END IF ELSE print*,'erreur dans dohtif' KERRE=56 END IF C 998 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales