File: common.fh

package info (click to toggle)
ga 5.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,472 kB
  • sloc: ansic: 192,963; fortran: 53,761; f90: 11,218; cpp: 5,784; makefile: 2,248; sh: 1,945; python: 1,734; perl: 534; csh: 134; asm: 106
file content (181 lines) | stat: -rw-r--r-- 8,661 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
      implicit none
#include "mafdecls.fh"
#include "global.fh"
#ifdef MPI
#   include "mpif.h"
#else
#   include "tcgmsg.fh"
#endif
      integer MAXNRG,MAXNB,MAXAT,MAXTIM
      integer NSTES,NSTDF
      integer MD_MAXPROC,MAXBINS
      parameter (MAXNRG=50, MAXNB=100)
      parameter (MAXAT = 40000)
      parameter (MAXTIM=50)
      parameter (NSTES=1000)
      parameter (MAXBINS = 2000)
      parameter (MD_MAXPROC=1024)
c
c   Arrays containing locally held atoms and their properties. atot is
c   the total number of atoms and antot is the number of locally held
c   atoms. aidx is an array containing the absolute atomic index of
c   each locally held atom. at is an array containing an index to the
c   atom type, and ra is an array containing the coordinates, velocities,
c   and forces of each locally held atom. The array ra contains
c        ra(i,j,1): periodic coordinates that all are within the
c                   simulation cell
c        ra(i,j,2): velocities
c        ra(i,j,3): accelerations
c        ra(i,j,4): forces (not including constraint forces)
c        ra(i,j,5): momentum
c        ra(i,j,6): absolute coordinates
c        ra(i,j,7): complete forces from previous timestep
c        ra(i,j,8): temporary storage to construct accelations with
c                   constraints
c
      common /syspar/ ra(MAXAT,3,8),mass(MAXAT),at(MAXAT),aidx(MAXAT),
     +                atot,antot
      double precision ra,mass
      integer at,aidx,atot,antot
c
c   Global array handles and utility arrays for moving data around
c
      common /ga_data/ g_size, gsize_lo(0:MD_MAXPROC), gsize_hi,
     +                 g_coords, gcoords_lo(2,0:MD_MAXPROC),
     +                 gcoords_hi(2),
     +                 g_frc, gfrc_lo(2,0:MD_MAXPROC), gfrc_hi(2),
     +                 g_acc, gacc_lo(2,0:MD_MAXPROC), gacc_hi(2),
     +                 g_index, gindex_lo(0:MD_MAXPROC), gindex_hi,
     +                 g_iat, giat_lo(2,0:MD_MAXPROC), giat_hi(2),
     +                 g_rvec, grvec_lo(0:MD_MAXPROC), grvec_hi
      integer g_size, gsize_lo, gsize_hi, g_coords,gcoords_lo,
     +        gcoords_hi, g_frc, gfrc_hi, gfrc_lo, g_acc, gacc_lo,
     +        gacc_hi, g_index, gindex_lo, gindex_hi, g_iat, giat_hi,
     +        giat_lo, g_rvec, grvec_lo, grvec_hi
      common /md_par/ tau,dftmp,dfprs,dftm,dfpm,rsc(20,4),
     +                tmprtr,prssr,tmass,pmass,tvol,tavg,tmstrt,
     +                nsc,nstep,istep,ilist,dflalg,isc(20,4),istart,
     +                istop,tmpflg,prsflg,ptflg,istat,itarg,itavg,
     +                ipmode,iseed,mbflg,cmflg
      double precision tau,dftmp,dfprs,dftm,dfpm,rsc,
     +                tmprtr,prssr,tmass,pmass,tvol,tavg
      integer tmstrt,nsc,nstep,istep,ilist,dflalg,isc
      integer istart,istop,istat,itarg
      integer itavg,ipmode,iseed
      logical tmpflg,prsflg,ptflg,mbflg,cmflg
      common /simpar/ xbox,ybox,zbox,xbox2,ybox2,zbox2,
     +                vol1,vol2,vol3,scal1,scal2,scal3,
     +                alen1(3),alen2(3),alen3(3)
      double precision xbox,ybox,zbox,xbox2,ybox2,zbox2,
     +       vol1,vol2,vol3,scal1,scal2,scal3,alen1,alen2,alen3
      common /nrgpar/ nrg(MAXNRG),anrg(MAXNRG),anrg2(MAXNRG),
     +                presf,presfx,presfy,presfz,esvr,esvd,esvoh,
     +                esva,asev(MAXAT),nrgcnt,nrg2ct
      double precision nrg,anrg,anrg2,presf,esvr,esvd,esvoh,esva,asev,
     +       presfx,presfy,presfz
      integer nrgcnt,nrg2ct
      common /apars/ amass(50),e12(50,50),e6(50,50),
     +               dcorr(50,50),rcorr(50,50),
     +               frcorr(50,50),fdcorr(50,50),
     +               rcut,acut(50,50),acut2(50,50),rcmax,icut,atnum
      double precision amass,e12,e6,dcorr,rcorr,frcorr,fdcorr,acut,rcut,
     +               acut2,rcmax
      integer icut,atnum
      common /md_timer/ tmstat(MAXTIM)
      double precision tmstat
      common /espar/ pmvac(NSTES),tmvac(NSTES),ipmvac(NSTES),
     +               itmvac(NSTES),esinc,esstps,esflg
      double precision pmvac,tmvac
      integer ipmvac,itmvac,esinc,esstps
      logical esflg
