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

jianchaoyv

½ð³æ (СÓÐÃûÆø)

[½»Á÷] ¡¾ÇóÖú¡¿Çë½Ìfortran³ÌÐò³ö´íÎÊÌâ

ÎÊÌâÒ»£º³ÌÐòÈçÏ£º
program initial_velocity
implicit none
!we assumed m=1,k=1
real*8,parameter::temp=300.0
integer,parameter::N=10
integer::i
real*8,dimension(1:N)::vx,vy,vz
write(*,'(1x,a,8x,a,10x,a,10x,a)')'n','vx','vy','vz'
call comvel(temp)
  do i=1,N
   write(*,'(i2,2x,f10.3,2x,f10.3,2x,f10.3)')i,vx(i),vy(i),vz(i)
  end do
end program initial_velocity



subroutine comvel(temp)
integer,parameter::N=10
integer::i
real*8,dimension(1:N)::vx,vy,vz

real*8::temp,Rtemp,sumx,sumy,sumz
real*8::gauss,dummy
Rtemp=sqrt(temp)

  do i=1,N
    vx(i)=Rtemp*gauss(dummy)
        vy(i)=Rtemp*gauss(dummy)
        vz(i)=Rtemp*gauss(dummy)
  end do

sumx=0.0
sumy=0.0
sumz=0.0
  do i=1,N
    sumx=sumx+vx(i)
        sumy=sumy+vy(i)
        sumz=sumz+vz(i)
  end do

sumx=sumx/real(N)
sumy=sumy/real(N)
sumz=sumz/real(N)
  do i=1,N
    vx(i)=vx(i)-sumx
        vy(i)=vy(i)-sumy
        vz(i)=vz(i)-sumz
  end do
  return
end subroutine comvel


function gauss(dummy)
   real*8,parameter::A1=3.949846138,A3=0.252408784
   real*8,parameter::A5=0.076542912,A7=0.008355968
   real*8,parameter::A9=0.029899776
   real*8::sum,R,R2,dummy
   integer::i
   sum=0.0
    call random_seed()
   do i=1,12
     call random_number(dummy)
         sum=sum+dummy
   end do
   R=(sum-6.0)/4.0
   R2=R*R
   gauss=((((A9*R2+A7)*R2+A5)*R2+A3)*R2+A1)*R
   return
end function gauss
ÔËÐкó½á¹û£º
n        vx          vy          vz
1       0.000       0.000       0.000
2       0.000       0.000       0.000
3       0.000       0.000       0.000
4       0.000       0.000       0.000
5       0.000       0.000       0.000
6       0.000       0.000       0.000
7       0.000       0.000       0.000
8       0.000       0.000       0.000
9       0.000       0.000       0.000
10       0.000       0.000       0.000
Press any key to continue
ÇëÎÊÔõÑùÄܵõ½ËùÐèµÄËæ»úÊýÖµ£¿£¿


ÎÊÌâ¶þ£ºÎªÑéÖ¤ÉÏÃæ³ÌÐòÖв¿·Ö³ÌÐò¶Î£¬ÎÒдÁíÒ»³ÌÐòÈçÏ£º
program a_1
implicit none
real*8::gauss,dummy,Rtemp
integer,parameter::N=10
integer::i
real,dimension(1:N)::vx,vy,vz
real,parameter::temp=300.0
Rtemp=sqrt(temp)
do i=1,N
    vx(i)=Rtemp*gauss(dummy)
    vy(i)=Rtemp*gauss(dummy)
    vz(i)=Rtemp*gauss(dummy)
         print*,vx(i),vy(i),vz(i)
end do
end program a_1


function gauss(dummy)
   real*8,parameter::A1=3.949846138,A3=0.252408784
   real*8,parameter::A5=0.076542912,A7=0.008355968
   real*8,parameter::A9=0.029899776
   real*8::sum,R,R2,dummy
   integer::i
   sum=0.0
   
   do i=1,12
   call random_seed()
     call random_number(dummy)
         sum=sum+dummy
   end do
   R=(sum-6.0)/4.0
   R2=R*R
   gauss=((((A9*R2+A7)*R2+A5)*R2+A3)*R2+A1)*R
   return
end function gauss
ÔËÐнá¹ûÓÐʱֵȫ²¿Ò»Ñù£¬ÓÐʱ²¿·ÖÒ»Ñù£¬µ«¶ÔӦͬһ¸öi ʱvx(i),vy(i),vz(i)ʼÖÕÖµÒ»Ñù½á¹ûÈçÏ£º
½á¹û£¨1£©£º   
  49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
   49.20191       49.20191       49.20191
