#endif
endif
#ifdef MPI
+ edfadis=0.0d0
+ edfator=0.0d0
+ edfanei=0.0d0
+ edfabet=0.0d0
+ ehomology_constr=0.0d0
+ Uconst=0.0d0
+ Uconst_back=0.0d0
c write(iout,*) "ETOTAL_LONG Processor",fg_rank,
c & " absolute rank",myrank," nfgtasks",nfgtasks
c call flush(iout)
weights_(17)=wbond
weights_(18)=scal14
weights_(21)=wsccor
+ weights_(22)=wliptran
+ weights_(25)=wtube
weights_(26)=wsaxs
+ weights_(28)=wdfa_dist
+ weights_(29)=wdfa_tor
+ weights_(30)=wdfa_nei
+ weights_(31)=wdfa_beta
C FG Master broadcasts the WEIGHTS_ array
call MPI_Bcast(weights_(1),n_ene,
& MPI_DOUBLE_PRECISION,king,FG_COMM,IERROR)
wbond=weights(17)
scal14=weights(18)
wsccor=weights(21)
+ wliptran=weights(22)
+ wtube=weights(25)
wsaxs=weights(26)
+ wdfa_dist=weights_(28)
+ wdfa_tor=weights_(29)
+ wdfa_nei=weights_(30)
+ wdfa_beta=weights_(31)
endif
call MPI_Bcast(dc(1,1),6*nres,MPI_DOUBLE_PRECISION,
& king,FG_COMM,IERR)
c & ' calling etotal_short ipot=',ipot
c call flush(iout)
c print *,'Processor',myrank,' nnt=',nnt,' nct=',nct
+ if (nfgtasks.gt.1) then
+ call MPI_Bcast(itime_mat,1,MPI_INT,king,FG_COMM,IERROR)
+ endif
+ if (mod(itime_mat,imatupdate).eq.0) then
+ call make_SCp_inter_list
+ call make_SCSC_inter_list
+ call make_pp_inter_list
+ call make_pp_vdw_inter_list
+ endif
#endif
cd print *,'nnt=',nnt,' nct=',nct
C
else
call escp_soft_sphere(evdw2,evdw2_14)
endif
+#ifdef FOURBODY
C
C 12/1/95 Multi-body terms
C
endif
if ((wcorr4.eq.0.0d0 .and. wcorr.gt.0.0d0) .and. ipot.lt.6) then
call multibody_hb(ecorr,ecorr5,ecorr6,n_corr,n_corr1)
+ else
+ ecorr=0.0d0
+ ecorr5=0.0d0
+ ecorr6=0.0d0
+ eturn6=0.0d0
endif
+#else
+ ecorr=0.0d0
+ ecorr5=0.0d0
+ ecorr6=0.0d0
+ eturn6=0.0d0
+#endif
C
C If performing constraint dynamics, call the constraint energy
C after the equilibration time
edfanei=0.0d0
edfabet=0.0d0
#endif
+ evdw=0.0d0
+ ees=0.0d0
+ evdw1=0.0d0
+ eel_loc=0.0d0
+ eello_turn3=0.0d0
+ eello_turn4=0.0d0
+ evdw2=0
+ evdw2_14=0
+ ecorr=0.0d0
+ ecorr5=0.0d0
+ ecorr6=0.0d0
+ eturn6=0.0d0
c write(iout,*) "ETOTAL_SHORT Processor",fg_rank,
c & " absolute rank",myrank," nfgtasks",nfgtasks
c call flush(iout)
etors=0.0d0
endif
edihcnstr=0.0d0
+c Lipid transfer
+ if (wliptran.gt.0) then
+ call Eliptransfer(eliptran)
+ else
+ eliptran=0.0d0
+ endif
+ if (AFMlog.gt.0) then
+ call AFMforce(Eafmforce)
+ else if (selfguide.gt.0) then
+ call AFMvel(Eafmforce)
+ else
+ Eafmforce=0.0d0
+ endif
+ if (TUBElog.eq.1) then
+C print *,"just before call"
+ call calctube(Etube)
+ elseif (TUBElog.eq.2) then
+ call calctube2(Etube)
+ else
+ Etube=0.0d0
+ endif
+
if (ndih_constr.gt.0) call etor_constr(edihcnstr)
c print *,"Processor",myrank," computed Utor"
C