working cluster for nano parameters
[unres.git] / source / wham / src-M / store_parm.F
index 461a013..c8e42c0 100644 (file)
@@ -1,4 +1,4 @@
-      subroutine store_parm(iparm)
+              subroutine store_parm(iparm)
 C
 C Store parameters of set IPARM
 C valence angles and the side chains and energy parameters.
@@ -40,6 +40,8 @@ c Store weights
       ww_all(16,iparm)=wvdwpp
       ww_all(17,iparm)=wbond
       ww_all(19,iparm)=wsccor
+      ww_all(22,iparm)=wliptran
+      ww_all(26,iparm)=wtube
 c Store bond parameters
       vbldp0_all(iparm)=vbldp0
       akp_all(iparm)=akp
@@ -81,35 +83,50 @@ c Store bond angle parameters
       nsingle_all(iparm)=nsingle
       ndouble_all(iparm)=ndouble
       nntheterm_all(iparm)=nntheterm
-      do i=1,ntyp1
+      do i=-ntyp,ntyp
         ithetyp_all(i,iparm)=ithetyp(i)
       enddo
-      do i=1,maxthetyp1
-        do j=1,maxthetyp1
-          do k=1,maxthetyp1
-            aa0thet_all(i,j,k,iparm)=aa0thet(i,j,k)
+      do iblock=1,2
+      do i=-maxthetyp1,maxthetyp1
+        do j=-maxthetyp1,maxthetyp1
+          do k=-maxthetyp1,maxthetyp1
+            aa0thet_all(i,j,k,iblock,iparm)=aa0thet(i,j,k,iblock)
             do l=1,ntheterm
-              aathet_all(l,i,j,k,iparm)=aathet(l,i,j,k)
+              aathet_all(l,i,j,k,iblock,iparm)=aathet(l,i,j,k,iblock)
             enddo
             do l=1,ntheterm2
               do m=1,nsingle
-                bbthet_all(m,l,i,j,k,iparm)=bbthet(m,l,i,j,k)
-                ccthet_all(m,l,i,j,k,iparm)=ccthet(m,l,i,j,k)
-                ddthet_all(m,l,i,j,k,iparm)=ddthet(m,l,i,j,k)
-                eethet_all(m,l,i,j,k,iparm)=eethet(m,l,i,j,k)
+                bbthet_all(m,l,i,j,k,iblock,iparm)=
+     & bbthet(m,l,i,j,k,iblock)
+                ccthet_all(m,l,i,j,k,iblock,iparm)=
+     &ccthet(m,l,i,j,k,iblock)
+                ddthet_all(m,l,i,j,k,iblock,iparm)=
+     &ddthet(m,l,i,j,k,iblock)
+                eethet_all(m,l,i,j,k,iblock,iparm)=
+     &eethet(m,l,i,j,k,iblock)
               enddo
             enddo
             do l=1,ntheterm3
               do m=1,ndouble
                 do mm=1,ndouble
-                 ffthet_all(mm,m,l,i,j,k,iparm)=ffthet(mm,m,l,i,j,k)
-                 ggthet_all(mm,m,l,i,j,k,iparm)=ggthet(mm,m,l,i,j,k)
+                if (iblock.eq.1) then
+                 ffthet_all1(mm,m,l,i,j,k,iparm)=
+     &   ffthet(mm,m,l,i,j,k,iblock)
+                 ggthet_all1(mm,m,l,i,j,k,iparm)=
+     &ggthet(mm,m,l,i,j,k,iblock)
+                  else
+                 ffthet_all2(mm,m,l,i,j,k,iparm)=
+     &   ffthet(mm,m,l,i,j,k,iblock)
+                 ggthet_all2(mm,m,l,i,j,k,iparm)=
+     &ggthet(mm,m,l,i,j,k,iblock)
+                  endif
                 enddo
               enddo
             enddo
           enddo
         enddo
       enddo
+      enddo
 #endif
 #ifdef CRYST_SC
 c Store the sidechain rotamer parameters
@@ -207,13 +224,16 @@ c Store the parameters of electrostatic interactions
 c Store sidechain parameters
       do i=1,ntyp
         do j=1,ntyp
-          aa_all(j,i,iparm)=aa(j,i)
-          bb_all(j,i,iparm)=bb(j,i)
+          aa_aq_all(j,i,iparm)=aa_aq(j,i)
+          bb_aq_all(j,i,iparm)=bb_aq(j,i)
+          aa_lip_all(j,i,iparm)=aa_lip(j,i)
+          bb_lip_all(j,i,iparm)=bb_lip(j,i)
           r0_all(j,i,iparm)=r0(j,i)
           sigma_all(j,i,iparm)=sigma(j,i)
           chi_all(j,i,iparm)=chi(j,i)
           augm_all(j,i,iparm)=augm(j,i)
           eps_all(j,i,iparm)=eps(j,i)
+          epslip_all(j,i,iparm)=epslip(j,i)
         enddo
       enddo
       do i=1,ntyp
@@ -237,12 +257,17 @@ c Store disulfide-bond parameters
       v2ss_all(iparm)=v2ss
       v3ss_all(iparm)=v3ss
 c Store SC-backbone correlation parameters
-      nterm_sccor_all(iparm)=nterm_sccor
-      do i=1,20
-        do j=1,20
-          do k=1,nterm_sccor
-            v1sccor_all(k,i,j,iparm)=v1sccor(k,i,j)
-            v2sccor_all(k,i,j,iparm)=v2sccor(k,i,j)
+      do i=-nsccortyp,nsccortyp
+       do j=-nsccortyp,nsccortyp
+
+      nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
+c      do i=1,20
+c        do j=1,20
+         do l=1,3
+          do k=1,nterm_sccor(j,i)
+            v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
+            v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
+           enddo
           enddo
         enddo
       enddo
