source: INCL.H@ f3074b0

Last change on this file since f3074b0 was f3074b0, checked in by baerbaer <baerbaer@…>, 16 years ago
  • INCL.H: Corrected formatting
  • INCL.H: zero and one are doubles not integers
  • smmp.pyf: Replaced mxrs with its value 100

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

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