- Timestamp:
- 09/05/08 11:49:42 (16 years ago)
- Branches:
- master
- Children:
- fafe4d6
- Parents:
- 2ebb8b6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
opeshe.f
r2ebb8b6 rbd2278d 1 c**************************************************************2 c 3 cThis file contains the subroutines: opeshe,gdtshe4 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: opeshe,gdtshe 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 opeshe(nml) 13 13 14 c......................................................................15 cPURPOSE: Calculate internal energy for ECEPP/3 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: gdtshe25 c......................................................................14 ! ...................................................................... 15 ! PURPOSE: Calculate internal energy for ECEPP/3 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: gdtshe 25 ! ...................................................................... 26 26 27 27 include 'INCL.H' 28 28 29 29 dimension xfat(mxat),yfat(mxat),zfat(mxat), 30 #xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),31 #xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)30 & xfvr(mxvr),yfvr(mxvr),zfvr(mxvr), 31 & xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr) 32 32 33 33 … … 41 41 if (ntlvr.eq.0) then 42 42 write (*,'(a,i4)') 43 #' opeshe> No variables defined in molecule #',nml43 & ' opeshe> No variables defined in molecule #',nml 44 44 return 45 45 endif … … 116 116 endif 117 117 118 c============================================ Energies & Atomic forces118 ! ============================================ Energies & Atomic forces 119 119 120 120 xfiv=0.d0 … … 303 303 304 304 gdeyvr(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+ 305 #(ex*yb-ey*xb)*zfiv306 #+ex*xfriv+ey*yfriv+ez*zfriv -fvr305 & (ex*yb-ey*xb)*zfiv 306 & +ex*xfriv+ey*yfriv+ez*zfriv -fvr 307 307 308 308 elseif (it.eq.1) then ! b.length … … 320 320 return 321 321 end 322 c*****************************322 ! ***************************** 323 323 subroutine gdtshe(nml,iv) 324 324 325 c.....................................................................326 cPURPOSE: calculate partial derivative of internal energy for molecule327 c'nml' vs. variable 'iv' NUMERICALLY and compare with328 cits value obtained analytically329 c 330 cCALLS: setvar, enyshe331 c.....................................................................325 ! ..................................................................... 326 ! PURPOSE: calculate partial derivative of internal energy for molecule 327 ! 'nml' vs. variable 'iv' NUMERICALLY and compare with 328 ! its value obtained analytically 329 ! 330 ! CALLS: setvar, enyshe 331 ! ..................................................................... 332 332 333 333 include 'INCL.H' … … 337 337 dimension vlvrx(mxvr) 338 338 339 c____________________________ get & save values of variables339 ! ____________________________ get & save values of variables 340 340 do i=1,ivrml1(ntlml)+nvrml(ntlml)-1 341 341 it=ityvr(i) ! type … … 360 360 361 361 write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (', 362 #abs(gda-gdn),')'363 364 c_________________________ restore362 & abs(gda-gdn),')' 363 364 ! _________________________ restore 365 365 vlvrx(iv)=ovr 366 366 call setvar(nml,vlvrx)
Note:
See TracChangeset
for help on using the changeset viewer.