1 : C CHALIM SOURCE CHAT 05/01/12 21:54:33 5004 2 : SUBROUTINE CHALIM(EPS,R,XMAT,TET,ICOD,A1,C1,A2,C2,R0,RM,B, 3 : .PHI,PSI,OME,ICENT2,IDIAM,NUMCHA) 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8(A-H,O-Z) 6 : DIMENSION XMAT(*),LMOT(5) 7 : DATA LMOT/5,7,7,9,1/ 8 : LLMOT=LMOT(NUMCHA) 9 : NTET=0 10 : IF(NTET.NE.0) GO TO 20 11 : GO TO (11,12,13,14,15),NUMCHA 12 : 11 R=XMAT(7) 13 : PSI=XMAT(8) 14 : OME=XMAT(9) 15 : IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 16 : IF(ICOD.EQ.1) GO TO 500 17 : ICENT2=0 18 : IDIAM=0 19 : GO TO 16 20 : 12 R0=XMAT(7) 21 : PSI=XMAT(8) 22 : OME=XMAT(9) 23 : RM=XMAT(10) 24 : B=XMAT(11) 25 : IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 26 : IF(ICOD.EQ.1) GO TO 100 27 : ICENT2=0 28 : IDIAM=1 29 : GO TO 16 30 : 13 R=XMAT(9) 31 : PSI=XMAT(10) 32 : OME=XMAT(11) 33 : IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 34 : IF(ICOD.EQ.1) GO TO 500 35 : A2=XMAT(7) 36 : C2=XMAT(8) 37 : ICENT2=1 38 : IDIAM=0 39 : GO TO 16 40 : 14 R0=XMAT(9) 41 : PSI=XMAT(10) 42 : OME=XMAT(11) 43 : RM=XMAT(12) 44 : B=XMAT(13) 45 : IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 46 : IF(ICOD.EQ.1) GO TO 100 47 : A2=XMAT(7) 48 : C2=XMAT(8) 49 : ICENT2=1 50 : IDIAM=1 51 : GO TO 16 52 : 15 CONTINUE 53 : 16 A1=XMAT(5) 54 : C1=XMAT(6) 55 : RETURN 56 : 20 T1=XMAT(3) 57 : T2=XMAT(4) 58 : IT1=1 59 : IT2=2 60 : C 61 : C LES TEMPERATURES SONT SUPPOSEES RENTREES DANS L'ORDRE CROISSANT 62 : C 63 : IF(NTET.EQ.2) GO TO 250 64 : IF(TET.LE.T2) GO TO 250 65 : T1=XMAT(4) 66 : T2=XMAT(5) 67 : IT1=2 68 : IT2=3 69 : 250 DT=T2-T1 70 : XX=(TET-T1)/DT 71 : XY=1.-XX 72 : IT1=5+LLMOT*(IT1-1) 73 : IT2=5+LLMOT*(IT2-1) 74 : GO TO (261,262,263,264,265),NUMCHA 75 : 261 R=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX 76 : PSI=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX 77 : OME=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX 78 : IF(ICOD.EQ.1) GO TO 500 79 : ICENT2=0 80 : IDIAM=0 81 : GO TO 266 82 : 262 R0=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX 83 : RM=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX 84 : B= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX 85 : PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX 86 : OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX 87 : IF(ICOD.EQ.1) GO TO 100 88 : ICENT2=0 89 : IDIAM=1 90 : GO TO 266 91 : 263 R= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX 92 : PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX 93 : OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX 94 : IF(ICOD.EQ.1) GO TO 500 95 : A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX 96 : C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX 97 : ICENT2=1 98 : IDIAM=0 99 : GO TO 266 100 : 264 R0=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX 101 : RM=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX 102 : B= XMAT(IT1+7)*XY+XMAT(IT2+7)*XX 103 : PSI=XMAT(IT1+8)*XY+XMAT(IT2+8)*XX 104 : OME=XMAT(IT1+9)*XY+XMAT(IT2+9)*XX 105 : IF(ICOD.EQ.1) GO TO 100 106 : A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX 107 : C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX 108 : ICENT2=1 109 : IDIAM=1 110 : GO TO 266 111 : 265 CONTINUE 112 : 266 A1=XMAT(IT1+1)*XY+XMAT(IT2+1)*XX 113 : C1=XMAT(IT1+2)*XY+XMAT(IT2+2)*XX 114 : RETURN 115 : 100 R=RM-(RM-R0)*EXP(-B*EPS) 116 : 500 CONTINUE 117 : PHI=1.D00 118 : IF(PSI.NE.1.D00) 119 : . PHI=1.D00+(PSI-1.D00)*EXP(-OME*EPS) 120 : RETURN 121 : END 122 :
© Cast3M 2003 - All rights reserved.
Disclaimer