normbl
C NORMBL SOURCE CHAT 05/01/13 02:00:18 5004 C Calcul du gradient pour les differents mecanismes C 13/06/95 C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C C======================================================================== C Cette routine calcule le gradient (ou la normale) C C ENTREES: C ------- C AAA = Vecteurs contraintes egal a SIGT pour les deux surfaces C ISGN1 = 1 EN TRACTION -1 EN COMPRESSION C ISGN2 = -1 SI ON ECOULE SUR LA PLUS PETITE CONT. PRIN. C +1 SI ON ECOULE SUR LA PLUS GRANDE CONT. PRINC. C FT = Contrainte de reference pour le test de l'apex C SORTIES: C ------- C FFF = Vecteur normal C C C======================================================================== C PARAMETER(UNDEMI=.5D0, DEUX =2.D0 , PRECIS=1.D-4) C DIMENSION AAA(4) , FFF(4) C C======================================================================== C Calcul de phi C==================================================================== PHI = SQRT ((UNDEMI*(AAA(1)-AAA(2)))**2+AAA(4)**2) IF (PHI.LT.ABS(PRECIS*FT)) THEN C Cas de l'apex FFF(4) = 0.D0 IF (NSURF.EQ.2) THEN FFF(1) = ISGN1*UNDEMI*SQRT(2.D0) FFF(2) = FFF(1) ELSE IF (AAA(1).GE.AAA(2)) THEN FFF(1) = ISGN1*(ISGN2 + 1.)*UNDEMI FFF(2) = ISGN1*(-ISGN2 + 1.)*UNDEMI ELSE FFF(1) = ISGN1*(-ISGN2 + 1.)*UNDEMI FFF(2) = ISGN1*(ISGN2 + 1.)*UNDEMI ENDIF ENDIF ELSE C Cas regulier FFF(1) = ISGN1*(ISGN2*UNDEMI/PHI*UNDEMI*(AAA(1)-AAA(2)) & + UNDEMI) FFF(2) = ISGN1*(ISGN2*UNDEMI/PHI*UNDEMI*(AAA(2)-AAA(1)) & + UNDEMI) FFF(4) = ISGN1*ISGN2*AAA(4)/PHI ENDIF C======================================================================== C Fin de la routine C======================================================================== RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales