±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 613  |  »Ø¸´: 3
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

Ñô¹â²»Ðâ7717

[½»Á÷] ¡¾ÇóÖú¡¿Ò»¸ö¼ÆËã¿âÂ×Ï໥×÷ÓÃÄܵÄfortran³ÌÐòµÄ²¢Ðл¯(2)

c-------------------------------------------------
c       end if

c       if(myid==2)then

c*** calculate the energy of bond bond interaction
c----------------------------------------------      



      do in=natom+1,natombond         
         xic = x(in)
         yic = y(in)
         zic = z(in)
         xi = x(in) - xic
         yi = y(in) - yic
         zi = z(in) - zic
                   c2scale= 0.0d0  
          c4scale= 0.57d0
            c3scale=0.0d0            
         do j = natom+1, na
            cscale(j) = 0.57d0
         end do
         do j = 1, nbond12(in)
            cscale(bond12(j,in)) = c2scale
         end do       
          do j = 1, nbdatom12(in)
             cscale(bdatom12(j,in)) = c2scale
        if(atomlp(1,bdatom12(j,in)).ne.0)then
         cscale(atomlp(1,bdatom12(j,in)))
     &=c2scale
        endif
      if(atomlp(2,bdatom12(j,in)).ne.0) then
         cscale(atomlp(2,bdatom12(j,in)))
     &=c2scale
       endif
        if(atompie(1,bdatom12(j,in)).ne.0)
     &  cscale(atompie(1,bdatom12(j,in)))=c2scale     
      if(atompie(2,bdatom12(j,in)).ne.0)
     &  cscale(atompie(2,bdatom12(j,in)))=c2scale
          end do
          do j = 1, nbdatom13(in)       
             cscale(bdatom13(j,in)) = c3scale
        if(atomlp(1,bdatom13(j,in)).ne.0) then
         cscale(atomlp(1,bdatom13(j,in)))
     &=c3scale
         endif
      if(atomlp(2,bdatom13(j,in)).ne.0)then
         cscale(atomlp(2,bdatom13(j,in)))
     &=c3scale
       endif
        if(atompie(1,bdatom13(j,in)).ne.0)
     &  cscale(atompie(1,bdatom13(j,in)))=c3scale     
      if(atompie(2,bdatom13(j,in)).ne.0)
     &  cscale(atompie(2,bdatom13(j,in)))=c3scale
          end do                       
         do j = 1, nbond13(in)
            cscale(bond13(j,in)) = c3scale
         end do
            fi = f * pchg(in)  

           do kk = in+1, naTOMBOND+NLP
               xc = xic - x(kk)
               yc = yic - y(kk)
               zc = zic - z(kk)
               if (use_image)  call image (xc,yc,zc,0)
               rc2 = xc*xc + yc*yc + zc*zc               
                  xr = xc + xi - x(kk) + x(kk)
                  yr = yc + yi - y(kk) + y(kk)
                  zr = zc + zi - z(kk) + z(kk)
                  r2 = xr*xr + yr*yr + zr*zr
                  r = sqrt(r2)
                  fik = fi * pchg(kk) * cscale(kk)
c        WRITE(*,*) AM(IN),AM(KK),CSCALE(KK),R

        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                  fik =  fik*lamp2
        endif
                  e = fik / r
          if(kk.le.natombond)then
         if (molcule(bdatom12(1,in)) .ne. molcule(bdatom12(1,kk))) then
                 einter = einter + e
         end if
          else
         if (molcule(bdatom12(1,in)) .ne. molcule(lpatom(kk))) then
                 einter = einter + e
         end if
          endif       
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                 eintero = eintero + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).eq.obj))then
                 eintrao = eintrao + e
         end if
           if(abs(e).gt.800)then
           write(*,*) ii,kk,molcule(II),molcule(kk)
           endif                 
