1 : C XNUAG1 SOURCE PV 11/03/07 21:18:45 6885 2 : SUBROUTINE XNUAG1(xmatjc,JC,WR11,NTABO3,NTABO4,KERRE) 3 : C XNUAGE SOURCE STRU 94/06/13 21:18:40 1161 4 : c SUBROUTINE XNUAGE(WRK0,JC,WR11,NTABO3,NTABO4,KERRE) 5 : C 6 : C CE PROGRAMME RANGE DANS 2 TABLEAUX LES INFOS RELATIVES A UNE 7 : C COMPOSANTE DE MATERIAU DE TYPE NUAGE 8 : C IL EST UTILISE POUR LES MATR. ENDOMMAGEABLES DE LEMAITRE (26 OU 29) 9 : C 10 : C ENTREES: 11 : C ------- 12 : C JC = NUMERO DE COMPOSANTE REPRESENTANT LA COURBE DE TRACTION 13 : C OU LA COURBE k(X) RESPECTIVEMENT POUR MATR. 26 OU 29 14 : C XMATJC = POINTEUR SUR UN OBJET DE TYPE NUAGE REPRESENTANT : 15 : C -LA COURBE DE TRACTION EN FONCTION DE LA TEMPERATURE T 16 : C POUR MATR. 26 17 : C -LA COURBE k(X) EN FONCTION DE LA TEMPERATURE T 18 : C POUR MATR. 29 (k=PARAMETRE X=CONTR.) 19 : C NTABO3 = 0 20 : C NTABO4 = 0 21 : C 22 : C SORTIES: 23 : C ------- 24 : C NTABO3 = NBR. DE COURBES 25 : C IABLO3 = TABLEAU CONTENANT POUR CHAQUE COURBE LE NBR. DE PTS. QUI LA 26 : C DEFINIT 27 : C NTABO4 = DIMENSION DU TABLEAU TABLO4 28 : C TABLO4 = TABLEAU CONTENANT : 29 : C T1 EPS11 SIG11 EPS12 SIG12 ... T2 EPS21 SIG21 EPS22 SIG22 ... 30 : C T3 .... POUR MATR. 26 31 : C T1 X11 k11 X12 k12 ... T2 X21 k21 X22 k22 ... T3 ... 32 : C POUR MATR. 29 33 : C 34 : IMPLICIT INTEGER(I-N) 35 : IMPLICIT REAL*8(A-H,O-Z) 36 : -INC CCOPTIO 37 : -INC SMNUAGE 38 : -INC SMEVOLL 39 : -INC SMLREEL 40 : * 41 : SEGMENT WR11 42 : INTEGER IABLO3(NTABO3) 43 : REAL*8 TABLO4(NTABO4) 44 : ENDSEGMENT 45 : * 46 : KERRE=0 47 : c MNUAGE=XMAT(JC) 48 : MNUAGE=nint(xmatjc) 49 : SEGACT MNUAGE 50 : IF(MNUAGE.EQ.0) THEN 51 : MOTERR(1:8)='NUAGE ' 51 : CALL ERREUR(37) 52 : KERRE=37 53 : RETURN 54 : ENDIF 55 : NVAR=NUANOM(/2) 56 : IF(NVAR.LE.1) THEN 57 : SEGDES MNUAGE 58 : INTERR(1)=MNUAGE 59 : INTERR(2)=2 60 : INTERR(3)=2 60 : CALL ERREUR(628) 61 : KERRE=628 62 : RETURN 63 : ENDIF 64 : DO 203 IA=1,NVAR 65 : IF (NUATYP(IA).EQ.'FLOTTANT') GOTO 204 66 : 203 CONTINUE 67 : SEGDES MNUAGE 68 : INTERR(1)=MNUAGE 69 : MOTERR(1:8)='FLOTTANT' 69 : CALL ERREUR(629) 70 : KERRE=629 71 : RETURN 72 : 204 CONTINUE 73 : DO 205 IB=1,NVAR 74 : IF (NUATYP(IB).EQ.'EVOLUTIO') GOTO 206 75 : 205 CONTINUE 76 : SEGDES MNUAGE 77 : INTERR(1)=MNUAGE 78 : MOTERR(1:8)='EVOLUTIO' 78 : CALL ERREUR(629) 79 : KERRE=629 80 : RETURN 81 : 206 CONTINUE 82 : NUAVFL=NUAPOI(IA) 83 : NUAVIN=NUAPOI(IB) 84 : SEGACT NUAVFL 85 : SEGACT NUAVIN 86 : NBC1=NUAFLO(/1) 87 : NBC2=NUAINT(/1) 88 : IF (NBC1.NE.NBC2) THEN 89 : SEGDES MNUAGE,NUAVFL,NUAVIN 89 : CALL ERREUR(625) 90 : KERRE=625 91 : RETURN 92 : ENDIF 93 : IF (NBC1.LE.1) THEN 94 : SEGDES MNUAGE,NUAVFL,NUAVIN 95 : INTERR(1)=MNUAGE 96 : INTERR(2)=2 97 : INTERR(3)=2 97 : CALL ERREUR(628) 98 : KERRE=628 99 : RETURN 100 : ENDIF 101 : NTABO3=NBC1 102 : J0=1 103 : NTABO4=J0 104 : SEGADJ WR11 105 : DO 301 I=1,NBC1 106 : MEVOLL=NUAINT(I) 107 : IF(MEVOLL.EQ.0) THEN 108 : MOTERR(1:8)='EVOLUTIO' 108 : CALL ERREUR(37) 109 : KERRE=37 110 : RETURN 111 : ENDIF 112 : SEGACT MEVOLL 113 : KEVOLL=IEVOLL(1) 114 : SEGACT KEVOLL 115 : MLREEL=IPROGX 116 : MLREE1=IPROGY 117 : SEGDES KEVOLL 118 : SEGACT MLREEL,MLREE1 119 : NBPOIX=PROG(/1) 120 : IABLO3(I)=NBPOIX 121 : TABLO4(J0)=NUAFLO(I) 122 : DO 298 J=1,NBPOIX 123 : NTABO4=J0+(2*J) 124 : SEGADJ WR11 125 : TABLO4(J0+(2*J-1))=PROG(J) 126 : TABLO4(J0+2*J)=MLREE1.PROG(J) 127 : 298 CONTINUE 128 : IF (I.LT.NBC1) THEN 129 : J0=J0+1+(2*NBPOIX) 130 : NTABO4=J0 131 : SEGADJ WR11 132 : ENDIF 133 : SEGDES MLREEL,MLREE1 134 : SEGDES MEVOLL 135 : 301 CONTINUE 136 : SEGDES NUAVFL 137 : SEGDES NUAVIN 138 : SEGDES MNUAGE 139 : RETURN 140 : END 141 : 142 : 143 :
© Cast3M 2003 - All rights reserved.
Disclaimer