- Timestamp:
- 09/05/08 11:49:42 (16 years ago)
- Branches:
- master
- Children:
- fafe4d6
- Parents:
- 2ebb8b6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
opeflx.f
r2ebb8b6 rbd2278d 1 c**************************************************************2 c 3 cThis file contains the subroutines: opeflx,gdtflx4 c 5 cCopyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann,6 cShura Hayryan, Chin-Ku7 cCopyright 2007 Frank Eisenmenger, U.H.E. Hansmann,8 cJan H. Meinke, Sandipan Mohanty9 c 10 c**************************************************************1 ! ************************************************************** 2 ! 3 ! This file contains the subroutines: opeflx,gdtflx 4 ! 5 ! Copyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann, 6 ! Shura Hayryan, Chin-Ku 7 ! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann, 8 ! Jan H. Meinke, Sandipan Mohanty 9 ! 10 ! ************************************************************** 11 11 12 12 subroutine opeflx(nml) 13 13 14 c......................................................................15 cPURPOSE: Calculate internal energy for FLEX dataset and its partial16 cderivatives vs. variables using recursive algorithm from:17 cNoguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H,18 cBraun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K,19 cAbagyan R A, J Biomol Struct Dyn v6 815-832, which I modified20 cfor atomic forces instead of simple derivatives (see Lavery R,21 cSklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v322 c989-1014 1986)23 c 24 cCALLS: gdtflx25 c......................................................................14 ! ...................................................................... 15 ! PURPOSE: Calculate internal energy for FLEX dataset and its partial 16 ! derivatives vs. variables using recursive algorithm from: 17 ! Noguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H, 18 ! Braun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K, 19 ! Abagyan R A, J Biomol Struct Dyn v6 815-832, which I modified 20 ! for atomic forces instead of simple derivatives (see Lavery R, 21 ! Sklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v3 22 ! 989-1014 1986) 23 ! 24 ! CALLS: gdtflx 25 ! ...................................................................... 26 26 27 27 include 'INCL.H' 28 28 29 29 dimension xfat(mxat),yfat(mxat),zfat(mxat), 30 #xtat(mxat),ytat(mxat),ztat(mxat),31 #xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),32 #xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)30 & xtat(mxat),ytat(mxat),ztat(mxat), 31 & xfvr(mxvr),yfvr(mxvr),zfvr(mxvr), 32 & xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr) 33 33 34 34 … … 42 42 if (ntlvr.eq.0) then 43 43 write (*,'(a,i4)') 44 #' opeflx> No variables defined in molecule #',nml44 & ' opeflx> No variables defined in molecule #',nml 45 45 return 46 46 endif … … 117 117 endif 118 118 119 c============================================ Energies & Atomic forces119 ! ============================================ Energies & Atomic forces 120 120 121 121 xfiv=0.d0 … … 249 249 yfji=yfji+ dhb*py+ hhb*yij 250 250 zfji=zfji+ dhb*pz+ hhb*zij 251 c__________________________________________________ No Hydrogen Bond251 ! __________________________________________________ No Hydrogen Bond 252 252 else 253 253 eyvw=eyvw+eyrp-eyds … … 365 365 yfji=yfji+ dhb*py+ hhb*yij 366 366 zfji=zfji+ dhb*pz+ hhb*zij 367 c__________________________________________________ No Hydrogen Bond367 ! __________________________________________________ No Hydrogen Bond 368 368 else 369 369 eyvw=eyvw+eyrp-eyds … … 424 424 425 425 gdeyvr(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+ 426 #(ex*yb-ey*xb)*zfiv427 #+ex*xfriv+ey*yfriv+ez*zfriv -fvr426 & (ex*yb-ey*xb)*zfiv 427 & +ex*xfriv+ey*yfriv+ez*zfriv -fvr 428 428 429 429 elseif (it.eq.1) then ! b.length … … 441 441 return 442 442 end 443 c*****************************443 ! ***************************** 444 444 subroutine gdtflx(nml,iv) 445 445 446 c.....................................................................447 cPURPOSE: calculate partial derivative of internal energy for molecule448 c'nml' vs. variable 'iv' NUMERICALLY and compare with449 cits value obtained analytically450 c 451 cCALLS: setvar, enyflx452 c.....................................................................446 ! ..................................................................... 447 ! PURPOSE: calculate partial derivative of internal energy for molecule 448 ! 'nml' vs. variable 'iv' NUMERICALLY and compare with 449 ! its value obtained analytically 450 ! 451 ! CALLS: setvar, enyflx 452 ! ..................................................................... 453 453 454 454 include 'INCL.H' … … 458 458 dimension vlvrx(mxvr) 459 459 460 c____________________________ get & save values of variables460 ! ____________________________ get & save values of variables 461 461 do i=1,ivrml1(ntlml)+nvrml(ntlml)-1 462 462 it=ityvr(i) ! type … … 481 481 482 482 write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (', 483 #abs(gda-gdn),')'484 485 c_________________________ restore483 & abs(gda-gdn),')' 484 485 ! _________________________ restore 486 486 vlvrx(iv)=ovr 487 487 call setvar(nml,vlvrx)
Note:
See TracChangeset
for help on using the changeset viewer.