conpri
C CONPRI SOURCE CB215821 16/04/21 21:16:00 8920 C Calcul des contraintes principales et de la direction associee C a la premiere C 27/06/95 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL C C================================================================= C C ENTREES: C -------- C C SIG0 : Matrice de contraintes non diagonale C CPHI0 : Cos et sin de l'angle definissant les directions de la matrice C SPHI0 precedente C C SORTIES: C -------- C C SIGF : Contraintes principales C CPHIF : Nouvelle valeur de la tangente C SPHIF C================================================================ C DIMENSION SIG0(4), SIGF(2) , DSIG (4) PARAMETER ( EPSILO = 1.d-8, EPSIL2=1.D-6, UNDEMI = 0.5D0) C C Matrice de passage C DSIG(1) = (CPHI0**2)*SIG0(1) + (SPHI0**2)*SIG0(2) & -(2.D0*CPHI0*SPHI0)*SIG0(4) DSIG(2) = (SPHI0**2)*SIG0(1) + (CPHI0**2)*SIG0(2) & +(2.D0*CPHI0*SPHI0)*SIG0(4) DSIG(4) = (SPHI0*CPHI0)*(SIG0(1)-SIG0(2)) & +(CPHI0**2-SPHI0**2)*SIG0(4) C C Nouvel angle C IF (ABS(DSIG(2) - DSIG(1)).GT.EPSILO) THEN TG2PHI = -2.D0*DSIG(4)/(DSIG(1) - DSIG(2)) XDPHI = UNDEMI*ATAN(TG2PHI) CDPHI = COS(XDPHI) SDPHI = SIN(XDPHI) ELSE IF (ABS(DSIG(4)).LT.EPSILO) THEN XDPHI = 0.D0 CDPHI = COS(XDPHI) SDPHI = SIN(XDPHI) ELSE XDPHI = SIGN ((XPI/4.D0), DSIG(4)*(DSIG(1)-DSIG(2))) CDPHI = SQRT(2.D0)/2.D0 SDPHI = SIGN (CDPHI, DSIG(4)*(DSIG(1)-DSIG(2))) ENDIF ENDIF C CPHIF = CPHI0*CDPHI - SPHI0*SDPHI SPHIF = CPHI0*SDPHI + SPHI0*CDPHI C C Nouvelles contraintes principales C SIGF(1) = (CPHIF**2)*SIG0(1) + (SPHIF**2)*SIG0(2) & - (2.D0*CPHIF*SPHIF)*SIG0(4) SIGF(2) = (SPHIF**2)*SIG0(1) + (CPHIF**2)*SIG0(2) & + (2.D0*CPHIF*SPHIF)*SIG0(4) XTEST = (SPHIF*CPHIF)*(SIG0(1)-SIG0(2)) & +(CPHIF**2-SPHIF**2)*SIG0(4) IF (ABS(XTEST)/(ABS(SIGF(1))+ABS(SIGF(2))+1).GT.EPSIL2)THEN WRITE(6,*)'CONPRI : hell and damnation!' ENDIF C C Fin C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales