C^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SUBROUTINE CONV2(ETONEW,ETOOLD,IMD,ITERMD,CMIX)
C^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IMPLICIT REAL(A-H,O-Y)
IMPLICIT COMPLEX(Z)
INCLUDE 'PACVPP'
IF (ITER.EQ.IMD+1) WRITE (6,*) 'MIXING RATE = ',CMIX
IF (ITER.GE.IMD+1) PMIX(ITER)=CMIX
ZFFF=DCMPLX(0.0D0,0.0D0)
PPMIX = PMIX(ITER)
QQMIX = 1.D0 - PPMIX
DO 1100 I=1,KG
ZUU1=ZCHG(I)-ZCHGO(I)
ZFFF=ZFFF+DCONJG(ZUU1)*ZUU1
ZCHO1 = ZCHGO(I)
ZCHGO(I) = ZCHG(I)
ZCHG(I) = ZCHO1*PPMIX + ZCHGO(I)*QQMIX
1100 CONTINUE
DCHG=DSQRT(DREAL(ZFFF))
5000 CONTINUE
IF(ITER.NE.1) THEN
EPP2=ABS(ETONEW-ETOOLD)
IF(ETOOLD.LT.ETONEW) THEN
C-------------------------------WRITE(6,*) '**********************'
WRITE(6,*) '>> ETOOLD.LT.ETONEW <<'
C-------------------------------WRITE(6,*) '**********************'
WRITE(6,*) 'ETONEW-ETTOOLD=',
& ETONEW-ETOOLD
EPP2=1.0D0
END IF
ETOOLD=ETONEW
ELSE
EPP2 =1.0D5
ETOOLD=ETONEW
END IF
EDEV=27200.0D0*EPP2
WRITE(6,610) ITER,EPP2,EDEV,DCHG
610 FORMAT(1H ,' ITER=',I3,' ET(H)=',D15.7,' ET(M)=',F10.6,' DC='
& ,D15.7)
IF( ITER.LE.ITEMAX ) THEN
C IF(EPP2.LE.CONV) GOTO 2000
IF(ITER.NE.ITEMAX) THEN
IFLAG=1
GO TO 9999
END IF
END IF
WRITE(6,*) '////////////////////////////////////////////'
WRITE(6,*) '// UNLUCKY! CONVERGENCE WAS NOT ACHIEVED! //'
WRITE(6,*) '////////////////////////////////////////////'
GO TO 2001
2000 CONTINUE
WRITE(6,*) '///////////////////////////////////////////////'
WRITE(6,*) '// CONGRATULATION! CONVERGENCE WAS ACHIEVED! //'
WRITE(6,*) '///////////////////////////////////////////////'
2001 CONTINUE
IFLAG=0
9999 CONTINUE
RETURN
END