Press any key to continue
½á¹û£¨2£©£º   
  82.36326       82.36326       82.36326
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
  -72.15305      -72.15305      -72.15305
Press any key to continue
Çë¶à¶àÖ¸½Ì£¡£¡
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

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

jianchaoyv

½ð³æ (СÓÐÃûÆø)

ÆÚ´ýby ÀÏ»¢´óÍõµÄÖ¸µã£¡£¡
2Â¥2009-04-14 18:01:29
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÀÏ»¢´óÍõ

ľ³æ (ÖøÃûдÊÖ)

¡ï ¡ï ¡ï ¡ï ¡ï
jianchaoyv(½ð±Ò+5,VIP+0): 4-14 21:25
µÚÒ»¸öÎÊÌ⣺ΪʲôÊä³öÈ«ÊÇÁãÄØ£¿ÒòΪ
call comvel(temp)
  do i=1,N
   write(*,'(i2,2x,f10.3,2x,f10.3,2x,f10.3)')i,vx(i),vy(i),vz(i)
  end do
ÔÚÕâÀÄãûÓаÑvx,vy,vz´«µ½×Ó³ÌÐòÀµ±È»Êä³öµÄ¶¼ÊÇÁã¡£

µÚ¶þ¸öÎÊÌ⣬ÎÒ½¨ÒéÄãÔËÐÐÒÔÏÂÕâÁ½¸öС³ÌÐò£¬²âÊÔһϠ  random_seed()ºÍrandom_number(dummy)µÄÓ÷¨¡£

³ÌÐòÒ»£º£¨ÕâÊÇÄãµÄ³ÌÐòд·¨£©
     do i=1,12
    call random_seed()
     call random_number(dummy)
   write(*,*)  dummy
   enddo
   end
µÃµ½Ê²Ã´£¿ºÇºÇ£¬È«¶¼Ò»ÑùµÄËæ»úÊý¡£µ«ÊÇ£¬Ã¿ÔËÐÐÒ»´Î£¬¾ÍÓв»Í¬µÄÐòÁС£

³ÌÐò¶þ£º °Ñrandom_seed()·ÅÔÚÍâÃæ£º
     call random_seed()
       do i=1,12
     call random_number(dummy)
         write(*,*)  dummy
         enddo
         end

µÃµ½Ê²Ã´£¿²»Í¬µÄËæ»úÊý£¡

ËùÒÔ£¬ÄãÓ¦¸Ã°Ñ  call random_seed()дÔÚÑ­»·µÄÍâ±ß£¡

µ«ÊÇ£¬Äã°ÑCall random_seed()дÔÚ×Ó³ÌÐòÖÐÑ­»·µÄÍâ±ßÖ®ºó£¬ÓÖÈçºÎÄØ£¿
ÓÖÊÇͬÑùµÄËæ»úÊý£¡£¡£¡ÎªÊ²Ã´ÄØ£¿ÒòΪÄãÔÚÖ÷³ÌÐòÖз´¸´µ÷ÓÃÁËGauss£¬»¹ÊÇÏ൱ÓÚ°ÑCall random_seed()дÔÚÁËÑ­»·ÄÚ²¿¡£

×îºóÎÒÃÇÖªµÀ£¬ÕýÈ·µÄд·¨Ó¦¸Ã°ÑCall random_seed()дÔÚÖ÷³ÌÐòµÄ¿ªÍ·£¡£¡£¡ºÇºÇ¡£

×¢£ºÎÒÖ»¹Ü±à³Ì£¬Ã»Óп¼²ìËã·¨µÄÕýÈ·Óë·ñ¡£
3Â¥2009-04-14 19:45:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

jianchaoyv

½ð³æ (СÓÐÃûÆø)

¡°µÚÒ»¸öÎÊÌ⣺ΪʲôÊä³öÈ«ÊÇÁãÄØ£¿ÒòΪ
call comvel(temp)
  do i=1,N
   write(*,'(i2,2x,f10.3,2x,f10.3,2x,f10.3)')i,vx(i),vy(i),vz(i)
  end do
ÔÚÕâÀÄãûÓаÑvx,vy,vz´«µ½×Ó³ÌÐòÀµ±È»Êä³öµÄ¶¼ÊÇÁã¡£¡±
ÇëÎÊÔõÑù°Ñvx,vy,vz´«µ½×Ó³ÌÐòÀ£¿
4Â¥2009-04-14 21:46:05
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÀÏ»¢´óÍõ

