Page 421 - Handbook Of Multiphase Flow Assurance
P. 421
420 10. Research methods in flow assurance
COMMON /side / side, unitside
COMMON /diag / diag
COMMON /NATOMS/ Norgn, Nwatrs, M1, M2, M3, M4
COMMON /WPOS / xw(6000,3), yw(6000,3), zw(6000,3),qw(3)
COMMON /SURF1 / a, ap
COMMON /SURF2 / b, c
COMMON /POTPAM/ Casqof,Co,Rsqon,Rsqoff,Rcut,Pi,Tk,Temp
COMMON /types / iatomtype(1000,2),nbondfound,natom,ngroups,ncall
C
C START OF THE HYDRATE SURFACE CODE
C***************************************************************
real*8 x1(6000),y1(6000),z1(6000)
real*8 x2(6000),y2(6000),z2(6000)
real*8 x3(6000),y3(6000),z3(6000)
character Screen(80,25)
integer*1 RemFlag(6000)
integer A,AP,BFlag
real*8 B,C,D
C A- type of hydrate 1=sI, 2=sII
C AP-type of surface 1=[100], 2=[111], 3=[110]
C B- Z-distance from 000 to top surface, Angstroms
C C- thickness of hydrate slice, angstroms
C D- angle of [111] block rotation during Y transformation
C within program all distances are normalized by unit cell length,
C e.g. side of a rhombus for [111] surface has length 1.414.
Nlines=20
C request input of hydrate type
write(*,*)'Which hydrate would you like to use: 1)sI or 2)sII ?'
10 read(*,*)A
if (a.ne.1.and.a.ne.2) then
write(*,*)'Please re-enter the hydrate type'
goto 10
endif
C
C request input of slice direction
write(*,*)'Which surface: 1) [100], 2) [111] or 3) [110] ?'
20 read(*,*)AP
if (ap.ne.1.and.ap.ne.2.and.ap.ne.3) then
write(*,*)'Please re-enter the surface type'
goto 20
endif
C
if(a.eq.2) then

