Download conpri.eso

Back to the list

   1 : C CONPRI    SOURCE    CHAT      05/01/12    22:18:27     5004           
   2 :       SUBROUTINE CONPRI (SIG0,CPHI0,SPHI0,SIGF,CPHIF,SPHIF)
   3 : C Calcul des contraintes principales et de la direction associee
   4 : C a la premiere
   5 : C 27/06/95
   6 :       IMPLICIT INTEGER(I-N)
   7 :       IMPLICIT REAL*8(A-H,O-Z)
   8 : C    Include contenant quelques constantes dont XPI :
   9 : -INC CCREEL
  10 : C     
  11 : C=================================================================
  12 : C     
  13 : C ENTREES:
  14 : C --------
  15 : C     
  16 : C  SIG0    : Matrice de contraintes non diagonale
  17 : C  CPHI0  : Cos et sin de l'angle definissant les directions de la matrice
  18 : C  SPHI0      precedente
  19 : C     
  20 : C SORTIES:
  21 : C --------
  22 : C     
  23 : C  SIGF    : Contraintes principales
  24 : C  CPHIF  : Nouvelle valeur de la tangente
  25 : C  SPHIF
  26 : C================================================================
  27 : C     
  28 :       DIMENSION SIG0(4), SIGF(2) , DSIG (4)
  29 :       PARAMETER ( EPSILO = 1.d-8, EPSIL2=1.D-6, UNDEMI = 0.5D0)
  30 : C     
  31 : C  Matrice de passage
  32 : C     
  33 :       DSIG(1) = (CPHI0**2)*SIG0(1) + (SPHI0**2)*SIG0(2)
  34 :      &     -(2.D0*CPHI0*SPHI0)*SIG0(4)
  35 :       DSIG(2) = (SPHI0**2)*SIG0(1) + (CPHI0**2)*SIG0(2)
  36 :      &     +(2.D0*CPHI0*SPHI0)*SIG0(4)
  37 :       DSIG(4) = (SPHI0*CPHI0)*(SIG0(1)-SIG0(2))
  38 :      &     +(CPHI0**2-SPHI0**2)*SIG0(4)
  39 : C     
  40 : C  Nouvel angle
  41 : C     
  42 :       IF (ABS(DSIG(2) - DSIG(1)).GT.EPSILO) THEN
  43 :          TG2PHI = -2.D0*DSIG(4)/(DSIG(1) - DSIG(2))
  44 :          XDPHI = UNDEMI*DATAN(TG2PHI)
  45 :          CDPHI = DCOS(XDPHI)
  46 :          SDPHI = DSIN(XDPHI)
  47 :       ELSE
  48 :          IF (ABS(DSIG(4)).LT.EPSILO) THEN
  49 :             XDPHI = 0.D0
  50 :             CDPHI = DCOS(XDPHI)
  51 :             SDPHI = DSIN(XDPHI)
  52 :          ELSE
  53 :             XDPHI = SIGN ((XPI/4.D0), DSIG(4)*(DSIG(1)-DSIG(2)))
  54 :             CDPHI = SQRT(2.D0)/2.D0
  55 :             SDPHI = SIGN (CDPHI, DSIG(4)*(DSIG(1)-DSIG(2)))
  56 :          ENDIF
  57 :       ENDIF
  58 : C     
  59 :       CPHIF = CPHI0*CDPHI - SPHI0*SDPHI
  60 :       SPHIF = CPHI0*SDPHI + SPHI0*CDPHI
  61 : C     
  62 : C  Nouvelles contraintes principales
  63 : C     
  64 :       SIGF(1) = (CPHIF**2)*SIG0(1) + (SPHIF**2)*SIG0(2)
  65 :      &     - (2.D0*CPHIF*SPHIF)*SIG0(4)
  66 :       SIGF(2) = (SPHIF**2)*SIG0(1) + (CPHIF**2)*SIG0(2)
  67 :      &     + (2.D0*CPHIF*SPHIF)*SIG0(4)
  68 :       XTEST   = (SPHIF*CPHIF)*(SIG0(1)-SIG0(2))
  69 :      &     +(CPHIF**2-SPHIF**2)*SIG0(4)
  70 :       IF (ABS(XTEST)/(ABS(SIGF(1))+ABS(SIGF(2))+1).GT.EPSIL2)THEN
  71 :          WRITE(6,*)'CONPRI : hell and damnation!'
  72 :       ENDIF
  73 : C     
  74 : C  Fin
  75 : C     
  76 :       RETURN
  77 :       END
  78 : 
  79 : 
  80 : 
  81 :  
  82 :  
  83 :  

© Cast3M 2003 - All rights reserved.
Disclaimer