| ²é¿´: 215 | »Ø¸´: 0 | |||
[½»Á÷]
¡¾ÌÖÂÛ¡¿Âé·³¸÷λ¸ßÊÖ¸ø¿´Ò»ÏÂÎÒÕâ³ÌÐòÓÐÎÊÌâÂ𣿶àл
|
|
Âé·³¸ßÊÖ°ïæ¸ø¿´Ò»ÏÂÎÒÕâ¶Î³ÌÐòÓÐÎÊÌâÂð£¿ÎªÊ²Ã´¿ªÊ¼¼¸Ê®²½µÄʱºò£¬ÄÜÁ¿»ù±¾±£³Ö²»±ä£¬µ«ÊǺóÀ´£¬¶¯Äܼ±¾çÔö¼ÓÄØ£¬ÊÆÄÜÒ²ÔÚÔö¼Ó£¬ÓÐÀ͸÷λÁË£¬¶àлÁË SUBROUTINE L_J (n,a,ahalf,rcut,position_x,position_y,position_z,u,f_x,f_y,f_z,Ep) IMPLICIT NONE ! the number of particles INTEGER,INTENT(IN)::n ! the potential cutoff REAL,INTENT(IN)::rcut ! the length and half length of box REAL,INTENT(IN)::a,ahalf !potential energy REAL,INTENT(OUT)::Ep ! the position of particles REAL(8),DIMENSION(n),INTENT(INOUT)::position_x,position_y,position_z ! the potential and force of particles REAL,DIMENSION(n),INTENT(OUT)::u,f_x,f_y,f_z ! the contral variable of loop INTEGER::i,j,k ! the label of particles INTEGER::ijk ! the distance of every two particles along the three axis REAL::distance_x,distance_y,distance_z ! the distance's square of every two particles REAL::distance_sq REAL::distance6,distance12,rcut_sq,rcut6,rcut12 REAL::Ec,ff ! initialize the potential and force u=0. Ep=0 f_x=0. f_y=0. f_z=0. ijk=0 !calculate the rcut_sq rcut_sq=rcut*rcut rcut6=rcut_sq**3 rcut12=rcut6*rcut6 Ec=(1./rcut12-1./rcut6) position_i: DO i=1,n-1 distance_ij: DO j=i+1,n distance_x=position_x(i)-position_x(j) distance_y=position_y(i)-position_y(j) distance_z=position_z(i)-position_z(j) !x_distance: distance_x=distance_x-a*REAL(ANINT(distance_x/a)) !y_distance: distance_y=distance_y-a*REAL(ANINT(distance_y/a)) !z_distance: distance_z=distance_z-a*REAL(ANINT(distance_z/a)) ! calculate the distance_sq distance_sq=distance_x**2+distance_y**2+distance_z**2 ! calculate potential and force force:IF (distance_sq distance6=distance_sq**3 distance12=distance6*distance6 ff=(distance_x/distance_sq)*((12./distance12)-(6./distance6)) ! u(ijk)=u(ijk)+(1./distance12-1./distance6)-Ec f_x(i)=f_x(i)+4.*ff f_y(i)=f_y(i)+4.*ff f_z(i)=f_z(i)+4.*ff f_x(j)=f_x(j)-4.*ff f_y(j)=f_y(j)-4.*ff f_z(j)=f_z(j)-4.*ff Ep=Ep+(1./distance12-1./distance6)-Ec END IF force END DO distance_ij ! u(ijk)=4.*u(ijk) END DO position_i Ep=4.*Ep Ep=Ep/real(n) END SUBROUTINE L_J [ Last edited by ghcacj on 2010-12-16 at 13:08 ] |
» ²ÂÄãϲ»¶
Ò»Ö¾Ô¸211£¬»¯Ñ§Ñ§Ë¶£¬310·Ö£¬±¾¿ÆÖصãË«·Ç£¬Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
285Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
22408 266Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
264Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
²ÄÁϹ¤³ÌרҵÈÕÓïÉúÇóµ÷¼Á
ÒѾÓÐ9È˻ظ´
297Çóµ÷¼Á
ÒѾÓÐ15È˻ظ´
277¡¢Ñ§Ë¶£¬Çóµ÷¼Á ÊýÒ»104£¬
ÒѾÓÐ12È˻ظ´
»úеר˶273ÇëÇóµ÷¼Á
ÒѾÓÐ3È˻ظ´
080100Á¦Ñ§316Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
288»·¾³×¨Ë¶,Çóµ÷²ÄÁÏ·½Ïò
ÒѾÓÐ39È˻ظ´
» ÇÀ½ð±ÒÀ²£¡»ØÌû¾Í¿ÉÒԵõ½:
ÉϺ£½»Í¨´óѧ»¯Ñ§»¯¹¤Ñ§ÔºÄ¤·ÖÀë-ÄÉÁ÷¿Ø¿ÎÌâ×é³ÏƸ²©Ê¿ºó2-3Ãû
+1/89
ºþÄϹ¤Òµ´óѧÖܹóÒú×éÕÐÉúÎïҽѧ¹¤³Ì£¨Ñ§Ë¶07¡¢08¶¼ÐУ©ºÍÉúÎïÓëÒ½Ò©£¨×¨Ë¶08£©Ë¶Ê¿Éú
+1/87
°ÙÄêѧ¸®£¬¸£½¨Ê¦·¶´óѧ»¯Ñ§²ÄÁÏÀàÑо¿Éúµ÷¼Á
+1/44
¡¾½ô¼±ÕÐÉú¡¿´óÁ¬¹¤Òµ´óÑ§ÌÆ¾§¾§ÕÐÊÕ2026¼¶»¯Ñ§/»¯¹¤Ààµ÷¼Á˶ʿÉú£¨×îºóÒ»Ì죩
+1/44
º¼ÖÝҽѧԺÕÅ·êÖʽÌÊÚ¿ÎÌâ×éÕÐÊÕҩѧ˶ʿÑо¿ÉúÈô¸É
+1/26
ɽ¶«Àí¹¤´óѧ×ÊÔ´Óë»·¾³¹¤³ÌѧԺÕÐÊÕµ÷¼Á¿¼Éú
+1/19
ÉÂÎ÷¿Æ¼¼´óѧÇṤ¿ÆÑ§Ó빤³ÌѧԺÁõÀÏʦ½ÓÊÕ08רҵÑо¿Éúµ÷¼Á
+1/17
Æë³¹¤Òµ´óѧ£¨É½¶«Ê¡¿ÆÑ§Ôº£© ¹ÈÑÇÍþÀÏʦ¿ÎÌâ×éÄâÕÐ2026Äêµ÷¼ÁÑо¿Éú
+1/14
ºÓÄÏÀí¹¤´óѧ»¯Ñ§»¯¹¤Ñ§ÔºÕÐÉú²ÄÁÏ¡¢»¯¹¤µÈÏà¹Ø×¨Òµµ÷¼ÁÑо¿Éú
+1/10
Ê×¶¼Ê¦·¶´óѧ»¯Ñ§ÏµÌïÑó¿ÎÌâ×éר˶Õе÷¼ÁÉú
+1/10
Ìì½òÉÌÒµ´óѧÉúÎï¼¼ÊõÓëʳƷ¿ÆÑ§Ñ§Ôº083200£»086000רҵµ÷¼ÁÕÐÉú
+1/9
ÕÐÉúÎïѧ0710·½Ïò˶ʿµ÷¼Á
+2/8
ÖйúµØÕð¾ÖµØÖÊÑо¿Ëù+µØÑ§/ÊýѧÏà¹Ø×¨Òµ+½ÓÊÕµ÷¼Á
+1/7
¸£½¨Àí¹¤´óѧ²ÄÁÏѧԺÕÐÊÕרҵ´úÂë08¿ªÍ·Ñ§ÊõÐÍ˶ʿÑо¿Éú
+1/7
¶«±±Ê¯ÓÍ´óѧÕÐÉúµ÷¼Á˶ʿÉúÈô¸É
+1/6
º¼ÖÝʦ·¶´óѧ-Õã½Ê¡ÊªµØÖǻۼà²âÓëÉú̬ÐÞ¸´ÖصãʵÑéÊÒÍŶÓ˶ʿµ÷¼Á¹«¸æ
+1/4
¼ÃÄÏ´óѧÌìȻҩÎﻯѧÉúÎïÑ§Ê¡ÖØµãʵÑéÊÒÕÐÊÕÉúÎïѧ¡¢ÖÆÒ©¹¤³Ìѧר˶µ÷¼Á
+1/4
ºÓÄϳǽ¨Ñ§ÔºÉúÃü¿ÆÑ§Ó빤³ÌѧԺ£¨085700×ÊÔ´Óë»·¾³·½Ïò£©ÏÖÓе÷¼ÁÃû¶î£¬»¶Óµ÷¼Á×Éѯ
+1/3
¡¾#ÉϺ£µ÷¼Á¼±Â¼#¡¿ÄܽÓÊÜ985ÁªºÏÅàÑøµÄËÙÀ´£¡´øÄã·¢Ò»ÇøÎÄÕ£¡
+1/2
±±¾©¸ßУ¸±Ð£³¤ÍŶÓÕÐÊÕ»úеÀ࣬»·¾³Ààѧ˶ºÍר˶
+1/1














»Ø¸´´ËÂ¥