1 : C CRBTRA SOURCE CHAT 05/01/12 22:27:51 5004 2 : SUBROUTINE CRBTRA(PROPS,NPROPS,TRAC,LTRAC,KINC) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : C----------------------------------------------------------------------- 6 : C 7 : C DESCRIPTION FONCTIONNELLE : 8 : C ------------------------- 9 : C 10 : C Dependance UMAPLI 11 : C => Dependance en deuxieme niveau du module Utilisateur UMAT 12 : C 13 : C Pre-traitement courbe de traction : mise en forme des donnees 14 : C pour les dependances issues de CAST3M 15 : C Programmation conforme a CCOTRA 16 : C 17 : C ENTREES : PROPS,NPROPS 18 : C SORTIES : TRAC,LTRAC,KINC 19 : C 20 : C----------------------------------------------------------------------- 21 : C Arguments de l'interface 22 : C 23 : INTEGER NPROPS, LTRAC, KINC 24 : REAL*8 PROPS(NPROPS), TRAC(*) 25 : C 26 : C Variables locales 27 : C 28 : INTEGER N1, NPOINT, N2, I, I1 29 : REAL*8 YUNG, PEPS, PSIG, PENTE, RA, DEPS 30 : C 31 : C------------------- Debut du code executable -------------------------- 32 : C 33 : C Definition de la courbe de traction : 34 : C - au moins 3 points 35 : C - au plus 131 points 36 : C 37 : N1 = NPROPS-2 38 : IF (N1.LT.6) THEN 39 : KINC = -501 40 : RETURN 41 : ENDIF 42 : IF (N1.GT.262) THEN 43 : KINC = -502 44 : RETURN 45 : ENDIF 46 : C 47 : NPOINT = N1/2 48 : N2 = 2*NPOINT 49 : IF (N2.NE.N1) THEN 50 : KINC = -503 51 : RETURN 52 : ENDIF 53 : C 54 : C Module d'Young non nul 55 : C 56 : YUNG = PROPS(1) 57 : IF (YUNG.EQ.0.D0) THEN 58 : KINC = -504 59 : RETURN 60 : ENDIF 61 : C 62 : C Le premier point de definition est l'origine 63 : C 64 : PEPS = PROPS(3) 65 : PSIG = PROPS(4) 66 : IF (PSIG.NE.0.D0.OR.PEPS.NE.0.D0) THEN 67 : KINC = -505 68 : RETURN 69 : ENDIF 70 : C 71 : C Limite elastique non nulle 72 : C 73 : PSIG = PROPS(6) 74 : IF (PSIG.EQ.0.D0) THEN 75 : KINC = -506 76 : RETURN 77 : ENDIF 78 : PEPS = PROPS(5) 79 : IF (PEPS.EQ.0.D0) THEN 80 : KINC = -507 81 : RETURN 82 : ENDIF 83 : PENTE=PSIG/PEPS 84 : RA=ABS(PENTE-YUNG)/YUNG 85 : IF (RA.GT.1.D-2) THEN 86 : KINC = -508 87 : RETURN 88 : ENDIF 89 : C 90 : C Verification de la pente 91 : C 92 : DO 100 I=3,NPOINT 93 : I1=I-1 94 : DEPS=PROPS(2+(2*I)-1)-PROPS(2+(2*I1)-1) 95 : IF (DEPS.EQ.0.D0) THEN 96 : KINC = -509 97 : RETURN 98 : ENDIF 99 : PENTE=(PROPS(2+(2*I))-PROPS(2+(2*I1)))/DEPS 100 : IF (PENTE.GE.YUNG) THEN 101 : KINC = -510 102 : RETURN 103 : ENDIF 104 : 100 CONTINUE 105 : C 106 : LTRAC=1 107 : TRAC(1)=PROPS(6) 108 : TRAC(2)=0.D0 109 : DO 695 I=3,NPOINT 110 : PEPS=PROPS(2+(2*I)-1) 111 : PSIG=PROPS(2+(2*I)) 112 : LTRAC=LTRAC+1 113 : TRAC(2*LTRAC-1)=PSIG 114 : TRAC(2*LTRAC)=PEPS-PSIG/YUNG 115 : 695 CONTINUE 116 : C 117 : RETURN 118 : END 119 : 120 :
© Cast3M 2003 - All rights reserved.
Disclaimer