pritem
C PRITEM SOURCE CHAT 05/01/13 02:27:55 5004 C C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : PRITEM C C DESCRIPTION : VOIR PRIMI2 C C Melange des gaz "thermally perfect". C Calcul de la temperature (Newton-Raphson) C C LANGAGE : FORTRAN 77 Standard (avec extensions Fortran 90) C C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF C C************************************************************************ C C APPELES : / C C************************************************************************ C C ENTREES : NORDP1 : ordre des polynoms + 1 C C ACVTOT : table qui contient \sum_i Y(i) PROPHY.ACV(i,j) C j=1,NORDP1 (NORD-th order polynoms) C C ETHER : energie thermique C C T0 : temperature du premier essai; C C SORTIES : C C T : resultat C C LOGNC : si .TRUE., probleme de convergence C C LOGIPG : si .TRUE., il y a une probleme de cv(T)<0 !!! C ERREUR dans la table IPGAS C C************************************************************************ C C HISTORIQUE (Anomalies et modifications éventuelles) C C HISTORIQUE : Créée le 16.1.98. C C************************************************************************ C IMPLICIT INTEGER(I-N) INTEGER I1, ITMAX, ITER, NORDP1 REAL*8 ACVTOT(NORDP1), T0, T, ETHER, ET0, DERET0 LOGICAL LOGNC, LOGCON, LOGIPG C LOGCON = .TRUE. C C*** LOGNC, LOGIPG deja initialize C T1 = T0 ITER = 0 DO WHILE(LOGCON) DERET0 = ACVTOT(1) PUIT = 1.0D0 DO I1 = 2,NORDP1 ATOT = ACVTOT(I1) * PUIT DERET0 = DERET0 + ATOT ET0 = ET0 + ATOT ENDDO C C******* Anomalie si DERET0 < 0 C N.B. DERET0 = CVTOT C IF(DERET0 .LE. 0.0D0)THEN LOGIPG = .TRUE. GOTO 9999 ENDIF DEN = ETHER - ET0 DT = DEN /DERET0 LOGCON = .FALSE. ELSEIF(ITER .GT. ITMAX)THEN LOGNC = .TRUE. LOGCON = .FALSE. ELSE ITER = ITER + 1 ENDIF ENDDO C C**** Visualisation des iterations C On peut voir que la methode est tres efficace (3,4) C write(*,*) iter 9999 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales