source: INCL.H@ e40e335

Last change on this file since e40e335 was e40e335, checked in by baerbaer <baerbaer@…>, 16 years ago

Initial import to BerliOS corresponding to 3.0.4

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

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