C ECBPEL SOURCE BP208322 17/03/01 21:17:05 9325 SUBROUTINE ECBPEL(SIG0,NSTRS,DEPST,VAR0,XMAT,NCOMAT,XCAR,ICARA, 1NVARI,SIGF,VARF,DEFP,MFR1,DDAUX,CMATE,VALMAT,VALCAR,N2EL,N2PTEL, 2 NBPGAU,IFOU,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT, 3 LHOOK,TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DT) C C ================================================================== C CE SOUS-PROGRAMME EST APPELE DANS "ECOUL2" VIA ECOU25. C IL PREPARE L'INTEGRATION DE LA FORMULE DE RELAXATION C DE CABLES DE PRECONTRAINTE SELON LA METHODE DU TEMPS C EQUIVALENT PRECONISEE PAR LE BPEL 91 C C ENTREES: C ------- C NSTRS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM. C SIG0(NSTRS) = CONTR. AU DEBUT DU PAS D'INTEGRATION C DEPST(NSTRS) = INCREMENT DES DEFORM. CALCULE ELASTIQUEMENT C A PARTIR DE L'INCREMENT DES DEFORM. TOTALES C NVARI = NBR. DE VARIABLES INTERNES C VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION C CE TABLEAU NE CONTIENT QU'UN INDICE CORRESPONDANT A C - LA DEFORM. INELASTIQUE CUMULEE C NCOMAT = NBR. DE CARACTERISTIQUES MECANIQUES DU MATERIAU C XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU C MFR = INDICE DE LA FORMULATION MECANIQUE C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS C XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS * DDAUX = MATRICE DE HOOKE ELASTIQUE * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS * CMATE = NOM DU MATERIAU * VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU * VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE * IFOU = OPTION DE CALCUL * IB = NUMERO DE L ELEMENT COURANT * IGAU = NUMERO DU POINT COURANT * EPAIST= EPAISSEUR * NBPGAU= NBRE DE POINTS DE GAUSS * MELE = NUMERO DE L ELEMENT FINI * NPINT = NBRE DE POINTS D INTEGRATION * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES * SECT = SECTION * LHOOK = TAILLE DE LA MATRICE DE HOOKE * TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES * POUR LE CALCUL DE LA MATRICE DE HOOKE C C SORTIES: C ------- C SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION C DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS C D'INTEGRATION C KERRE = INDICE QUI REGIT LES ERREURS C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR. C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS. C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES. C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM" C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE C ENTRE MFR ET IFOUR C ================================================================== C ICI IL FAUT PROGRAMMER EN FORTRAN PUR C =================================================================== C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*), & VARF(*),DEFP(*) DIMENSION RSIG0(6),RDSIGT(6),RDEFP(6),RSIGF(6),DSIGT(*) DIMENSION VALMAT(*),VALCAR(*) DIMENSION TXR(IDIM,*),CRIGI(12) DIMENSION DDAUX(LHOOK,*),DDHOMU(LHOOK,*) DIMENSION XLOC(3,3),XGLOB(3,3) DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) CHARACTER*8 CMATE REAL*8 K1,K2,MU C C CALCUL DU TEMPS EQUIVALENT C EACIER = XMAT(1) AIRE = XCAR(1) TENS0 = SIG0(1) SIGP0 = (TENS0/AIRE) + (EACIER*DEPST(1)) EPIN0 = VAR0(1) DSIGP0 = EPIN0*EACIER RO1000 = XMAT(5) FPRG = XMAT(6) TCHA = XMAT(7) IF (RO1000 .LE. 2.5D0) THEN K1 = 6.D-3 K2 = 1.1D0 ELSE K1 = 8.D-3 K2 = 1.25D0 IF (RO1000 .GE. 8.D0) THEN K2 = 1.5D0 ENDIF ENDIF * WRITE(6,*) 'DT = ',DT * WRITE(6,*) 'DEPST(1) = ',DEPST(1) * WRITE(6,*) 'SIG0(1) = ',SIG0(1) * WRITE(6,*) 'VAR0(1) = ',VAR0(1) * WRITE(6,*) 'SIGP0 = ',SIGP0 * WRITE(6,*) 'DSIGP0 = ',DSIGP0 ** WRITE(6,*) 'EACIER = ',EACIER ** WRITE(6,*) 'AIRE = ',AIRE ** WRITE(6,*) 'TENS0 = ',TENS0 ** WRITE(6,*) 'SIGP0 = ',SIGP0 ** WRITE(6,*) 'EPIN0 = ',EPIN0 ** WRITE(6,*) 'DSIGP0 = ',DSIGP0 ** WRITE(6,*) 'RO1000 = ',RO1000 ** WRITE(6,*) 'FPRG = ',FPRG ** WRITE(6,*) 'TCHA = ',TCHA ** WRITE(6,*) 'K1 = ',K1 ** WRITE(6,*) 'K2 = ',K2 CALL TEQUIV(K1,RO1000,TCHA,FPRG,K2,SIGP0,DSIGP0,TEQ) * WRITE(6,*) 'TEQ = ',TEQ MU = (SIGP0+DSIGP0)/FPRG * WRITE(6,*) 'MU = ',MU * WRITE(6,*) 'DT = ',DT DEPIN0 = (K1*RO1000*((24.D0*(TEQ+DT-TCHA)/1.D3) & **(3.D0*(1.D0-MU)/4.D0))* & (EXP((10.D0*MU-7.5D0)/K2))*(SIGP0+DSIGP0) - DSIGP0) & /EACIER DELAS = DEPST(1) - DEPIN0 DEFP(1) = DEPIN0 VARF(1) = VAR0(1) + DEFP(1) * SIGF(1) = (AIRE*SIGP0) + (EACIER*AIRE*DEFP(1)) * SIGF(1) = AIRE*SIGP0 SIGF(1) = SIG0(1) + AIRE*EACIER*DELAS SIGPF = SIGF(1)/AIRE * WRITE(6,*) 'DEFP(1) = ',DEFP(1) * WRITE(6,*) 'VARF(1) = ',VARF(1) * WRITE(6,*) 'SIGF(1) = ',SIGF(1) * WRITE(6,*) 'SIGPF = ',SIGPF RETURN END