C CHALIM SOURCE CHAT 05/01/12 21:54:33 5004 SUBROUTINE CHALIM(EPS,R,XMAT,TET,ICOD,A1,C1,A2,C2,R0,RM,B, .PHI,PSI,OME,ICENT2,IDIAM,NUMCHA) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XMAT(*),LMOT(5) DATA LMOT/5,7,7,9,1/ LLMOT=LMOT(NUMCHA) NTET=0 IF(NTET.NE.0) GO TO 20 GO TO (11,12,13,14,15),NUMCHA 11 R=XMAT(7) PSI=XMAT(8) OME=XMAT(9) IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 IF(ICOD.EQ.1) GO TO 500 ICENT2=0 IDIAM=0 GO TO 16 12 R0=XMAT(7) PSI=XMAT(8) OME=XMAT(9) RM=XMAT(10) B=XMAT(11) IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 IF(ICOD.EQ.1) GO TO 100 ICENT2=0 IDIAM=1 GO TO 16 13 R=XMAT(9) PSI=XMAT(10) OME=XMAT(11) IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 IF(ICOD.EQ.1) GO TO 500 A2=XMAT(7) C2=XMAT(8) ICENT2=1 IDIAM=0 GO TO 16 14 R0=XMAT(9) PSI=XMAT(10) OME=XMAT(11) RM=XMAT(12) B=XMAT(13) IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0 IF(ICOD.EQ.1) GO TO 100 A2=XMAT(7) C2=XMAT(8) ICENT2=1 IDIAM=1 GO TO 16 15 CONTINUE 16 A1=XMAT(5) C1=XMAT(6) RETURN 20 T1=XMAT(3) T2=XMAT(4) IT1=1 IT2=2 C C LES TEMPERATURES SONT SUPPOSEES RENTREES DANS L'ORDRE CROISSANT C IF(NTET.EQ.2) GO TO 250 IF(TET.LE.T2) GO TO 250 T1=XMAT(4) T2=XMAT(5) IT1=2 IT2=3 250 DT=T2-T1 XX=(TET-T1)/DT XY=1.-XX IT1=5+LLMOT*(IT1-1) IT2=5+LLMOT*(IT2-1) GO TO (261,262,263,264,265),NUMCHA 261 R=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX PSI=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX OME=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX IF(ICOD.EQ.1) GO TO 500 ICENT2=0 IDIAM=0 GO TO 266 262 R0=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX RM=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX B= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX IF(ICOD.EQ.1) GO TO 100 ICENT2=0 IDIAM=1 GO TO 266 263 R= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX IF(ICOD.EQ.1) GO TO 500 A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX ICENT2=1 IDIAM=0 GO TO 266 264 R0=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX RM=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX B= XMAT(IT1+7)*XY+XMAT(IT2+7)*XX PSI=XMAT(IT1+8)*XY+XMAT(IT2+8)*XX OME=XMAT(IT1+9)*XY+XMAT(IT2+9)*XX IF(ICOD.EQ.1) GO TO 100 A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX ICENT2=1 IDIAM=1 GO TO 266 265 CONTINUE 266 A1=XMAT(IT1+1)*XY+XMAT(IT2+1)*XX C1=XMAT(IT1+2)*XY+XMAT(IT2+2)*XX RETURN 100 R=RM-(RM-R0)*EXP(-B*EPS) 500 CONTINUE PHI=1.D00 IF(PSI.NE.1.D00) . PHI=1.D00+(PSI-1.D00)*EXP(-OME*EPS) RETURN END