±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 612  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 305Çóµ÷¼Á +7 RuiFairyrui 2026-03-28 7/350 2026-03-29 00:40 by 544594351
[¿¼ÑÐ] 332Çóµ÷¼Á +6 ½¶½¶123 2026-03-28 6/300 2026-03-29 00:37 by 544594351
[¿¼ÑÐ] Ò»Ö¾Ô¸Î人Àí¹¤£¬×Ü·Ö321£¬Ó¢Ò»Êý¶þ£¬ÇóÀÏʦÊÕÁô¡£ +7 nnnnnnn5 2026-03-25 7/350 2026-03-29 00:32 by ÎÒÊÇС¿µ
[¿¼ÑÐ] 321Çóµ÷¼Á +6 è±Óñ~~ 2026-03-25 7/350 2026-03-28 17:48 by è±Óñ~~
[¿¼ÑÐ] ¸´ÊÔµ÷¼Á +3 raojunqi0129 2026-03-28 3/150 2026-03-28 15:27 by ÂäÉ˼
[¿¼ÑÐ] 070300Çóµ÷¼Á306·Ö +4 26ÒªÉϰ¶ 2026-03-27 4/200 2026-03-28 13:06 by ÌÆãå¶ù
[¿¼ÑÐ] 292Çóµ÷¼Á +14 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-25 15/750 2026-03-28 08:45 by WYUMater
[¿¼ÑÐ] 286Çóµ÷¼Á +4 ¶ªµôÀÁ¶è 2026-03-27 7/350 2026-03-28 08:07 by baoball
[Óлú½»Á÷] ¸ßθßѹ·´Ó¦ÇóÖú 10+4 chibby 2026-03-25 4/200 2026-03-27 21:08 by BT20230424
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄÏʦ´ó0703»¯Ñ§ 275Çóµ÷¼Á +4 RipcordÉϰ¶ 2026-03-27 4/200 2026-03-27 17:00 by zhyzzh
[¿¼ÑÐ] 322Çóµ÷¼Á +4 ÎÒÕæµÄºÜÏëѧϰ 2026-03-23 4/200 2026-03-27 13:51 by ÑîÑîÑî×Ï
[¿¼ÑÐ] ¿¼Ñе÷¼Á +10 ºôºô£¿~+123456 2026-03-24 10/500 2026-03-27 11:46 by wangjy2002
[¿¼ÑÐ] Ò»Ö¾Ô¸Ö£´ó085600£¬310·ÖÇóµ÷¼Á +5 Àîäì¿É 2026-03-26 5/250 2026-03-27 11:14 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 349Çóµ÷¼Á +4 Àîľ×Ó°¡¹þ¹þ 2026-03-25 4/200 2026-03-26 22:49 by fmesaito
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢Çóµ÷¼Á 324 +4 Promise-jyl 2026-03-23 4/200 2026-03-25 11:36 by Sugarlight
[¿¼ÑÐ] »¯¹¤×¨Ë¶Çóµ÷¼Á +3 questionÍì·ç 2026-03-24 3/150 2026-03-24 18:48 by jhhcooi
[¿¼ÑÐ] Çóµ÷¼ÁÒ»Ö¾Ô¸Î人Àí¹¤´óѧ²ÄÁϹ¤³Ì£¨085601£© +5 WW.' 2026-03-23 7/350 2026-03-24 14:50 by sprinining
[¿¼ÑÐ] ½ÓÊÕ2026˶ʿµ÷¼Á(ѧ˶+ר˶) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by Íô£¡£¿£¡
[¿¼ÑÐ] ʯºÓ×Ó´óѧ£¨211¡¢Ë«Ò»Á÷£©Ë¶²©Ñо¿Éú³¤ÆÚÕÐÉú¹«¸æ +3 Àî×ÓÄ¿ 2026-03-22 3/150 2026-03-22 21:01 by ÔõôÊÍ»³
[¿¼ÑÐ] 275Çóµ÷¼Á +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û