c         write(11,*) 'bond-bond',e                                                                        
c-------------------------------------
          end do






           do kk = NATOMBOND+NLP+1, na
               xc = xic - x(kk)
               yc = yic - y(kk)
               zc = zic - z(kk)
               if (use_image)  call image (xc,yc,zc,0)
               rc2 = xc*xc + yc*yc + zc*zc               
                  xr = xc + xi - x(kk) + x(kk)
                  yr = yc + yi - y(kk) + y(kk)
                  zr = zc + zi - z(kk) + z(kk)
                  r2 = xr*xr + yr*yr + zr*zr
                  r = sqrt(r2)
                  fik = fi * pchg(kk) * cscale(kk)
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                  fik =  fik*lamp2
        endif
                  e = fik / r

         if (molcule(bdatom12(1,in)) .ne. molcule(PIEatom(kk))) then
                 einter = einter + e   
          endif       
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                 eintero = eintero + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).eq.obj))then
                 eintrao = eintrao + e
         end if
           if(abs(e).gt.800)then
           write(*,*) ii,kk,molcule(II),molcule(kk)
           endif                          
c            write(11,*) 'b-lp,pi',e                                                
                  ec1 = ec1 + e                    
         end do

      end do
c-----------------------------------------------------
      end if
      if(myid==3)then
c------------------------------------------------------

c         write(12,*) 'bond',ec1  
c*** calculate the energy of lp lpPIE interaction

      do in=natombond+1,natombond+nlp         
         xic = x(in)
         yic = y(in)
         zic = z(in)
         xi = x(in) - xic
         yi = y(in) - yic
         zi = z(in) - zic
                   c2scale= 0.0d0  
          c4scale= 0.57d0
            c3scale=0.0d0            
         do j = natomBOND+1, na
            cscale(j) = 0.57d0
         end do
         pi=lpatom(in)
          do j=1,2       
           if(atomlp(j,pi).ne.in.AND.NATOMLP(PI).NE.1)
     &cscale(atomlp(j,pi))=0.0d0
        enddo
           DO J=1,NATOMPIE(PI)
           CSCALE(ATOMPIE(J,PI))=0.0D0
         ENDDO

         do j=1,n12(pi)
        DO K=1,NATOMLP(I12(J,PI))
        cscale(atomlp(K,i12(j,pi)))=c2scale
        ENDDO
        DO K=1,NATOMPIE(I12(J,PI))
        cscale(atompie(K,i12(j,pi)))=c2scale
        ENDDO
           enddo

         do j=1,n13(pi)
        DO K=1,NATOMLP(I13(J,PI))
        cscale(atomlp(K,i13(j,pi)))=c3scale
      ENDDO
        DO K=1,NATOMPIE(I13(J,PI))
        cscale(atompie(K,i13(j,pi)))=c3scale
        ENDDO
           enddo

            fi = f * pchg(in)  
           do kk = in+1, naTOMBOND+NLP
               xc = xic - x(kk)
               yc = yic - y(kk)
               zc = zic - z(kk)
               if (use_image)  call image (xc,yc,zc,0)
               rc2 = xc*xc + yc*yc + zc*zc               
                  xr = xc + xi - x(kk) + x(kk)
                  yr = yc + yi - y(kk) + y(kk)
                  zr = zc + zi - z(kk) + z(kk)
                  r2 = xr*xr + yr*yr + zr*zr
                  r = sqrt(r2)
                  fik = fi * pchg(kk) * cscale(kk)
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                  fik =  fik*lamp2
        endif
                  e = fik / r
         if (molcule(lpatom(in)) .ne. molcule(lpatom(kk))) then
                 einter = einter + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                 eintero = eintero + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).eq.obj))then
                 eintrao = eintrao + e
         end if
           if(abs(e).gt.800)then
           write(*,*) ii,kk,molcule(II),molcule(kk)
           endif                                  
c         write(11,*) 'lp-lp',e                                                                                                                  
                  ec1 = ec1 + e                    
         end do

           do kk = naTOMBOND+NLP+1,NA
               xc = xic - x(kk)
               yc = yic - y(kk)
               zc = zic - z(kk)
               if (use_image)  call image (xc,yc,zc,0)
               rc2 = xc*xc + yc*yc + zc*zc               
                  xr = xc + xi - x(kk) + x(kk)
                  yr = yc + yi - y(kk) + y(kk)
                  zr = zc + zi - z(kk) + z(kk)
                  r2 = xr*xr + yr*yr + zr*zr
                  r = sqrt(r2)
                  fik = fi * pchg(kk) * cscale(kk)

        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                  fik =  fik*lamp2
        endif
                  e = fik / r
         if (molcule(lpatom(in)) .ne. molcule(PIEatom(kk))) then
                 einter = einter + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                 eintero = eintero + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).eq.obj))then
                 eintrao = eintrao + e
         end if
           if(abs(e).gt.800)then
           write(*,*) ii,kk,molcule(II),molcule(kk)
           endif       
