Page 388 - Handbook Of Multiphase Flow Assurance
P. 388

Computer code (Makogon, 1994, 1997)              387

                  r21=sph2*cth*sth*cal1-sal*cph
                  r22=sth2*(cal*cph2+sph2)+cal*cth2
                  r23=sph*(cph*sth*cal1+sal*cth)

                  r31=sph*(cph*cth*cal1+sal*sth)
                  r32=sph*(cph*sth*cal1-sal*cth)
                  r33=cal*sph2+cph2

                  r41=a1-a1*r11-a2*r21-a3*r31
                  r42=a2-a1*r12-a2*r22-a3*r32
                  r43=a3-a1*r13-a2*r23-a3*r33
                  return
                  end
            C
            C-------------------------------------------------------------------
            C
                  SUBROUTINE ENPOLY
            c       Initial setup of the Epoly and Esurf arrays.
            c       Calculation of the initial intramolecular polymer energy is done
            c       with 1-2 backbone group exclusion
                  implicit real*8 (a-h,o-z)
                  integer a, ap
                  COMMON /chain / monodata(100,100),monocount(99),nbackbone
                  COMMON /ESAVE / Eold,Epold,Epoly(99,99),Ep(99,99),Esurf(99),Es(99)
                  COMMON /ZSAVE / zrun(100),epolymer,Erun
                  COMMON /LJPAM / DD(6,1000), RR(6,1000), DHB(1000), RHB(1000)
                  COMMON /POTPAM/ Casqof,Co,Rsqon,Rsqoff,Rcut,Pi, Tk,Temp
                  COMMON /types / iatomtype(1000,2),nbondfound,natom,ngroups,ncall
                  COMMON /bonds / ibonddata(1000,4),nbonds(1000)
                  COMMON /NHB  / nhb(100),nhbpoly,nhbcurr(100)
                  COMMON /atoms / atomdata(1000,4),atomdata2(1000,4)
                  COMMON /NWPOS / xn(1000), yn(1000), zn(1000)
                  COMMON /SURF1 / a, ap
                  COMMON /BDIST / xmax, ymax, xmaxh, ymaxh
                  COMMON /NATOMS/ Norgn, Nwatrs, M1, M2, M3, M4
                  COMMON /WPOS / xw(6000,3), yw(6000,3), zw(6000,3), qw(3)
            C
            C Calculate intramolecular polymer energy
                  nhbpoly=0
                  do I=1,nbackbone-2
                  do ii=i+2,nbackbone
                  Ener = 0.D0
                  do J=1,monocount(i)
                  do jj=1,monocount(ii)
                  natom1 = monodata(i,j)
   383   384   385   386   387   388   389   390   391   392   393