source: INCL.H

Last change on this file was 87ddcf7, checked in by j.meinke@…>, 13 years ago

Rename common block log to logging.

  • Property mode set to 100644
File size: 19.4 KB
Line 
1 implicit none
2
3 character*255 version
4 character*255 logString
5
6 integer MAX_REPLICA, MAX_PROC, mxml, mxrs, mxat, mxbd, mxath
7 integer mxvr, mxms, mxvw, mx14, mxvrh, mxtyat, mxhbdo
8 integer mxhbac, mxtybl, mxtyba, mxtyto, mxrt, mxvrrt, mxrtsu
9 integer nrsty
10 integer MAXLOGLEVEL, LOGFILEUNIT
11 double precision pi, pi2, pi4, crd, cdr, zero, one
12 integer izero, ione
13
14 parameter(MAX_PROC=2048)
15 parameter (MAX_REPLICA = 2048) ! max. number of replicas
16 parameter (mxml=10) ! max. number of molecules
17 parameter(mxrs=100) ! max. total number of residues
18 parameter(mxat=2600) ! max. total number of atoms
19 parameter(mxbd=3) ! max. number of bonds to following atoms
20 parameter(mxath=100) ! max. number of atoms in help-arrays
21 parameter(mxvr=mxrs*8) ! max. number of local variables
22 parameter(mxms=mxvr*3) ! max. total number of moving sets
23 parameter(mxvw=mxat*4) ! max. number of vwd domains
24 parameter(mx14=mxat*4) ! max. number of '1-4' partners
25 parameter(mxvrh=mxath) ! max. number of variables in help
26 parameter(mxtyat=18) ! max. # of energetic atom-types
27 parameter(mxhbdo=4) ! max. types of Hydrogens as donors in HB
28
29 parameter (mxhbac=6) ! max. types of atoms as acceptors in HB
30 parameter(mxtybl=0) ! max. # of types of bond length potentials
31 parameter(mxtyba=0) ! - " - b. angle pot.
32 parameter(mxtyto=19) ! - " - torsional pot.
33 parameter(mxrt=500) ! max. # of restraint types
34 parameter(mxvrrt=mxrt*2) ! max. # of restraint variables
35 parameter(mxrtsu=mxvr*6) ! max. # of pointers subsets -> restraints
36 parameter(nrsty=35) ! max. # of residue types
37
38 parameter (pi=3.141592653589793d0)
39 parameter(pi2=2.d0*pi)
40 parameter(pi4=4.d0*pi)
41 parameter(crd=57.2957795130823d0)
42 parameter(cdr=1.745329251994330d-2)
43
44 parameter (izero=0)
45 parameter(ione=1)
46 parameter(zero=0.d0)
47 parameter(one=1.d0)
48 parameter (version= &
49 & '$Id: INCL.H 335 2007-08-09 09:32:21Z meinke $')
50
51 integer seed
52 integer enysolct
53 double precision boxsize
54 common /logging/MAXLOGLEVEL,LOGFILEUNIT
55 common /counter/enysolct
56 common /commonrandom/ seed
57 common /bounds/ boxsize
58
59 integer myrank, no, my_mpi_comm
60 integer workPerProcessor(0:mxml, 0:MAX_PROC)
61 common/paral/myrank,no,my_mpi_comm,workPerProcessor
62 double precision beta
63 common /bet/beta
64!== For solvent============================
65 integer mxpoint, mxbox, mxinbox, mxtysol
66 double precision rwater
67 parameter (mxpoint=2000) !
68 parameter(mxbox=80000) !
69 parameter(mxinbox=80000) !
70 parameter(mxtysol=9) !Max number of solvent types
71 parameter (rwater=1.4) !The Wdv radius of the water molecule
72
73!== Solvent types
74 integer itysol
75 logical isolscl
76 common /isolty/ itysol, isolscl
77 double precision spoint, coef_sl, rad_vdw, surfres, rsstrg
78 integer npnt
79 common /tes/ spoint(mxpoint,3)
80 common /pnt/ npnt
81 common /sol/ coef_sl(mxtysol,mxtyat),rad_vdw(mxtysol,mxtyat)
82 common/ressurf/surfres(mxrs)
83 dimension rsstrg(mxrs)
84 common /abgncor/rsstrg
85
86!---- The vdW radii of the atoms and solvation coefficients
87 double precision rvdw, sigma
88 common /solvent/ rvdw(mxat),sigma(mxat)
89
90! vdvol - van der Waals volume of the molecule
91! asa - Surface of molecule
92 double precision vdvol, asa, asap, asah
93 common /v_sol/ vdvol,asa,asap,asah
94
95! gradan - analytical gradients of solv. energy against atomic coordinates
96 double precision gradan
97 common /deriv/ gradan(mxat,3)
98
99
100!-----For calculation of hydrogen bonds
101 integer mxtyhb, ntyhb, ixtyhb, nutyhb, mmhb, nvr
102 parameter(mxtyhb=100) ! Maximum number of hydrogen bond types
103 common /h_bond/ ntyhb,ixtyhb(mxtyhb),nutyhb(mxtyhb), &
104 & mmhb(mxml, mxml)
105!-----For molecule parameter
106 common/mol_par/ nvr
107
108!-----Hydrophobic/polar radius of gyration
109 double precision rgyh, rgyp
110 common /rgy/ rgyh, rgyp
111!=======================================
112
113 character nmrt(mxrt)*4,nmvrrt(mxvrrt)*3
114 character rsnmcd(nrsty)*4,onltcd(nrsty)
115 character nmath(mxath)*4,nmvrh(mxvrh)*3
116 logical flex, tesgrd,epsd,sh2
117! -----Switches for Bias Gaussian Steps and random order in variable updates
118! upchswitch=0 => No BGS
119! upchswitch=1 => For backbone updates, use BGS with probability bgsprob
120! upchswitch=2 => More sophisticated, temperature dependent choice between
121! simple pivot update and BGS
122 logical rndord
123 integer upchswitch, idloa, idloz, idupa, idupz
124 double precision bgsprob
125 common /updchois/rndord,upchswitch,bgsprob
126 common /con_i/ idloa,idloz,idupa,idupz
127!---- The contact matrix and the indices of C_alpha atoms
128 integer ijcont, ind_alf, iref, nci
129 common/cont_i_j/ ijcont(mxrs,mxrs),ind_alf(mxrs)
130 common /jref/ iref(mxrs,mxrs),nci
131
132!-----For calculation of Zimmermann code of conformation:
133 character zimm*(mxrs)
134 common/zimme/zimm
135
136! lunlib - LUN of residue library
137! lunseq - LUN of sequence file
138! lunchg - LUN of charges for terminal residues (=0 if not necessary)
139! lunvar - LUN of file with commands to set variables
140! lunrst - LUN for variable restraints
141! reslib - name of residue library
142! seqfil - name of sequence file
143! chgfil - name of file with charges for terminal residues
144! varfil - name of file with commands to set variables
145! rstfil - name of file with variable restraints
146 integer lunlib, lunseq, lunchg, lunvar, lunrst
147 common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst
148 character reslib*80,seqfil*80,chgfil*80,varfil*80,rstfil*80
149 common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil
150
151! ntlml - total number of molecules
152! irsml1,irsml2 - indices of 1st/last residue of each molecule
153! ivrml1,nvrml - index of 1st/number of loc. variables in molecule
154! imsml1,nmsml - index of 1st/number of moving sets in molecule
155! iadml1,nadml - index of 1st/number of 'added varaibles' in molecule
156! nmml - name of molecule
157
158! -------------------------------------------------------------- new
159! ixrfpt - indices of 3 reference points (first 3 backbone atoms)
160! per molecule
161! ixatp - pointer of each SMMP atom to corresponding atom in a ref.
162! structure, (=0 if no corr. atom in ref. str.)
163! isrfvr() = true, if i-th variable is defined in ref. structure
164! rfpt - coordinates of a reference point (first bb atom) in molecule
165! xrfax,yrfax,zrfax - direction cosines of 3 ref. axes (axes J,K,L
166! according to global angles alpha,beta,gamma)
167! gbpr - 6 global parameters per molecule (3 shifts, 3 angles)
168! --------------------------------------------------------------------
169 integer ntlml, irsml1, irsml2, ivrml1, nvrml, imsml1, nmsml
170 integer iadml1, nadml, ixrfpt, ixatp, ireg
171 common /mol_i/ ntlml,irsml1(mxml),irsml2(mxml),ivrml1(mxml), &
172 &nvrml(mxml),imsml1(mxml),nmsml(mxml),iadml1(mxml),nadml(mxml) &
173 &,ixrfpt(3,mxml) &
174 &,ixatp(mxat) &
175 &,ireg
176! -------------------
177
178 logical isrfvr(mxvr)
179 common /refstr/ isrfvr
180
181 character nmml(mxml)*80
182 common /mol_c/ nmml
183
184! -----------------------------------------
185 double precision rfpt, gbpr, xrfax, yrfax, zrfax
186 common /mol_r/ rfpt(3,mxml),gbpr(6,mxml), &
187 &xrfax(3,mxml),yrfax(3,mxml),zrfax(3,mxml)
188! ---------------------------------------------
189
190! iatrs1,iatrs2 - indices of 1st (backbone)/last atom of residue
191! ixatrs - index of last backbone atom (may be bound to next res.)
192! ivrrs1,nvrrs - index of 1st/number of local variable for residue
193! seq - names of residues
194 integer iatrs1, iatrs2, ixatrs, ivrrs1, nvrrs
195 common /res_i/ iatrs1(mxrs),iatrs2(mxrs),ixatrs(mxrs),ivrrs1(mxrs)&
196 & ,nvrrs(mxrs)
197 character seq(mxrs)*4
198 common /res_c/ seq
199
200! ityat - atom class
201! iowat - index of preceeding atom (=0 if none)
202! iyowat - type of bond with prec. atom (=1:single bond,=-1:not single)
203! nbdat - number of bonds with following atoms
204! ibdat - indices of following covalently bonded atoms
205! iybdat - types of covalently bonds to following atoms (see 'iyowat')
206! ixmsat - index of the moving set for each atom
207! cgat - point charge at atom
208! xbaat - |
209! ybaat - | axis to alter valence-angle for i-th atom
210! zbaat - | (placed at 'iowat(i)')
211! baat - valence angle 'iowat(iowat(i)), iowat(i), i' [rad.]
212! snbaat - Sin(baat)
213! csbaat - Cos(baat)
214! xtoat - |
215! ytoat - | axis between 'iowat(i)' and i-th atom
216! ztoat - |
217! toat - dihedral 'iowat(iowat(iowat(i))), iowat(iowat(i)),
218! iowat(i), i' [rad.]
219! sntoat - Sin(toat)
220! cstoat - Cos(toat)
221! blat - valence-length 'iowat(i)-i'
222! xat - |
223! yat - | cartesian coordinates of atom
224! zat - |
225! nmat - atom name
226 integer ityat, iowat, iyowat, nbdat, ibdat, iybdat, ixmsat
227 double precision xbaat, ybaat, zbaat, baat, snbaat, csbaat, xtoat
228 double precision ytoat, ztoat, toat, sntoat, cstoat, blat, xat
229 double precision yat, zat, cgat
230 common /atm_i/ ityat(mxat),iowat(mxat),iyowat(mxat),nbdat(mxat), &
231 & ibdat(mxbd,mxat),iybdat(mxbd,mxat),ixmsat(mxat)
232 common /atm_r/ cgat(mxat), &
233 &xbaat(mxat),ybaat(mxat),zbaat(mxat),baat(mxat),snbaat(mxat), &
234 &csbaat(mxat), &
235 &xtoat(mxat),ytoat(mxat),ztoat(mxat),toat(mxat),sntoat(mxat), &
236 &cstoat(mxat), &
237 &blat(mxat), &
238 &xat(-1:mxat),yat(-1:mxat),zat(-1:mxat)
239 character nmat(mxat)*4
240 common /atm_c/ nmat
241
242! olvlvr - stores initial values for internal variables
243! nmvr - name of variable
244! iatvr - index of primary moving atom for loc. variable
245! ityvr - type of variable ( 1 = valence length,
246! 2 = valence angle,
247! 3 = dihedral angle)
248! iclvr - indicates class for corresponding variable potential
249! iorvr - indicates appropriate order of variables
250! imsvr - index of 1st moving set per variable as stored in
251! 'latms1,latms2'
252! imsvr1,imsvr2 - indices of 1st & last moving set per variable
253! 'latms1,latms2'
254! latms1,latms2 - lists of indices for 1st and last atom of each moving set
255! iadvr1,iadvr2 - indices of 1st & last related variable per var. in 'ladvr'
256! ladvr - list of variable indices which are related to other variables
257! fxvr - .true. if variable will be fixed throughout calculations
258
259 double precision olvlvr, vlvr, axvr
260 integer iatvr, ityvr, iclvr, iorvr, imsvr1, imsvr2, latms1
261 integer latms2, iadvr1, iadvr2, ladvr, idvr
262 common /var_r/ olvlvr(mxvr),vlvr(mxvr),axvr(mxvr)
263 common /var_i/ iatvr(mxvr),ityvr(mxvr),iclvr(mxvr),iorvr(mxvr), &
264 & imsvr1(mxvr),imsvr2(mxvr),latms1(mxms),latms2(mxms)&
265 & ,iadvr1(mxvr),iadvr2(mxvr),ladvr(mxvr),idvr(mxvr)
266 character nmvr(mxvr)*3
267 common /var_c/ nmvr
268 logical fxvr(mxvr)
269 common /var_l/ fxvr
270
271! Energy parametrization for SCHERAGA set
272!
273! ehm - 1.5*(elem. charge)/(Planck\'s const./2Pi * electr. mass)
274! atpl - atomic polarizabilities
275! efel - empirical numbers of effective electrons per atom
276! emin - minima of pairwise Lennard-Jones terms of like atoms
277! rmin - corresponding pair-distance of energy minima
278! chb_s,ahb_s - parameter of attraction/repulsion terms of HB-potential
279! e0to_s,sgto_s,rnto_s - barrier[kcal/mole],sign,multiplicity of tors.potential
280! eps_s - distance-INdependent diel. constant
281! do_s,ac_s - flag to define atom-types serving as donors/acceptors in HB
282 double precision ehm, atpl, efel, emin, rmin, chb_s, ahb_s, e0to_s
283 double precision sgto_s, rnto_s, eps_s
284 common /sche_r/ ehm,atpl(mxtyat),efel(mxtyat),emin(mxtyat), &
285 & rmin(mxtyat),chb_s(mxhbdo,mxhbac),ahb_s(mxhbdo,mxhbac), &
286 & e0to_s(mxtyto),sgto_s(mxtyto),rnto_s(mxtyto), &
287 & eps_s
288 logical do_s(mxtyat),ac_s(mxtyat)
289 common /sche_l/ do_s,ac_s
290
291! Energy parametrization for FLEX set
292!
293! c_f,a_f - parameter of attraction/repulsion terms of LJ-potential
294! chb_f,ahb_f - parameter of attraction/repulsion terms of HB-potential
295! e0to_s,sgto_s,rnto_s - barrier[kcal/mole],sign,multiplicity of tors.potential
296! plt_f,slp_f - parameters for sigmoidal distance-dependent epsilon
297! cohb_f - cut-off distance between H- & acceptor atom in Hydrogen-Bonds
298! do_f,ac_f - flags atom-types serving as donors/acceptors in HB
299
300 double precision c_f, a_f, chb_f, ahb_f, e0to_f, sgto_f, rnto_f
301 double precision plt_f, slp_f, cohb_f
302 common /flex_r/ c_f(mxtyat,mxtyat),a_f(mxtyat,mxtyat), &
303 & chb_f(mxhbdo,mxhbac),ahb_f(mxhbdo,mxhbac), &
304 & e0to_f(mxtyto),sgto_f(mxtyto),rnto_f(mxtyto), &
305 & plt_f,slp_f,cohb_f
306 logical do_f(mxtyat),ac_f(mxtyat)
307 common /flex_l/ do_f,ac_f
308
309! Currently chosen energy parametrization
310!
311! ihbty = 1, i - HB donor hydrogen & j - HB acceptor
312! = -1, i - HB acceptor & j - HB donor hydrogen
313! = 0, otherwise
314! cij,aij - parameters of attraction/repulsion terms of LJ-potential
315! a14 - special value for repulsion in "1-4"-interactions
316! chb,ahb - parameters of attraction/repulsion terms of HB-potential
317! e0to,sgto,rnto - barrier*0.5 !!,sign,multiplicity of torsional potential
318! esnto = e0/2 * sign * multipl.
319! conv - parameter to convert electrostat. energy into [kcal/mole]
320! plt,slp,cohb - see FLEX
321! flex - .true. if FLEX-parametrization is to be used (obsolete)
322! ientyp : 0 => ECEPP, 1 => FLEX, 2 => Lund, 3 => ECEPP+Abagyan
323! tesgrd - .true. if GRADTEST to be included
324 integer ihbty, ientyp
325 double precision cij, aij, a14, chb, ahb, e0to, sgto, rnto, esnto
326 double precision conv, plt, slp, cohb
327 common /epar_i/ ihbty(mxtyat,mxtyat)
328 common /epar_r/ cij(mxtyat,mxtyat),aij(mxtyat,mxtyat), &
329 & a14(mxtyat,mxtyat),chb(mxtyat,mxtyat),ahb(mxtyat,mxtyat), &
330 & e0to(mxtyto),sgto(mxtyto),rnto(mxtyto),esnto(mxtyto), &
331 & conv, plt,slp, cohb
332
333 common /epar_l/ flex, tesgrd,sh2,epsd,ientyp
334
335! ENERGY & -MINIMIZATION
336
337! nvwml,ivwml1 - number/index of 1st vdW-domain per molecule
338! ivwat1,ivwat2 - index of 1st/last vdW-domain per atom
339! lvwat1,lvwat2 - lists of indices of 1st and last atom in each vdw domain
340! n14ml,i14ml1 - number/index of 1st '1-4' interaction partner per molecule
341! i14at1,i14at2 - index of 1st/last '1-4' interact. partner per atom
342! ixatvw - index of respective atom for each vdW-domain
343! ixatvw - index of respective atom for each '14'-interaction partner
344
345! ---------------------------------------------------------------------------- new
346! eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg - Coulomb,vdW,HB,variable-potential & total
347! eyslh, eyslp - hydrophilic (h)/phobic (p) conributions to the solvent energy
348! potential energy, solvation, regularization energy
349! gdeyvr - partial derivative of total energy vs. variable (Gradient)
350! gdeyrg - partial derivative of regularization energy vs. variable (Gradient)
351! gdeysl - partial derivative of solvatation energy vs. variable (Gradient)
352! wtey - weight to energy & energy gradient
353! wtrg - weight to reg. target & its gradient
354 integer nvwml, ivwml1, n14ml, i14ml1, ivwat1, ivwat2, i14at1
355 integer i14at2, lvwat1, lvwat2, l14at, ixatvw, ixat14
356 double precision eyel, eyvw, eyhb, eyvr, eysm, eysl, eyrg, eyslh
357 double precision eyslp, eyab, eysmi, eyhbi, eyeli, eyvwi, gdeyvr
358 double precision gdeyrg, gdeysl, gdeygb, wtey, wtrg
359 common /eny_i/ nvwml(mxml),ivwml1(mxml),n14ml(mxml),i14ml1(mxml), &
360 & ivwat1(mxat),ivwat2(mxat),i14at1(mxat),i14at2(mxat)&
361 & ,lvwat1(mxvw),lvwat2(mxvw),l14at(mx14) &
362 & ,ixatvw(mxvw),ixat14(mx14)
363 common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab&
364 & ,eysmi,eyhbi,eyeli,eyvwi &
365 & ,gdeyvr(mxvr),gdeyrg(mxvr),gdeysl(mxvr) &
366 & ,gdeygb(6*mxml),wtey,wtrg
367
368! ntlrt - total # of restraint types
369! ntlsu - total # of variable subsets
370! nmrt - name of r.t
371! pbrt - probability for r.t
372! i1vrrt,i2vrrt - 1st,last restraint variable for a r.t
373! nmvrrt - name of restraint variable
374! vuvrrt - average value for r.v
375! dvvrrt - standard deviation for r.v
376! i1rtsu - point to 1st restraint type for a variable subset
377! nprtsu - # of restraint types for each subset
378! iprtsu - pointers from subsets --> restr. types
379! i1vrsu,i2vrsu - 1st,last pointer in 'ipvrsu' per var. subset
380! ipvrsu - pointers var. subset -> variables
381 integer ntlrt, ntlsu, i1vrrt, i2vrrt, i1rtsu, nrtsu
382 integer iprtsu, i1vrsu, i2vrsu, ipvrsu
383 double precision pbrt, vuvrrt, dvvrrt
384
385 common /rstr_i/ ntlrt,ntlsu,i1vrrt(mxrt),i2vrrt(mxrt), &
386 & iprtsu(mxrtsu),i1rtsu(mxvr),nrtsu(mxvr), &
387 & i1vrsu(mxvr),i2vrsu(mxvr),ipvrsu(mxvr)
388
389 common /rstr_c/ nmrt,nmvrrt
390 common /rstr_r/ pbrt(mxrt),vuvrrt(mxvrrt),dvvrrt(mxvrrt)
391
392! rsnmcd - 4-letter codes for NRSTY residue types
393! onltcd - respective 1-letter codes for residue types
394
395 common /rsnm_c/ rsnmcd,onltcd
396
397! arrays for help
398 integer ityath, iowath, iyowath, nbdath, ibdath, iybdath, ityvrh
399 integer iclvrh, iatvrh
400 double precision blath, baath, toath, cgath
401 common /help_i/ ityath(mxath),iowath(mxath),iyowath(mxath), &
402 & nbdath(mxath),ibdath(mxbd,mxath), &
403 & iybdath(mxbd,mxath), &
404 & ityvrh(mxvrh),iclvrh(mxvrh),iatvrh(mxvrh)
405 common /help_r/ blath(mxath),baath(mxath),toath(mxath), &
406 & cgath(mxath)
407 common /help_c/ nmath,nmvrh
408
Note: See TracBrowser for help on using the repository browser.