ouglfl
C OUGLFL SOURCE CB215821 16/04/21 21:17:56 8920 C sub ouglofib C====&===1=========2=========3=========4=========5=========6=========7== C Commentaires : Subroutine permettant de mettre en oeuvre le C modele d'OUGLOVA d'acier corrodé C Traits : - Endommagement anisotrope C - Monotone C Auteurs : B. Richard C Date : Février 2008 C====&===1=========2=========3=========4=========5=========6=========7== C C-----DECLARATION GENERALE C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C C-----DECLARATION DES VARIABLES C REAL*8 XMAT(18),VAR0(25),VARF(25),XSECT,DEPST REAL*8 SIG0(3),SIGF REAL*8 ES,NUS,DCS,SIGMAES,TCS,MS,KS REAL*8 ENDS,PVAR,DEPP,RVAR,SIGS,EPSP REAL*8 TAU,DFDSIG,DGDSIG,DFDR INTEGER INDITER,ITER,FLAG,I1,ITERMAX,I2 C C-----OPTIONS INTERNES C ITERMAX = 100000 C C-----NOMENCLATURE DES PARAMETRES MATERIAUX (XMAT) ET VARIBLES INTERNES C (VAR0 ET VARF) C C --------------------------- C | ACIER CORRODE | C --------------------------- C XMAT( 1) ES C XMAT( 2) NUS C XMAT( 3) C XMAT( 4) C XMAT( 5) C XMAT( 6) DCS C XMAT( 7) SIGMAES C XMAT( 8) TCS C XMAT( 9) MS C XMAT(10) KS C C --------------------------- C | ACIER CORRODE | C --------------------------- C VAR0( 1) VARF( 1) ENDS C VAR0( 2) VARF( 2) PVAR C VAR0( 3) VARF( 3) DEPP C VAR0( 4) VARF( 4) RVAR C VAR0( 5) VARF( 5) SIGS C VAR0( 6) VARF( 6) EPSP C VAR0( 7) VARF( 7) C VAR0( 8) VARF( 8) C VAR0( 9) VARF( 9) C VAR0(10) VARF(10) C C --------------------------- C | AUTRES | C --------------------------- C VAR0(21) VARF(21) XLAM C VAR0(22) VARF(22) EPTO C VAR0(23) VARF(23) INDITER C C-----LES PARAMETRES MATERIAUX C ES = XMAT( 1) NUS = XMAT( 2) DCS = XMAT( 6) SIGMAES = XMAT( 7) TCS = XMAT( 8) MS = XMAT( 9) KS = XMAT(10) C C-----LES VARIABLES INTERNES C ENDS = VAR0( 1) PVAR = VAR0( 2) DEPP = VAR0( 3) RVAR = VAR0( 4) SIGS = VAR0( 5) EPSP = VAR0( 6) XLAM = VAR0(21) EPTO = VAR0(22) INDITER = VAR0(23) C C-----AVANCE EN DEFORMATION C EPTO = (EPTO + DEPST)*XLAM C C-----CALCUL DE QUELQUES GRANDEURS C IF (TCS.LE.15.0D0) THEN EPSR = -0.0111D0*TCS+0.2345D0 ELSE EPSR = -0.0006D0*TCS+0.0510D0 END IF PR = EPSR PD = 0.8D0*PR C C-----PREDICTION ELASTIQUE C C C-----CRITERE DE PLASTICITE ET INITIALISATIONS C CRITPLAS0 = CRITPLAS CRITP = 1.0D0 DELTAP = 20.0D0 ITER = 0 IF ((CRITPLAS.LE.0.0D0).OR.((DEPST*EPTO).LE.0.0D0)) THEN FLAG = 1 DEPP = 0.0D0 GOTO 30 ELSE IF (CRITPLAS.GT.0.0D0) THEN FLAG = 0 GOTO 10 ENDIF C C-----DEBUT DES ITERATIONS INTERNES C 10 DO I1=1,ITERMAX C C-----ON VERIFIE LE CRITERE C & ((DELTAP.GT.(1.0D-15)).OR.(CRITPLAS.GT.(0.0D0))).AND. & (ITER.LT.50)) THEN ITER = ITER +1 DGDSIG = DFDSIG DFDR = -1.0D0 TAU = DGDSIG*ES DELTAP = CRITPLAS/(DFDSIG*TAU- & SIGMAES/KS)**(1.0D0-MS)) IF (DELTAP.LT.(0.0D0)) THEN DELTAP = 0.0D0 ENDIF C C-----ACTUALISATION C EPSP = EPSP + DELTAP*DGDSIG DEPP = DELTAP*DGDSIG PVAR = PVAR + DELTAP/(1.0D0-ENDS) RVAR = KS*(PVAR)**(1.0D0/MS) C C-----ACTUALISATION DU SEUIL C ELSE GOTO 15 ENDIF ENDDO C C-----BALISE DE SORTIE DE LA SECONDE BOUCLE D ITERATIONS INTERNES C 15 CONTINUE GOTO 20 20 CONTINUE CRITENDO = PVAR - PD IF (CRITENDO.LT.0.0D0) THEN FLAG = 1 GOTO 30 ELSE ENDS = DCS/(PR-PD)*(PVAR-PD) FLAG = 1 IF (ENDS.GT.0.99D0) THEN ENDS = 0.99D0 ENDIF GOTO 30 ENDIF ENDDO C C-----BALISE DE SORTIE FINALE C 30 CONTINUE IF (PVAR.GT.PR) THEN PVAR = PR SIGMA = 0.0D0 ELSE ENDIF C C-----LES SORTIES C VARF( 1) = ENDS VARF( 2) = PVAR VARF( 3) = DEPP VARF( 4) = RVAR VARF( 6) = EPSP VARF( 9) = EPTO C C-----LES CONTRAINTES EN SORTIE C SIGF = SIGMA RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales