1 : C SURF18 SOURCE PV 07/11/23 21:19:23 5978 2 : SUBROUTINE SURF18 (K,KMAX,USURC,VSURC,USUR,VSUR,DSUR,CONVRG) 3 : ***! $ usur1,vsur1) 4 : ************************************************************************ 5 : * 6 : * S U R F 1 8 7 : * ----------- 8 : * 9 : * FONCTION: 10 : * --------- 11 : * 12 : * - COMPARE L'ITERATION (N) AVEC LA PRECEDENTE (N-1) 13 : * - SI APRES LES ITERATIONS, LE TEST N'EST TOUJOURS PAS VERIFIE 14 : * LA VALEUR DE USUR (OU VSUR) EST LA VALEUR DE LA PREMIERE 15 : * ITERATION. 16 : * 17 : * 18 : * MODULES UTILISES: 19 : * ----------------- 20 : * 21 : IMPLICIT INTEGER(I-N) 22 : IMPLICIT real*8 (a-h,o-z) 23 : -INC CCOPTIO 24 : * 25 : * 26 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 27 : * ----------- 28 : * 29 : * K (E) NUMERO DE L'ITERATION 30 : * KMAX (E) NOMBRE MAXIMUM D'ITERATION 31 : * USURC (E) VALEUR DE USUR A LA PREMIERE ITERATION 32 : * VSURC (E) VALEUR DE VSUR A LA PREMIERE ITERATION 33 : * USUR (E) VALEUR DE USUR AUX ITERATIONS SUIVANTES 34 : * (S) PREND LA VALEUR USURC SI NON CONVERGENCE DU TEST 35 : * VSUR (E) VALEUR DE VSUR AUX ITERATIONS SUIVANTES 36 : * (S) PREND LA VALEUR VSURC SI NON CONVERGENCE DU TEST 37 : * DSUR (E) DENSITE APPROXIMATIVE 38 : * CONVRG (S) .TRUE. SI CONVERGENCE 39 : * 40 : REAL*8 USURC,VSURC,USUR,VSUR,DSUR 41 : LOGICAL CONVRG 42 : * 43 : * 44 : * VARIABLES: 45 : * ---------- 46 : * 47 : * USUR1 ET VSUR1 : VALEURS DE USUR ET VSUR A L'ITERATION PRECEDENTE 48 : * 49 : REAL*8 USUR1,VSUR1,TEST 50 : * SAVE USUR1,VSUR1 51 : * 52 : * 53 : * AUTEUR, DATE DE CREATION: 54 : * ------------------------- 55 : * 56 : * LIONEL VIVAN 10 DECEMBRE 1987 57 : * 58 : * LANGAGE: 59 : * -------- 60 : * 61 : * FORTRAN77 62 : * 63 : ************************************************************************ 64 : * 65 : CONVRG = .FALSE. 66 : IF (K.LE.1) THEN 67 : USUR1 = USURC 68 : VSUR1 = VSURC 69 : END IF 70 : TEST = SQRT((USUR1-USUR)**2+(VSUR1-VSUR)**2) 71 : IF (TEST .LE. (DSUR/20.D0)) THEN 72 : CONVRG = .TRUE. 73 : END IF 74 : * 75 : IF (K.EQ.KMAX .AND. (.NOT.CONVRG)) THEN 76 : INTERR(1)=KMAX 76 : CALL ERREUR(151) 77 : IF (IIMPI.EQ.1805) THEN 78 : WRITE(IOIMP,*)'TEST,DSUR,USURC,VSURC,USUR,VSUR' 79 : WRITE(IOIMP,*)TEST,DSUR,USURC,VSURC,USUR,VSUR 80 : END IF 81 : END IF 82 : * 83 : USUR1=USUR 84 : VSUR1=VSUR 85 : * 86 : END 87 : 88 : 89 :
© Cast3M 2003 - All rights reserved.
Disclaimer