ľ³æ (ÖøÃûдÊÖ)

¡ï ¡ï
sunxiao(½ð±Ò+2,VIP+0):лл²ÎÓ룬»¶Ó­³£À´·ÂÕæ±à³Ì°æ 4-15 09:00
°¡£¿ÔõÑù´«°¡£¿±ÈÈçÄãÓøöcall comvel(temp, vx,vy,vz)°É¡£»òÕß°Ñvx,vy,vz  Êý×éÉèΪȫ¾Ö±äÁ¿£¨ÓÃCOMMON)¡£
5Â¥2009-04-15 08:32:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ jianchaoyv µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 329Çóµ÷¼Á +7 ÐÇÒ°? 2026-03-26 7/350 2026-03-29 06:43 by 544594351
[¿¼ÑÐ] 289Çóµ÷¼Á +13 ÐÂʱ´ú²ÄÁÏ 2026-03-27 13/650 2026-03-29 01:16 by 544594351
[¿¼ÑÐ] 083000ѧ˶274Çóµ÷¼Á +8 LiÀîÓã 2026-03-26 8/400 2026-03-28 20:33 by ¼ÓÓÍÏòδÀ´°¡
[¿¼ÑÐ] Çóµ÷¼ÁÒ»Ö¾Ô¸º£´ó£¬0703»¯Ñ§Ñ§Ë¶304·Ö£¬Óдó´´ÏîÄ¿£¬Ëļ¶Òѹý +7 ÐÒÔËÁ¨Á¨ 2026-03-22 11/550 2026-03-28 20:27 by ÌÆãå¶ù
[¿¼ÑÐ] »¯Ñ§0703 µ÷¼Á 306·Ö Ò»Ö¾Ô¸211 +4 26ÒªÉϰ¶ 2026-03-28 4/200 2026-03-28 15:30 by 1018329917
[¿¼ÑÐ] Çóµ÷¼Á +3 QiMing7 2026-03-25 4/200 2026-03-28 14:30 by QiMing7
[¿¼ÑÐ] 299Çóµ÷¼Á +7 àÅàÅàÅàÅ2 2026-03-27 7/350 2026-03-28 13:09 by ÌÆãå¶ù
[¿¼ÑÐ] 0856£¬²ÄÁÏÓ뻯¹¤321·ÖÇóµ÷¼Á +12 ´ó²öС×Ó 2026-03-27 13/650 2026-03-28 10:56 by self2008
[¿¼ÑÐ] 081200-314 +3 LILIQQ 2026-03-27 4/200 2026-03-28 09:41 by ±£»¤µØÇòÄãÎÒ×öÆ
[¿¼ÑÐ] 340Çóµ÷¼Á +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[¿¼ÑÐ] 266·ÖÇó²ÄÁÏ»¯¹¤Ò±½ð¿óÒµµÈרҵµÄµ÷¼Á +4 ÍÛºôºßºôºß 2026-03-26 4/200 2026-03-27 17:02 by zhyzzh
[¿¼ÑÐ] 308Çóµ÷¼Á +7 īīĮ 2026-03-25 7/350 2026-03-27 14:47 by ¿ñìÅÂóµ±µ±
[¿¼ÑÐ] 305Çóµ÷¼Á +5 ÍÛ¬¿¨¿â 2026-03-26 5/250 2026-03-27 14:01 by laoshidan
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ÇóÇóÁËÊÕÏÂÎÒ°É£ 2026-03-26 4/200 2026-03-27 10:37 by zhshch
[¿¼ÑÐ] 324Çóµ÷¼Á +8 hanamiko 2026-03-26 10/500 2026-03-27 08:06 by hypershenger
[¿¼ÑÐ] 085602 289·ÖÇóµ÷¼Á +8 WWWÎ÷Î÷¸¥Ë¹ 2026-03-24 8/400 2026-03-26 16:33 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 289Çóµ÷¼Á +17 ˶ÐǸ° 2026-03-23 17/850 2026-03-26 16:18 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] ²ÄÁÏ¿ÆÑ§Ó빤³Ì 317Çóµ÷¼Á +4 JKSOIID 2026-03-26 4/200 2026-03-26 15:58 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄϺ½ 335·Ö | 0856²ÄÁÏ»¯¹¤ | GPA 4.07 | ÓпÆÑо­Àú +6 cccchenso 2026-03-23 6/300 2026-03-25 22:25 by 544594351
[¿¼ÑÐ] 0854È˹¤ÖÇÄÜ·½ÏòÕÐÊÕµ÷¼Á +4 ÕÂСÓã567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û