+CCC----------------------------------------------
+ subroutine Eliptransfer(eliptran)
+ include 'DIMENSIONS'
+ include 'COMMON.GEO'
+ include 'COMMON.VAR'
+ include 'COMMON.LOCAL'
+ include 'COMMON.CHAIN'
+ include 'COMMON.DERIV'
+ include 'COMMON.NAMES'
+ include 'COMMON.INTERACT'
+ include 'COMMON.IOUNITS'
+ include 'COMMON.CALC'
+ include 'COMMON.CONTROL'
+ include 'COMMON.SPLITELE'
+ include 'COMMON.SBRIDGE'
+C structure of box:
+C water
+C--bordliptop-- buffore starts
+C--bufliptop--- here true lipid starts
+C lipid
+C--buflipbot--- lipid ends buffore starts
+C--bordlipbot--buffore ends
+ eliptran=0.0
+ do i=1,nres
+C first for peptide groups
+c for each residue check if it is in lipid or lipid water border area
+ if ((mod(c(3,i),boxzsize).gt.bordlipbot)
+ &.and.(mod(c(3,i),boxzsize).lt.bordliptop)) then
+C the energy transfer exist
+ if (mod(c(3,i),boxzsize).lt.buflipbot) then
+C what fraction I am in
+ fracinbuf=1.0d0-
+ & ((mod(c(3,i),boxzsize)-bordlipbot)/lipbufthick)
+C lipbufthick is thickenes of lipid buffore
+ ssslip=sscale(fracinbuf)
+ ssgradlip=-sscagradlip(fracinbuf)/lipbufthick
+ eliptran=eliptran+sslip
+ gliptranc(3,i)=gliptranc(3,i)+ssgradlip*pepliptran
+C print *,"doing sccale for lower part"
+ elseif (mod(c(3,i),boxzsize).gt.bufliptop) then
+ fracinbuf=1.0d0-((bordliptop-mod(c(3,i),boxzsize))/lipbufthick)
+ ssslip=sscale(fracinbuf)
+ ssgradlip=sscagradlip(fracinbuf)/lipbufthick
+ eliptran=eliptran+sslip
+ gliptranc(3,i)=gliptranc(3,i)+ssgradlip*pepliptran
+ print *, "doing sscalefor top part"
+ else
+ eliptran=eliptran+1.0d0
+ print *,"I am in true lipid"
+ endif
+C else
+C eliptran=elpitran+0.0 ! I am in water
+ endif
+ enddo
+C now multiply all by the peptide group transfer factor
+ eliptran=eliptran*pepliptran
+C now the same for side chains
+ do i=1,nres
+c for each residue check if it is in lipid or lipid water border area
+ if ((mod(c(3,i+nres),boxzsize).gt.bordlipbot)
+ & .and.(mod(c(3,i+nres),boxzsize).lt.bordliptop)) then
+C the energy transfer exist
+ if (mod(c(3,i+nres),boxzsize).lt.buflipbot) then
+ fracinbuf=1.0d0-
+ & ((mod(c(3,i+nres),boxzsize)-bordlipbot)/lipbufthick)
+C lipbufthick is thickenes of lipid buffore
+ ssslip=sscale(fracinbuf)
+ ssgradlip=-sscagradlip(fracinbuf)/lipbufthick
+ eliptran=eliptran+sslip*liptranene(itype(i))
+ gliptranx(3,i)=gliptranx(3,i)+ssgradlip*liptranene(itype(i))
+ print *,"doing sccale for lower part"
+ elseif (mod(c(3,i+nres),boxzsize).gt.bufliptop) then
+ fracinbuf=1.0d0-
+ &((bordliptop-mod(c(3,i+nres),boxzsize))/lipbufthick)
+ ssslip=sscale(fracinbuf)
+ ssgradlip=sscagradlip(fracinbuf)/lipbufthick
+ eliptran=eliptran+sslip*liptranene(itype(i))
+ gliptranx(3,i)=gliptranx(3,i)+ssgradlip*liptranene(itype(i))
+ print *, "doing sscalefor top part"
+ else
+ eliptran=eliptran+liptranene(itype(i))
+ print *,"I am in true lipid"
+ endif
+C else
+C eliptran=elpitran+0.0 ! I am in water
+ enddo