bug fix in corr4
authorAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Tue, 6 Nov 2018 11:51:45 +0000 (12:51 +0100)
committerAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Tue, 6 Nov 2018 11:51:45 +0000 (12:51 +0100)
source/unres/CMakeLists.txt
source/unres/energy.F90
source/unres/io_config.F90

index ee2fb79..cbebccf 100644 (file)
@@ -72,7 +72,7 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort")
   set (CMAKE_Fortran_FLAGS_RELEASE " ")
   set (CMAKE_Fortran_FLAGS_DEBUG   "-O0 -g ")
 #  set(FFLAGS0 "-fpp -c -O3 -ip " ) 
-  set(FFLAGS0 "-O3 -ip -fpp  -heap-arrays" ) 
+  set(FFLAGS0 "-CB -g -ip -fpp  -heap-arrays" ) 
 #  set(FFLAGS0 "-O0 -CB -CA -g" )
   set(FFLAGS1 "-fpp -c -O " ) 
   set(FFLAGS2 "-fpp -c -g -CA -CB ")
index 3870bb0..52fb0ff 100644 (file)
         time_Bcastw=time_Bcastw+MPI_Wtime()-time00
 !        call chainbuild_cart
       endif
-!      print *,'Processor',myrank,' calling etotal ipot=',ipot
-!      print *,'Processor',myrank,' nnt=',nnt,' nct=',nct
+      print *,'Processor',myrank,' calling etotal ipot=',ipot
+      print *,'Processor',myrank,' nnt=',nnt,' nct=',nct
 #else
 !      if (modecalc.eq.12.or.modecalc.eq.14) then
 !        call int_from_cart1(.false.)
         else
           iti1=nloctyp
         endif
+!        print *,i,iti
         b1(1,i-2)=b(3,iti)
         b1(2,i-2)=b(5,iti)
         b2(1,i-2)=b(2,iti)
         call matvec2(Ctilde(1,1,i-1),obrot_der(1,i-2),Ctobrder(1,i-2))
         call matvec2(Dtilde(1,1,i-2),obrot2_der(1,i-2),Dtobr2der(1,i-2))
 ! Vectors and matrices dependent on a single virtual-bond dihedral.
-        call matvec2(DD(1,1,i-2),b1tilde(1,iti1),auxvec(1))
+        call matvec2(DD(1,1,i-2),b1tilde(1,i-1),auxvec(1))
         call matvec2(Ug2(1,1,i-2),auxvec(1),Ug2Db1t(1,i-2)) 
         call matvec2(Ug2der(1,1,i-2),auxvec(1),Ug2Db1tder(1,i-2)) 
         call matvec2(CC(1,1,i-1),Ub2(1,i-2),CUgb2(1,i-2))
         a_temp(1,2)=a23
         a_temp(2,1)=a32
         a_temp(2,2)=a33
-        iti1=itortyp(itype(i+1,1))
-        iti2=itortyp(itype(i+2,1))
-        iti3=itortyp(itype(i+3,1))
+        iti1=i+1
+        iti2=i+2
+        iti3=i+3
 !        write(iout,*) "iti1",iti1," iti2",iti2," iti3",iti3
         call transpose2(EUg(1,1,i+1),e1t(1,1))
         call transpose2(Eug(1,1,i+2),e2t(1,1))
         call matvec2(ae3(1,1),gUb2(1,i+2),auxgvec(1))
 !c auxilary matrix auxgEvec1 of E matix with Ub2 constant
         call matvec2(gtae3(1,1),Ub2(1,i+2),auxgEvec3(1))
-        s2=scalar2(b1(1,iti1),auxvec(1))
+        s2=scalar2(b1(1,i+1),auxvec(1))
 !c derivative of theta i+1 with constant i+3
         gs13=scalar2(gtb1(1,i+1),auxvec(1))
 !c derivative of theta i+2 with constant i+1
         call transpose2(EUgder(1,1,i+1),e1tder(1,1))
         call matmat2(e1tder(1,1),a_temp(1,1),auxmat(1,1))
         call matvec2(auxmat(1,1),Ub2(1,i+3),auxvec(1))
-        s1=scalar2(b1(1,iti2),auxvec(1))
+        s1=scalar2(b1(1,i+1),auxvec(1))
         call matmat2(ae3e2(1,1),e1tder(1,1),pizda(1,1))
         s3=0.5d0*(pizda(1,1)+pizda(2,2))
         gel_loc_turn4(i)=gel_loc_turn4(i)-(s1+s3) &
index b9a9844..774b624 100644 (file)
       enddo
 #else
       allocate(iloctyp(-nloctyp:nloctyp))
+      allocate(itype2loc(-ntyp1:ntyp1))
       iloctyp(0)=10
       iloctyp(1)=9
       iloctyp(2)=20