X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2Fenergy_split-sep.F;h=43f9baa871d4912b6b4f86c5ec27c6930a350ea7;hb=aedd2f72960d9cec69fcc7f0b6fd6555c7e22312;hp=24ab8dd8389a159e6747f75c1c46cf03df56e4c7;hpb=9111b59335b350bc16fcac69159ec3d3cbb62ba4;p=unres.git diff --git a/source/unres/src_MD-M/energy_split-sep.F b/source/unres/src_MD-M/energy_split-sep.F index 24ab8dd..43f9baa 100644 --- a/source/unres/src_MD-M/energy_split-sep.F +++ b/source/unres/src_MD-M/energy_split-sep.F @@ -25,6 +25,7 @@ cMS$ATTRIBUTES C :: proc_proc include 'COMMON.VAR' include 'COMMON.LOCAL' include 'COMMON.MD' + include 'COMMON.CONTROL' c write(iout,'(a,i2)')'Calling etotal_long ipot=',ipot if (modecalc.eq.12.or.modecalc.eq.14) then #ifdef MPI @@ -132,6 +133,10 @@ C Calculate electrostatic (H-bonding) energy of the main chain. C 107 continue call vec_and_deriv + if (shield_mode.gt.0) then + call set_shield_fac + endif + if (ipot.lt.6) then #ifdef SPLITELE if (welec.gt.0d0.or.wvdwpp.gt.0d0.or.wel_loc.gt.0d0.or. @@ -261,6 +266,7 @@ cMS$ATTRIBUTES C :: proc_proc include 'COMMON.CHAIN' include 'COMMON.VAR' include 'COMMON.LOCAL' + include 'COMMON.CONTROL' c write(iout,'(a,i2)')'Calling etotal_short ipot=',ipot c call flush(iout) @@ -393,6 +399,37 @@ C C Calculate electrostatic (H-bonding) energy of the main chain. C 107 continue + call vec_and_deriv + if (shield_mode.gt.0) then + call set_shield_fac + endif + + if (ipot.lt.6) then +#ifdef SPLITELE + if (welec.gt.0d0.or.wvdwpp.gt.0d0.or.wel_loc.gt.0d0.or. + & wturn3.gt.0d0.or.wturn4.gt.0d0 .or. wcorr.gt.0.0d0 + & .or. wcorr4.gt.0.0d0 .or. wcorr5.gt.0.d0 + & .or. wcorr6.gt.0.0d0 .or. wturn6.gt.0.0d0 ) then +#else + if (welec.gt.0d0.or.wel_loc.gt.0d0.or. + & wturn3.gt.0d0.or.wturn4.gt.0d0 .or. wcorr.gt.0.0d0 + & .or. wcorr4.gt.0.0d0 .or. wcorr5.gt.0.d0 + & .or. wcorr6.gt.0.0d0 .or. wturn6.gt.0.0d0 ) then +#endif + call eelec_scale(ees,evdw1,eel_loc,eello_turn3,eello_turn4) + else + ees=0 + evdw1=0 + eel_loc=0 + eello_turn3=0 + eello_turn4=0 + endif + else +c write (iout,*) "Soft-spheer ELEC potential" + call eelec_soft_sphere(ees,evdw1,eel_loc,eello_turn3, + & eello_turn4) + endif + c c Calculate the short-range part of Evdwpp c @@ -414,7 +451,7 @@ C from other distance constraints. C C Calculate the virtual-bond-angle energy. C - call ebend(ebe) + call ebend(ebe,ethetcnstr) C C Calculate the SC local energy. C @@ -451,10 +488,19 @@ C energia(18)=0.0d0 #endif #ifdef SPLITELE + energia(3)=ees energia(16)=evdw1 #else - energia(3)=evdw1 + energia(3)=ees+evdw1 + energia(16)=0.0d0 #endif + energia(4)=ecorr + energia(5)=ecorr5 + energia(6)=ecorr6 + energia(7)=eel_loc + energia(8)=eello_turn3 + energia(9)=eello_turn4 + energia(11)=ebe energia(12)=escloc energia(13)=etors