! include 'COMMON.NAMES'
! include 'COMMON.TIME1'
real(kind=8) :: xv,sigv,lowb,highb ,Ek1
+#define DEBUG
#ifdef FIVEDIAG
real(kind=8) ,allocatable, dimension(:) :: DDU1,DDU2,DL2,DL1,xsolv,DML,rs
real(kind=8) :: sumx
#ifdef DEBUG
real(kind=8) ,allocatable, dimension(:) :: rsold
real (kind=8),allocatable,dimension(:,:) :: matold
+ integer :: iti
#endif
#endif
integer :: i,j,ii,k,ind,mark,imark,mnum
write (iout,*) "k",k," ii",ii,"EK1",EK1
if (itype(i,1).ne.10 .and. itype(i,mnum).ne.ntyp1_molec(mnum)&
.and.(mnum.ne.5))&
- Ek1=Ek1+0.5d0*Isc(iabs(itype(i,mnum),mnum))*(d_t_work(ii)-d_t_work(ii-3))**2
+ Ek1=Ek1+0.5d0*Isc(iabs(itype(i,mnum)),mnum)*(d_t_work(ii)-d_t_work(ii-3))**2
Ek1=Ek1+0.5d0*msc(iabs(itype(i,mnum)),mnum)*d_t_work(ii)**2
enddo
write (iout,*) "i",i," ii",ii
d_t(k,j)=d_t_work(ind)
ind=ind+1
enddo
- mnum=molnum(i)
- if (itype(i,1).ne.10 .and. itype(i,mnum).ne.ntyp1_molec(mnum)&
+ mnum=molnum(j)
+ if (itype(j,1).ne.10 .and. itype(j,mnum).ne.ntyp1_molec(mnum)&
.and.(mnum.ne.5)) then
do k=1,3
d_t(k,j+nres)=d_t_work(ind)
! write (iout,*) "Kinetic energy",Ek,EK1," kinetic temperature",&
! 2.0d0/(dimen3*Rb)*EK,2.0d0/(dimen3*Rb)*EK1
! call flush(iout)
+! write(iout,*) "end init MD"
return
-#undef DEBUG
end subroutine random_vel
!-----------------------------------------------------------------------------
#ifndef LANG0
call angmom(cm,L)
! write(iout,*) "The angular momentum before adjustment:"
-! write(iout,*) (L(j),j=1,3)
+! write(iout,*) (L(j),j=1,3)
Im(2,1)=Im(1,2)
Im(3,1)=Im(1,3)
do i=1,3
do j=1,3
Imcp(i,j)=Im(i,j)
- Id(i,j)=0.0d0
+ Id(i,j)=0.0d0
enddo
enddo
enddo
call angmom(cm,L)
! write(iout,*) "The angular momentum after adjustment:"
-! write(iout,*) (L(j),j=1,3)
+! write(iout,*) (L(j),j=1,3)
return
end subroutine inertia_tensor
enddo
endif
call vecpr(pr(1),v(1),vp)
-! write (iout,*) "i",i," iti",iti," pr",(pr(j),j=1,3),
-! & " v",(v(j),j=1,3)," vp",(vp(j),j=1,3)
+! write (iout,*) "i",i," iti",iti," pr",(pr(j),j=1,3),&
+! " v",(v(j),j=1,3)," vp",(vp(j),j=1,3)
do j=1,3
L(j)=L(j)+mscab*vp(j)
enddo
${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
- -DSPLITELE -DLANG0
-#-DFIVEDIAG
-E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL.exe
-#E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF90_EL.exe
+ -DSPLITELE -DLANG0 -DFIVEDIAG
+#E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL.exe
+E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF90_EL.exe
+#E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF90_ELcb.exe
+#E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF90_EL.diag.exe
E0LL2Y: ${data} ${objects}
cc -o compinfo compinfo.c
./compinfo | true
ind=1
do i=nnt,nct
mnum=molnum(i)
- if (iabs(itype(i,1)).ne.10 .and.iabs(itype(i,mnum)).ne.ntyp1 &
- .and.mnum.eq.5) then
+! if (iabs(itype(i,1)).ne.10 .and.iabs(itype(i,mnum)).ne.ntyp1 &
+! .and.mnum.eq.5) then
+ if (iabs(itype(i,1)).ne.10 .and. &
+ iabs(itype(i,mnum)).ne.ntyp1_molec(mnum) .and. mnum.ne.5) then
DU1(ind)=-isc(iabs(itype(i,1)),1)
DU1(ind+1)=0.0d0
ind=ind+2
endif
deallocate(Gcopy)
#endif
+!write(iout,*) "end setup_MD_matr"
return
end subroutine setup_MD_matrices
!-----------------------------------------------------------------------------
! DO NOT EDIT THIS FILE - IT HAS BEEN GENERATED BY COMPINFO.C
-! 0 40376 95
+! 0 40376 143
subroutine cinfo
! include 'COMMON.IOUNITS'
use io_units
write(iout,*)'++++ Compile info ++++'
- write(iout,*)'Version 0.40376 build 95'
- write(iout,*)'compiled Tue Feb 6 15:54:51 2018'
+ write(iout,*)'Version 0.40376 build 143'
+ write(iout,*)'compiled Thu Feb 15 19:23:50 2018'
write(iout,*)'compiled by emilial@piasek4'
write(iout,*)'OS name: Linux '
write(iout,*)'OS release: 3.2.0-126-generic '
write(iout,*)'4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -D...'
write(iout,*)'4P: EXE_FILE = ../../bin/unres_4P_F90_EL.exe'
write(iout,*)'E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD...'
- write(iout,*)'E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_E...'
+ write(iout,*)'E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF...'
write(iout,*)'NEWGRAD: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAM...'
write(iout,*)'NEWGRAD: EXE_FILE = ../../bin/unres_E0LL2Y_F90_...'
write(iout,*)'++++ End of compile info ++++'
write(iout,*) 'Calling CHECK_ECARTINT.'
nf=0
icall=0
- write (iout,*) "Before geom_to_var"
call geom_to_var(nvar,x)
- write (iout,*) "after geom_to_var"
write (iout,*) "split_ene ",split_ene
call flush(iout)
if (.not.split_ene) then
- write(iout,*) 'Calling CHECK_ECARTINT if'
call etotal(energia)
-!elwrite(iout,*) 'Calling CHECK_ECARTINT if'
etot=energia(0)
- write (iout,*) "etot",etot
- call flush(iout)
-!el call enerprint(energia)
-!elwrite(iout,*) 'Calling CHECK_ECARTINT if'
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
-!elwrite(iout,*) 'Calling CHECK_ECARTINT if'
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
do i=1,nres
write (iout,'(i5,3f10.5)') i,(gradxorr(j,i),j=1,3)
do j=1,3
grad_s(j,0)=gcart(j,0)
enddo
-!elwrite(iout,*) 'Calling CHECK_ECARTINT if'
do i=1,nres
do j=1,3
grad_s(j,i)=gcart(j,i)
enddo
enddo
else
-write(iout,*) 'Calling CHECK_ECARTIN else.'
!- split gradient check
call zerograd
call etotal_long(energia)
!el call enerprint(energia)
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
- write (iout,*) "longrange grad"
do i=1,nres
write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),&
(gxcart(j,i),j=1,3)
call zerograd
call etotal_short(energia)
call enerprint(energia)
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
- write (iout,*) "shortrange grad"
do i=1,nres
write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),&
(gxcart(j,i),j=1,3)
call etotal(energia)
etot=energia(0)
!el call enerprint(energia)
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
do i=1,nres
write (iout,'(i5,3f10.5)') i,(gradxorr(j,i),j=1,3)
call zerograd
call etotal_long(energia)
!el call enerprint(energia)
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
- write (iout,*) "longrange grad"
do i=1,nres
write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),&
(gxcart(j,i),j=1,3)
call zerograd
call etotal_short(energia)
!el call enerprint(energia)
- call flush(iout)
- write (iout,*) "enter cartgrad"
- call flush(iout)
call cartgrad
- write (iout,*) "exit cartgrad"
- call flush(iout)
icall =1
- write (iout,*) "shortrange grad"
do i=1,nres
write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),&
(gxcart(j,i),j=1,3)
! This subrouting calculates total Cartesian coordinate gradient.
! The subroutine chainbuild_cart and energy MUST be called beforehand.
!
-!el#define DEBUG
+#define DEBUG
#ifdef TIMING
time00=MPI_Wtime()
#endif
#ifdef TIMING
time_cartgrad=time_cartgrad+MPI_Wtime()-time00
#endif
- !el#undef DEBUG
+#undef DEBUG
return
end subroutine cartgrad
!-----------------------------------------------------------------------------
endif
enddo
#else
+ mp(:)=0.0d0
+ ip(:)=0.0d0
+ msc(:,:)=0.0d0
+ isc(:,:)=0.0d0
+
allocate(msc(ntyp+1,5)) !(ntyp+1)
allocate(isc(ntyp+1,5)) !(ntyp+1)
allocate(restok(ntyp+1,5)) !(ntyp+1)
print *,'Start MD'
call alloc_MD_arrays
print *,'After MD alloc'
-! if (me.eq.king .or. .not. out1file) &
-! write (iout,*) "Calling chainbuild"
-! call chainbuild
+ if (me.eq.king .or. .not. out1file) &
+ write (iout,*) "Calling chainbuild"
+ call chainbuild
call MD
return
end subroutine exec_MD