source: INCL.H@ 31550cb

Last change on this file since 31550cb was 31550cb, checked in by baerbaer <baerbaer@…>, 14 years ago

Extrema stored per replica not temperature.

Tracking of the minimum energy configuration and the configuration with the
maximum number of hydrogen bonds now takes place on a per replica basis.
Minima at a particular temperature are no longer tracked explicitly.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@21 26dc1dd8-5c4e-0410-9ffe-d298b4865968

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