c          write(11,*) 'lp-pie',e                                                                                                                                     
                  ec1 = ec1 + e                    
         end do

      end do
c--------------------------------------------------------
c         end if
c         if(myid==4)then
c--------------------------------------------------------

c         write(12,*) 'lp',ec1  
      do in=natombond+nlp+1,na-1         
         xic = x(in)
         yic = y(in)
         zic = z(in)
         xi = x(in) - xic
         yi = y(in) - yic
         zi = z(in) - zic
                   c2scale= 0.0d0  
          c4scale= 0.57d0
            c3scale=0.0d0            
         do j = natom+1, na
            cscale(j) = 0.57d0
         end do
         pi=pieatom(in)
        do j=1,2
           if(atompie(j,pi).ne.iN)cscale(atompie(j,pi))=0.0d0
        enddo
         do j=1,n12(pi)
        DO K=1,NATOMPIE(I12(J,PI))
        cscale(atompie(K,i12(j,pi)))=c2scale
      ENDDO
           enddo
         do j=1,n13(pi)
        DO K=1,NATOMPIE(I13(J,PI))                  
        cscale(atompie(K,i13(j,pi)))=c3scale
      ENDDO
           enddo
            fi = f * pchg(in)  
           do kk = in+1, na
               xc = xic - x(kk)
               yc = yic - y(kk)
               zc = zic - z(kk)
               if (use_image)  call image (xc,yc,zc,0)
               rc2 = xc*xc + yc*yc + zc*zc               
                  xr = xc + xi - x(kk) + x(kk)
                  yr = yc + yi - y(kk) + y(kk)
                  zr = zc + zi - z(kk) + z(kk)
                  r2 = xr*xr + yr*yr + zr*zr
                  r = sqrt(r2)
                  fik = fi * pchg(kk) * cscale(kk)

        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                  fik =  fik*lamp2
        endif
                  e = fik / r
         if (molcule(PIEatom(in)) .ne. molcule(PIEatom(kk))) then
                 einter = einter + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).ne.obj).or.
     &(molcule(in).ne.obj.and.molcule(kk).eq.obj))then
                 eintero = eintero + e
         end if
        if ((molcule(in).eq.obj.and.molcule(kk).eq.obj))then
                 eintrao = eintrao + e
         end if
           if(abs(e).gt.800)then
           write(*,*) ii,kk,molcule(II),molcule(kk)
           endif               
c                    write(11,*) 'pie-pie',e                                                                                                                                                
                  ec1 = ec1 + e   
         end do
      end do
c         write(12,*) 'pie',ec1   
c----------------------------------------
       endif
c ÒÔÏÂΪ¼ÆËãÁ¦µÄ³ÌÐò²»ÐèÒª²¢ÐÐ(ÓÉÓÚ×ÖÊýÒªÇóÒÑÊ¡ÂÔ)
c---------------------------------------
       ecry=ecry+ec1
        if (.not. use_replica)  goto 111   
c*****calculate the interaction with other cells with abeem charges explictly dielec
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

czhui11

¡ï
sunxiao(½ð±Ò+1,VIP+0):лл²ÎÓ룬»¶Ó­³£À´·ÂÕæ±à³Ì°æ 5-19 02:14
ÄãÔõô·¢Õâô³¤°¡,Ë­ÓÐÄÇô³¤Ê±¼äÈ¥¿´°¡
2Â¥2009-05-18 20:44:19
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï
sunxiao(½ð±Ò+2,VIP+0):лл²ÎÓ룬»¶Ó­³£À´·ÂÕæ±à³Ì°æ 5-19 02:14
²»½ö³¤£¬¶øÇÒûÓÐ×¢ÊÍ£¬ÔÙÓУ¬Ò²²»ÄܱàÒëÖ´ÐУ¬ºÇºÇ¡­¡­
3Â¥2009-05-18 22:48:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

mickk

Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)

