Download normbl.eso

Back to the list

   1 : C NORMBL    SOURCE    CHAT      05/01/13    02:00:18     5004           
   2 :       SUBROUTINE NORMBL ( AAA , FT, ISGN1 , ISGN2 , NSURF, FFF)
   3 : C Calcul du gradient pour les differents mecanismes 
   4 : C 13/06/95
   5 : C
   6 :       IMPLICIT INTEGER(I-N)
   7 :       IMPLICIT REAL*8(A-H,O-Z)
   8 : C
   9 : C========================================================================
  10 : C Cette routine calcule le gradient (ou la normale)
  11 : C
  12 : C ENTREES:
  13 : C -------
  14 : C   AAA    = Vecteurs contraintes egal a SIGT pour les deux surfaces
  15 : C   ISGN1  =  1 EN TRACTION -1 EN COMPRESSION
  16 : C   ISGN2  = -1 SI ON ECOULE SUR LA PLUS PETITE CONT. PRIN.
  17 : C            +1 SI ON ECOULE SUR LA PLUS GRANDE CONT. PRINC.
  18 : C   FT     = Contrainte de reference pour le test de l'apex
  19 : C SORTIES:
  20 : C -------
  21 : C   FFF    = Vecteur normal 
  22 : C
  23 : C
  24 : C========================================================================
  25 : C
  26 :       PARAMETER(UNDEMI=.5D0, DEUX =2.D0 , PRECIS=1.D-4)
  27 : C
  28 :       DIMENSION AAA(4) , FFF(4)
  29 : C
  30 : C========================================================================
  31 : C                      Calcul de phi
  32 : C====================================================================
  33 :       PHI = SQRT ((UNDEMI*(AAA(1)-AAA(2)))**2+AAA(4)**2)
  34 :       IF (PHI.LT.ABS(PRECIS*FT)) THEN 
  35 : C                      Cas de l'apex
  36 :         FFF(4) = 0.D0
  37 :         IF (NSURF.EQ.2) THEN
  38 :           FFF(1) = ISGN1*UNDEMI*SQRT(2.D0)
  39 :           FFF(2) = FFF(1)
  40 :         ELSE
  41 :           IF (AAA(1).GE.AAA(2)) THEN
  42 :             FFF(1) = ISGN1*(ISGN2 + 1.)*UNDEMI 
  43 :             FFF(2) = ISGN1*(-ISGN2 + 1.)*UNDEMI 
  44 :           ELSE
  45 :             FFF(1) = ISGN1*(-ISGN2 + 1.)*UNDEMI
  46 :             FFF(2) = ISGN1*(ISGN2 + 1.)*UNDEMI
  47 :           ENDIF
  48 :         ENDIF
  49 :       ELSE
  50 : C                      Cas regulier
  51 :         FFF(1) = ISGN1*(ISGN2*UNDEMI/PHI*UNDEMI*(AAA(1)-AAA(2))
  52 :      &                  +  UNDEMI)
  53 :         FFF(2) = ISGN1*(ISGN2*UNDEMI/PHI*UNDEMI*(AAA(2)-AAA(1))
  54 :      &                  + UNDEMI)
  55 :         FFF(4) = ISGN1*ISGN2*AAA(4)/PHI
  56 :       ENDIF
  57 : C========================================================================
  58 : C                     Fin de la routine
  59 : C========================================================================
  60 :       RETURN
  61 :       END
  62 :  
  63 :  

© Cast3M 2003 - All rights reserved.
Disclaimer