c
c   coordinates of atoms that are not held locally are stored in xcrc,
c   ycrd, zcrd, similarly, forces for atoms not held locally are stored
c   in xfrc, yfrc, zfrc
c
      common /md_buffer/xcrd(MAXAT),ycrd(MAXAT),zcrd(MAXAT),xfrc(MAXAT),
     +                  yfrc(MAXAT),zfrc(MAXAT),xacc(MAXAT),yacc(MAXAT),
     +                  zacc(MAXAT),mbuf(MAXAT),bidx(MAXAT),bat(MAXAT),
     +                  btot,savtot
      double precision xcrd,ycrd,zcrd,xfrc,yfrc,zfrc,xacc,yacc,zacc,mbuf
      integer bidx,bat,btot,savtot
c
      common /md_cell/rcell,kcmax,nix(2000),niy(2000),niz(2000)
      double precision rcell
      integer kcmax,nix,niy,niz
c
c   the xgru, xgrd etc. buffers keep track of which atoms are within a
c   cutoff distance of the upper (u) and lower (d) boundaries of the
c   cell. The ygbu, ygbd etc. buffers keep track of which buffer atoms
c   are within a cutoff distance of the boundaries (these buffers are
c   not needed for the x-direction updates). The ygbu, etc. buffers are
c   used in the gather routine. The ysbu, etc. buffers are used in a
c   similar way in the scatter routine.
c
      common /svlist/ xgru(MAXAT),xgrd(MAXAT),ygru(MAXAT),ygrd(MAXAT),
     +                zgru(MAXAT),zgrd(MAXAT),
     +                ygbu(MAXAT),ygbd(MAXAT),zgbu(MAXAT),zgbd(MAXAT),
     +                xsbu(MAXAT),xsbd(MAXAT),ysbu(MAXAT),ysbd(MAXAT),
     +                zsbu(MAXAT),zsbd(MAXAT),
     +                clist(6,MAXAT),
     +                ixgru,ixgrd,iygru,iygrd,izgru,izgrd,
     +                iygbu,iygbd,izgbu,izgbd
      integer xgru,xgrd,ygru,ygrd,zgru,zgrd,
     +        ygbu,ygbd,zgbu,zgbd,
     +        ixgru,ixgrd,iygru,iygrd,izgru,izgrd,
     +        iygbu,iygbd,izgbu,izgbd,ixsbu,ixsbd,iysbu,iysbd,
     +        izsbu,izsbd
      logical xsbu,xsbd,ysbu,ysbd,zsbu,zsbd
      logical clist
c
      common /neighbors/ nblist(MAXAT*MAXNB),nalast(MAXAT),
     +                   nblast(MAXAT),nafirst(MAXAT),nbfirst(MAXAT),
     +                   blist(3*MAXAT),balast(MAXAT),
     +                   bblast(MAXAT),bafirst(MAXAT),bbfirst(MAXAT)
      integer nblist,nalast,nblast,nafirst,nbfirst
      integer blist,balast,bblast,bafirst,bbfirst
c
      common /clusterpar/ cl_cmx, cl_cmy, cl_cmz, r_cluster, cl_sep,
     +                    cl_vcmx, cl_vcmy, cl_vcmz,
     +                    cl_acmx, cl_acmy, cl_acmz,
     +                    cl_prssr, cl_mass, r_cluster_old,
     +                    cl_old(MAXAT,3,3), cl_cm_old(3),
     +                    cl_vcm_old(3), cl_vol1_old, cl_vol2_old,
     +                    cl_box_old(3), cl_alen1_old(3),
     +                    cl_alen2_old(3), cl_scal1_old, cl_scal2_old,
     +                    cl_at(MAXAT), cl_tot, ctot, nocluster
      double precision cl_cmx, cl_cmy, cl_cmz, r_cluster, cl_sep,
     +                 cl_vcmx, cl_vcmy, cl_vcmz,
     +                 cl_acmx, cl_acmy, cl_acmz,
     +                 cl_prssr, cl_mass, cl_old, r_cluster_old,
     +                 cl_cm_old, cl_vcm_old, cl_vol1_old, cl_vol2_old,
     +                 cl_box_old, cl_alen1_old, cl_alen2_old,
     +                 cl_scal1_old, cl_scal2_old 
      integer cl_at, ctot, cl_tot
      logical nocluster
      common /solventpar/ sl_old(MAXAT,3,3),sl_at(MAXAT),sl_tot
      double precision sl_old
      integer sl_at, sl_tot
      common /equil_protocol/ r_confine, equil_1, equil_2, equil_3,
     +                        window_1, window_2
      double precision r_confine
      integer equil_1, equil_2, equil_3, window_1, window_2
      common /cllsnpar/ mmass, cllsn_idx, l_cllsn, cllsn_cnt,
     +                  cllsn_isav, failcount
      double precision mmass
      integer cllsn_idx, cllsn_cnt, cllsn_isav, failcount
      logical l_cllsn
      common /mcpar/ cl_lower, cl_upper, mc_step, mc_tmprtr, mc_dr,
     +               r_distr(0:MAXBINS,10), r_cnt(10), mcbins, mcfreq,
     +               mc_cnt, mc_start
      double precision cl_lower, cl_upper, mc_step, mc_tmprtr, mc_dr
      integer r_distr, r_cnt, mcbins, mcfreq, mc_cnt, mc_start
      common /taskpar/ task_id, g_counter
      integer task_id, g_counter
      common /iopar/ l_stdio, l_rad, l_rst, l_step, l_oldcfg
      logical l_stdio, l_rad, l_rst, l_step, l_oldcfg
      common /adapt/ t_done, t_rmndr
      double precision t_done, t_rmndr
      common /hashpar/ link_a(MAXAT), top_a(MAXAT), hash_key_a(MAXAT),
     +                 hash_value_a(MAXAT), a_cnt
      integer link_a, top_a, hash_key_a, hash_value_a, a_cnt