C SURF18    SOURCE    PV        07/11/23    21:19:23     5978
      SUBROUTINE SURF18 (K,KMAX,USURC,VSURC,USUR,VSUR,DSUR,CONVRG)
***! $ usur1,vsur1)
************************************************************************
*
*                             S U R F 1 8
*                             -----------
*
* FONCTION:
* ---------
*
*     - COMPARE L'ITERATION (N) AVEC LA PRECEDENTE (N-1)
*     - SI APRES LES ITERATIONS, LE TEST N'EST TOUJOURS PAS VERIFIE
*       LA VALEUR DE USUR (OU VSUR) EST LA VALEUR DE LA PREMIERE
*       ITERATION.
*
*
* MODULES UTILISES:
* -----------------
*
      IMPLICIT INTEGER(I-N)
      IMPLICIT real*8 (a-h,o-z)
-INC PPARAM
-INC CCOPTIO
*
*
* PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)
* -----------
*
*     K       (E)  NUMERO DE L'ITERATION
*     KMAX    (E)  NOMBRE MAXIMUM D'ITERATION
*     USURC   (E)  VALEUR DE USUR A LA PREMIERE ITERATION
*     VSURC   (E)  VALEUR DE VSUR A LA PREMIERE ITERATION
*     USUR    (E)  VALEUR DE USUR AUX ITERATIONS SUIVANTES
*             (S)  PREND LA VALEUR USURC SI NON CONVERGENCE DU TEST
*     VSUR    (E)  VALEUR DE VSUR AUX ITERATIONS SUIVANTES
*             (S)  PREND LA VALEUR VSURC SI NON CONVERGENCE DU TEST
*     DSUR    (E)  DENSITE APPROXIMATIVE
*     CONVRG  (S)  .TRUE. SI CONVERGENCE
*
      REAL*8 USURC,VSURC,USUR,VSUR,DSUR
      LOGICAL CONVRG
*
*
* VARIABLES:
* ----------
*
*     USUR1 ET VSUR1 : VALEURS DE USUR ET VSUR A L'ITERATION PRECEDENTE
*
      REAL*8 USUR1,VSUR1,TEST
*      SAVE USUR1,VSUR1
*
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
*     LIONEL VIVAN       10 DECEMBRE 1987
*
* LANGAGE:
* --------
*
*     FORTRAN77
*
************************************************************************
*
      CONVRG = .FALSE.
      IF (K.LE.1) THEN
         USUR1 = USURC
         VSUR1 = VSURC
      END IF
      TEST = SQRT((USUR1-USUR)**2+(VSUR1-VSUR)**2)
      IF (TEST .LE. (DSUR/20.D0)) THEN
         CONVRG = .TRUE.
      END IF
*
      IF (K.EQ.KMAX .AND. (.NOT.CONVRG)) THEN
         INTERR(1)=KMAX
         CALL ERREUR(151)
         IF (IIMPI.EQ.1805) THEN
            WRITE(IOIMP,*)'TEST,DSUR,USURC,VSURC,USUR,VSUR'
            WRITE(IOIMP,*)TEST,DSUR,USURC,VSURC,USUR,VSUR
         END IF
      END IF
*
      USUR1=USUR
      VSUR1=VSUR
*
      END



