c force4.f c calculate the forces involved c force4(n,gc,ntime) c c /ischeme/ icircular=1 circular c iele=1 electrostatic c ihydro=1 hydro c common/ischeme/icircular,iele,ihydro,iclose c +neuler c use these parameters to decide which forces need to be included c fs,fb in force.f fe in force_electro.f fb in force_tor.f c gc(maxn) using to store the force vector subroutine force4(n,gc,ntime) implicit double precision(a-h, o-z) parameter(maxa=500,maxn=maxa*3) double precision gc(maxn) common/ischeme/icircular,iele,ihydro,iclose,iknot +,neuler c use noele to judge if calculate the elctrostatic force or not n3=3*n do i=1,n3 gc(i)=0.d0 enddo if (iele.eq.1) then if (icircular.eq.1) then call force_electro_circular(n,gc,ntime) else call force_electro_linear(n,gc,ntime) endif endif c add the stretching and bending forces if (icircular.eq.1) then call force_circular(n,gc,ntime) else call force_linear(n,gc,ntime) endif c torsional force for closed circular DNA if ((icircular.eq.1).and.(iclose.eq.1)) then call force_tor(n,gc,ntime) endif return end