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
   416   417   418   419   420   421   422   423   424   425   426