Numérotation des lignes :

conpri
C CONPRI    SOURCE    CB215821  16/04/21    21:16:00     8920      SUBROUTINE CONPRI (SIG0,CPHI0,SPHI0,SIGF,CPHIF,SPHIF)C Calcul des contraintes principales et de la direction associeeC a la premiereC 27/06/95      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8(A-H,O-Z)C    Include contenant quelques constantes dont XPI :-INC CCREELCC=================================================================CC ENTREES:C --------CC  SIG0    : Matrice de contraintes non diagonaleC  CPHI0  : Cos et sin de l'angle definissant les directions de la matriceC  SPHI0      precedenteCC SORTIES:C --------CC  SIGF    : Contraintes principalesC  CPHIF  : Nouvelle valeur de la tangenteC  SPHIFC================================================================C      DIMENSION SIG0(4), SIGF(2) , DSIG (4)      PARAMETER ( EPSILO = 1.d-8, EPSIL2=1.D-6, UNDEMI = 0.5D0)CC  Matrice de passageC      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)CC  Nouvel angleC      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      ENDIFC      CPHIF = CPHI0*CDPHI - SPHI0*SDPHI      SPHIF = CPHI0*SDPHI + SPHI0*CDPHICC  Nouvelles contraintes principalesC      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!'      ENDIFCC  FinC      RETURN      END         

© Cast3M 2003 - Tous droits réservés.
Mentions légales