C PRECN1 SOURCE CHAT 05/10/27 21:17:35 5227 SUBROUTINE PRECN1(PS1,EA,F1,F2,GANC,RMU0,FPRG,RH10,SLON, & FAI,SINI,SECT1,XLMBDA,SD,LAST,PSL,valstr,ICOMP) C======================================================================C C C C ENTREES : C C PS1 = EFFORT DE TENSION DU CABLE EN BOUT C C EA = MODULE d'YOUNG DE l'ACIER C C F1 = COEFFICIENT DE FROTTEMENT C C F2 = COEFFICIENT DE FROTTEMENT PAR METRE LINEAIRE DROIT C C GANC = GLISSEMENT A L'ANCRAGE C C RMU0 = COEFFICIENT EGAL A 0.43 POUR LES ACIERS TBR C C FPRG = CONTRAINTE DE RUPTURE GARANTIE C C RH10 = RELAXATION DES ACIERS A 1000 HEURES EN % C C SLON = LONGUEUR DU CABLE A PARTIR DE L'EXTREMITE C C FAI = VARIATION D'ANGLE TOTAL DE L ANCRAGE A L ELEMENT C C SINI = CONTRAINTE INITIALE AU POINT CONSIDERE C C sect1 = section du cable C C XLMBDA = DISTANCE D'INFLUENCE DU RECUL D'ANCRAGE C SD = VALEUR DE L'EXPOSANT POUR X=XLMBDA C LAST = 1 SI XLMDA DEPASSE LA LONGUEUR DU CABLE ( 0 SINON) C PSL = CONTRAINTE EN BOUT SI LAST = 1 C SORTIES : C C valstr = EFFORT AU POINT DE GAUSS DE LELEMENT COURANT CABLE C C ICOMP = REPERE LA COMPATIBILITE DES DONNEES (=1 SI PB) C C C C----------------------------------------------------------------------C C Modif JMB NOV 97 C======================================================================C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC PPARAM -INC CCOPTIO icomp=0 valstr = ps1 SP = F1*FAI + F2*SLON * ... perte par frottement ... valstr=PS1*EXP(-SP) * ... perte éventuelle par glissement à l'ancrage ... IF(XLMBDA.GT.1.e-20) THEN * IF(LAST.EQ.0) THEN * cas ou la longueur d'influence est inferieure * a la longueur du cable IF (SLON.LT.XLMBDA) THEN valstr = valstr * EXP (2.D0*(SP-SD)) ENDIF ELSE * cas ou la longueur d'influence est superieure * a la longueur du cable VALSTR=PSL * EXP(SP-SD) ENDIF ENDIF * IF ( valstr.LT.(0.D0) ) THEN ICOMP = 1 RETURN ENDIF ***** IF(FPRG.EQ.0.)FPRG=1.D-30 IF(FPRG.NE.0.D0) THEN VAL = (0.06D0*((valstr/(FPRG*SECT1) )-RMU0)*valstr*RH10) IF ( VAL.GT.(0.) ) THEN valstr = valstr - VAL ENDIF ENDIF if ( valstr.lt.sini) valstr = sini return END