Page 381 - Handbook Of Multiphase Flow Assurance
P. 381
380 10. Research methods in flow assurance
ccc call random(aa)
aa=rand()
bb=dble(aa)
roulet = bb+bb-1.D0
ncalls=ncalls+1
RETURN
END
C
C-------------------------------------------------------------------
C
SUBROUTINE CYCLES(N1,Ntimes)
IMPLICIT REAL*8(A-H,O-Z)
COMMON /NRUN / Ncycle,Ndead,Kprint,Kdprnt,Kcyc,Neq
COMMON /ESAVE / Eold,Epold,Epoly(99,99),Ep(99,99),Esurf(99),Es(99)
C
C ... main Monte Carlo simulation loop
C translation move attempt
DO 100 Kcyc = N1, Ntimes
CALL NEWPOS
CALL ENERGY(Ener)
CALL DECIDE(Ener, 0)
C rotation move attempt
CALL NEWORI
CALL ENERGY(Ener)
CALL DECIDE(Ener, 1)
C pivot move attempt
CALL NEWPIV
CALL ENERGY(Ener)
CALL DECIDE(Ener, 2)
C adjust maximum step sizes, based on move acceptances
IF (MOD(Kcyc,10) .EQ. 0) CALL ADJUST
C ... output information for the POSVIEW and POS2BMP programs
IF(MOD(Kcyc,Kdprnt).EQ.0) CALL GRAPHDATA
C
IF(MOD(Kcyc,Kprint).EQ.0) then
CALL PRTOUT
CALL CRASHSAVE
CALL SAMGOZ
endif
C
100 CONTINUE
C
RETURN
END
C

