pseudosymetria D-aminokwasow dla potencjalow SCCOR
[unres.git] / source / cluster / wham / src / parmread.F
index 20ac0e4..6f5f2d1 100644 (file)
@@ -572,6 +572,10 @@ C
       read (isccor,*) nsccortyp
       read (isccor,*) (isccortyp(i),i=1,ntyp)
 c      write (iout,*) 'ntortyp',ntortyp
+      do i=-ntyp,-1
+        isccortyp(i)=-isccortyp(-i)
+      enddo
+      iscprol=isccortyp(20)
       maxinter=3
 cc maxinter is maximum interaction sites
       do l=1,maxinter
@@ -580,12 +584,52 @@ cc maxinter is maximum interaction sites
           read (isccor,*)
      &nterm_sccor(i,j),nlor_sccor(i,j)
           v0ijsccor=0.0d0
-          si=-1.0d0
-
+          v0ijsccor1=0.0d0
+          v0ijsccor2=0.0d0
+          v0ijsccor3=0.0d0 
+         si=-1.0d0
+          nterm_sccor(-i,j)=nterm_sccor(i,j)
+          nterm_sccor(-i,-j)=nterm_sccor(i,j)
+          nterm_sccor(i,-j)=nterm_sccor(i,j)
           do k=1,nterm_sccor(i,j)
             read (isccor,*) kk,v1sccor(k,l,i,j)
      &    ,v2sccor(k,l,i,j)
+            if (j.eq.iscprol) then
+             if (i.eq.isccortyp(10)) then
+             v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)
+             v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
+             else
+             v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)*0.5d0
+     &                        +v2sccor(k,l,i,j)*dsqrt(0.75d0)
+            v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)*0.5d0
+     &                        +v1sccor(k,l,i,j)*dsqrt(0.75d0)
+              v1sccor(k,l,-i,-j)=v1sccor(k,l,i,j)
+              v2sccor(k,l,-i,-j)=-v2sccor(k,l,i,j)
+              v1sccor(k,l,-i,j)=v1sccor(k,l,i,-j)
+              v2sccor(k,l,-i,j)=-v2sccor(k,l,i,-j)
+              endif
+             else
+              if (i.eq.isccortyp(10)) then
+              v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)
+              v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
+              else
+               if (j.eq.isccortyp(10)) then
+             v1sccor(k,l,-i,j)=v1sccor(k,l,i,j)
+             v2sccor(k,l,-i,j)=-v2sccor(k,l,i,j)
+               else
+             v1sccor(k,l,i,-j)=-v1sccor(k,l,i,j)
+             v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
+             v1sccor(k,l,-i,-j)=v1sccor(k,l,i,j)
+             v2sccor(k,l,-i,-j)=-v2sccor(k,l,i,j)
+             v1sccor(k,l,-i,j)=v1sccor(k,l,i,-j)
+             v2sccor(k,l,-i,j)=-v2sccor(k,l,i,-j)
+                endif
+               endif
+            endif
             v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j)
+            v0ijsccor1=v0ijsccor+si*v1sccor(k,l,-i,j)
+            v0ijsccor2=v0ijsccor+si*v1sccor(k,l,i,-j)
+            v0ijsccor3=v0ijsccor+si*v1sccor(k,l,-i,-j)
             si=-si
           enddo
           do k=1,nlor_sccor(i,j)
@@ -594,7 +638,10 @@ cc maxinter is maximum interaction sites
             v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/
      &(1+vlor3sccor(k,i,j)**2)
           enddo
-          v0sccor(i,j)=v0ijsccor
+           v0sccor(l,i,j)=v0ijsccor
+           v0sccor(l,-i,j)=v0ijsccor1
+           v0sccor(l,i,-j)=v0ijsccor2
+           v0sccor(l,-i,-j)=v0ijsccor3
         enddo
       enddo
       enddo