¡ï
gwdavid(½ð±Ò+1,VIP+0):»¶Ó­³£À´ 5-31 19:49
²»½ö³¤£¬¶øÇÒºÃÏñ²»ÍêÕû£¬Ã»·¨µ÷ÊÔѽ
4Â¥2009-05-30 23:09:02
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ Ñô¹â²»Ðâ7717 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ¸÷λÀÏʦºÃ£¬ÎÒµÄһ־ԸΪ±±¾©¿Æ¼¼´óѧ085601²ÄÁÏר˶ +7 Koxui 2026-03-28 7/350 2026-03-29 00:58 by ÎÒÊÇС¿µ
[¿¼ÑÐ] 085600 ²ÄÁÏÓ뻯¹¤ 329·ÖÇóµ÷¼Á +10 Mr. Z 2026-03-25 10/500 2026-03-29 00:34 by ÎÒÊÇС¿µ
[¿¼ÑÐ] 283Çóµ÷¼Á +3 A child 2026-03-28 3/150 2026-03-28 15:41 by ms629
[¿¼ÑÐ] Çóµ÷¼Á +6 «lty 2026-03-25 7/350 2026-03-28 13:13 by ÌÆãå¶ù
[¿¼ÑÐ] ¡¾Çóµ÷¼Á¡¿085601²ÄÁϹ¤³Ìר˶ | ×Ü·Ö272 | +6 ½Å»¬µÄÊØ·¨¹«Ãñ 2026-03-27 6/300 2026-03-28 11:02 by gjlllb
[¿¼ÑÐ] 081200-314 +3 LILIQQ 2026-03-27 4/200 2026-03-28 09:41 by ±£»¤µØÇòÄãÎÒ×öÆ
[¿¼ÑÐ] 291Çóµ÷¼Á +6 HanBeiNingZC 2026-03-24 6/300 2026-03-28 07:55 by baoball
[¿¼ÑÐ] 086502»¯Ñ§¹¤³Ì342Çóµ÷¼Á +6 °¢Ò̸´¹Å²»¹ý 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[¿¼ÑÐ] Çóµ÷¼ÁÍÆ¼ö ²ÄÁÏ 304 +15 ºÉ°üµ°hyj 2026-03-26 15/750 2026-03-28 04:13 by fmesaito
[¿¼ÑÐ] Ò»Ö¾Ô¸211ԺУ 344·Ö ¶«±±Å©Òµ´óѧÉúÎïѧѧ˶£¬Çóµ÷¼Á +5 ؼ·çѩҹ¹éÈËØ¼ 2026-03-26 8/400 2026-03-27 19:22 by ؼ·çѩҹ¹éÈËØ¼
[¿¼ÑÐ] 0856µ÷¼Á +5 ÇóÇóÈÃÎÒÓÐÊé¶Á° 2026-03-26 6/300 2026-03-27 15:12 by caszguilin
[¿¼ÑÐ] 085600£¬²ÄÁÏÓ뻯¹¤321·Öµ÷¼Á +4 ´ó²öС×Ó 2026-03-27 6/300 2026-03-27 14:11 by ËÉ»¨¸×1201
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¶«Àí¹¤´óѧ081700£¬³õÊÔ·ÖÊý271 +6 kotoko_ik 2026-03-23 7/350 2026-03-27 12:29 by »ÝÖÝÅíÓÚêÌ
[¿¼ÑÐ] Çóµ÷¼Á323²ÄÁÏÓ뻯¹¤ +7 1124361 2026-03-24 7/350 2026-03-27 10:22 by wangjy2002
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉÂʦ´óÉúÎïѧ071000£¬298·Ö£¬Çóµ÷¼Á +5 SYA£¡ 2026-03-23 5/250 2026-03-27 09:29 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 289Çóµ÷¼Á +17 ˶ÐǸ° 2026-03-23 17/850 2026-03-26 16:18 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] Ò»Ö¾Ô¸ºÓ¹¤´ó 081700 276Çóµ÷¼Á +4 µØÇòÈÆ×ÅÌ«Ñôת 2026-03-23 4/200 2026-03-26 14:27 by zzll406
[¿¼ÑÐ] 296Çóµ÷¼Á +4 Íô£¡£¿£¡ 2026-03-25 7/350 2026-03-25 16:41 by Íô£¡£¿£¡
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢Çóµ÷¼Á +7 ¦Á____ 2026-03-22 9/450 2026-03-25 13:37 by ¦Á____
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +3 iwinso 2026-03-23 3/150 2026-03-25 11:29 by greychen00
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û