1 : C VALPR1 SOURCE CHAT 05/01/13 04:00:58 5004 2 : SUBROUTINE VALPR1 (IPDIAG,IPSOUS,NBITER,PRECI1,PRECI2,IPVALP) 3 : ************************************************************************ 4 : * 5 : * V A L P R 1 6 : * ----------- 7 : * 8 : * FONCTION: 9 : * --------- 10 : * 11 : * VOIR LE SOUS-PROGRAMME "VALPRO". 12 : * 13 : * MODE D'APPEL: 14 : * ------------- 15 : * 15 : * CALL VALPR1 (IPDIAG,IPSOUS,NBITER,PRECI1,PRECI2,IPVALP) 16 : * 17 : * PARAMETRES: (E)=ENTREE (S)=SORTIE 18 : * ----------- 19 : * 20 : * IPDIAG ENTIER (E) POINTEUR SUR LE 'LISTREEL' REPRESENTANT LA 21 : * LA DIAGONALE DE LA MATRICE TRIDIAGONALE. 22 : * IPSOUS ENTIER (E) POINTEUR SUR LE 'LISTREEL' REPRESENTANT LA 23 : * SOUS-DIAGONALE DE LA MATRICE TRIDIAGONALE. 24 : * NBITER ENTIER (E) NOMBRE MAXIMAL D'ITERATIONS PERMISES. 25 : * (S) VALEUR DE REMPLACEMENT FOURNIE SI "NBITER" 26 : * NON DONNE EN ENTREE. 27 : * PRECI1 REEL DP (E) PRECISION ABSOLUE DE CONVERGENCE. 28 : * (S) VALEUR DE REMPLACEMENT FOURNIE SI NI 29 : * "PRECI1", NI "PRECI2", N'ONT ETE DONNES EN 30 : * ENTREE. 31 : * PRECI2 REEL DP (E) PRECISION RELATIVE DE CONVERGENCE. 32 : * (S) VALEUR DE REMPLACEMENT FOURNIE SI NI 33 : * "PRECI1", NI "PRECI2", N'ONT ETE DONNES EN 34 : * ENTREE. 35 : * IPVALP ENTIER (S) POINTEUR SUR LE 'LISTREEL' CONTENANT LES 36 : * VALEURS PROPRES, DANS L'ORDRE DE CALCUL. 37 : * 38 : * SOUS-PROGRAMMES APPELES: 39 : * ------------------------ 40 : * 41 : * VALPR2 42 : * 43 : * AUTEUR, DATE DE CREATION: 44 : * ------------------------- 45 : * 46 : * PASCAL MANIGOT 27 FEVRIER 1985 47 : * 48 : * LANGAGE: 49 : * -------- 50 : * 51 : * ESOPE + FORTRAN77 52 : * 53 : ************************************************************************ 54 : * 55 : IMPLICIT INTEGER(I-N) 56 : -INC CCOPTIO 57 : -INC SMLREEL 58 : * 59 : REAL*8 PRECI1,PRECI2 60 : * 61 : PARAMETER (NBRITE = 50) 62 : REAL*8 PREC1,PREC2 63 : PARAMETER (PREC1 = 1.D-30 , PREC2 = 0.D0) 64 : * 65 : IF (NBITER .LE. 0) THEN 66 : NBITER = NBRITE 67 : END IF 68 : IF (PRECI1 .LE. 0.D0 .AND. PRECI2 .LE. 0.D0) THEN 69 : PRECI1 = PREC1 70 : PRECI2 = PREC2 71 : END IF 72 : * 73 : IF (IIMPI .EQ. 732) THEN 74 : WRITE (IOIMP,2000) NBITER,PRECI1,PRECI2 75 : 2000 FORMAT (//' LE CALCUL DE VALEURS PROPRES VA ETRE FAIT AVEC ', 76 : & ' UN NOMBRE MAXI D''ITERATIONS DE ',I3,', '/ 77 : & ' UNE PRECISION ABSOLUE DE ',1PE10.3,' ET UNE ', 78 : & 'PRECISION RELATIVE DE ',1PE10.3,' .'//) 79 : END IF 80 : * 81 : MLREEL = IPDIAG 82 : MLREE1 = IPSOUS 83 : SEGINI,MLREE2=MLREEL 84 : IPVALP = MLREE2 85 : SEGINI,MLREE3=MLREE1 86 : * 87 : NTERME = MLREE2.PROG(/1) 88 : * 88 : CALL VALPR2 (MLREE2.PROG,NTERME,MLREE3.PROG,NBITER,PRECI1,PRECI2) 89 : IF (IERR .NE. 0) RETURN 90 : * 91 : IF (IIMPI .EQ. 732) THEN 92 : WRITE (IOIMP,2010) (MLREE3.PROG(I),I=1,(NTERME-1)) 93 : 2010 FORMAT (//' TERMES DE LA SOUS-DIAGONALE APRES CONVERGENCE:'// 94 : & 10(2X,1PE10.3)) 95 : END IF 96 : * 97 : SEGSUP,MLREE3 98 : SEGDES,MLREE2 99 : * 100 : END 101 :
© Cast3M 2003 - All rights reserved.
Disclaimer