@@ -291,6 +316,8 @@ c Restore weights
       wvdwpp=ww_all(16,iparm)
       wbond=ww_all(17,iparm)
       wsccor=ww_all(19,iparm)
+      wliptran=ww_all(22,iparm)
+      wtube=ww_all(26,iparm)
 c Restore bond parameters
       vbldp0=vbldp0_all(iparm)
       akp=akp_all(iparm)
@@ -332,35 +359,50 @@ c Restore bond angle parameters
       nsingle=nsingle_all(iparm)
       ndouble=ndouble_all(iparm)
       nntheterm=nntheterm_all(iparm)
-      do i=1,ntyp1
+      do i=-ntyp,ntyp
         ithetyp(i)=ithetyp_all(i,iparm)
       enddo
-      do i=1,maxthetyp1
-        do j=1,maxthetyp1
-          do k=1,maxthetyp1
-            aa0thet(i,j,k)=aa0thet_all(i,j,k,iparm)
+      do iblock=1,2
+      do i=-maxthetyp1,maxthetyp1
+        do j=-maxthetyp1,maxthetyp1
+          do k=-maxthetyp1,maxthetyp1
+            aa0thet(i,j,k,iblock)=aa0thet_all(i,j,k,iblock,iparm)
             do l=1,ntheterm
-              aathet(l,i,j,k)=aathet_all(l,i,j,k,iparm)
+              aathet(l,i,j,k,iblock)=aathet_all(l,i,j,k,iblock,iparm)
             enddo
             do l=1,ntheterm2
               do m=1,nsingle
-                bbthet(m,l,i,j,k)=bbthet_all(m,l,i,j,k,iparm)
-                ccthet(m,l,i,j,k)=ccthet_all(m,l,i,j,k,iparm)
-                ddthet(m,l,i,j,k)=ddthet_all(m,l,i,j,k,iparm)
-                eethet(m,l,i,j,k)=eethet_all(m,l,i,j,k,iparm)
+                bbthet(m,l,i,j,k,iblock)=
+     &bbthet_all(m,l,i,j,k,iblock,iparm)
+                ccthet(m,l,i,j,k,iblock)=
+     &ccthet_all(m,l,i,j,k,iblock,iparm)
+                ddthet(m,l,i,j,k,iblock)=
+     &ddthet_all(m,l,i,j,k,iblock,iparm)
+                eethet(m,l,i,j,k,iblock)=
+     &eethet_all(m,l,i,j,k,iblock,iparm)
               enddo
             enddo
             do l=1,ntheterm3
               do m=1,ndouble
                 do mm=1,ndouble
-                 ffthet(mm,m,l,i,j,k)=ffthet_all(mm,m,l,i,j,k,iparm)
-                 ggthet(mm,m,l,i,j,k)=ggthet_all(mm,m,l,i,j,k,iparm)
+                if (iblock.eq.1) then
+                 ffthet(mm,m,l,i,j,k,iblock)=
+     &ffthet_all1(mm,m,l,i,j,k,iparm)
+                 ggthet(mm,m,l,i,j,k,iblock)=
+     &ggthet_all1(mm,m,l,i,j,k,iparm)
+                else
+                 ffthet(mm,m,l,i,j,k,iblock)=
+     &ffthet_all2(mm,m,l,i,j,k,iparm)
+                 ggthet(mm,m,l,i,j,k,iblock)=
+     &ggthet_all2(mm,m,l,i,j,k,iparm)
+                endif
                 enddo
               enddo
             enddo
           enddo
         enddo
       enddo
+      enddo
 #endif
 c Restore the sidechain rotamer parameters
 #ifdef CRYST_SC
@@ -457,13 +499,16 @@ c Restore the parameters of electrostatic interactions
 c Restore sidechain parameters
       do i=1,ntyp
         do j=1,ntyp
-          aa(j,i)=aa_all(j,i,iparm)
-          bb(j,i)=bb_all(j,i,iparm)
+          aa_aq(j,i)=aa_aq_all(j,i,iparm)
+          bb_aq(j,i)=bb_aq_all(j,i,iparm)
+          aa_lip(j,i)=aa_lip_all(j,i,iparm)
+          bb_lip(j,i)=bb_lip_all(j,i,iparm)
           r0(j,i)=r0_all(j,i,iparm)
           sigma(j,i)=sigma_all(j,i,iparm)
           chi(j,i)=chi_all(j,i,iparm)
           augm(j,i)=augm_all(j,i,iparm)
           eps(j,i)=eps_all(j,i,iparm)
+          epslip(j,i)=epslip_all(j,i,iparm)
         enddo
       enddo
       do i=1,ntyp
@@ -487,12 +532,15 @@ c Restore disulfide-bond parameters
       v2ss=v2ss_all(iparm)
       v3ss=v3ss_all(iparm)
 c Restore SC-backbone correlation parameters
-      nterm_sccor=nterm_sccor_all(iparm)
-      do i=1,20
-        do j=1,20
-          do k=1,nterm_sccor
-            v1sccor(k,i,j)=v1sccor_all(k,i,j,iparm)
-            v2sccor(k,i,j)=v2sccor_all(k,i,j,iparm)
+      do i=-nsccortyp,nsccortyp
+       do j=-nsccortyp,nsccortyp
+
+      nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
+        do l=1,3
+           do k=1,nterm_sccor(j,i)
+            v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
+            v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)
+           enddo
           enddo
         enddo
       enddo