±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 428  |  »Ø¸´: 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

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

¡°µÚÒ»¸öÎÊÌ⣺ΪʲôÊä³öÈ«ÊÇÁãÄØ£¿ÒòΪ
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µÄ»ØÌû
²é¿´È«²¿ 5 ¸ö»Ø´ð

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µÄ»ØÌû

ÀÏ»¢´óÍõ

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

¡ï ¡ï
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µÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¶«Ê¦·¶´óѧÓлú»¯Ñ§×¨Òµ£¬³õÊÔ351·Ö£¬¸´ÊÔ±»Ë¢Çóµ÷¼Á! +3 ÕæÃûÓбù 2026-03-29 4/200 2026-03-29 08:47 by qingfeng258
[¿¼ÑÐ] 11408Èí¼þ¹¤³ÌÇóµ÷¼Á +3 Qiuѧing 2026-03-28 3/150 2026-03-28 21:50 by zhq0425
[¿¼ÑÐ] 394Çóµ÷¼Á +3 ºÃʶàÄ¥¾²ºò¼ÑÒ 2026-03-26 5/250 2026-03-28 14:24 by ÌÆãå¶ù
[¿¼ÑÐ] Çó»¯Ñ§µ÷¼Á +4 wulanna 2026-03-28 4/200 2026-03-28 13:37 by ÌÆãå¶ù
[¿¼ÑÐ] 291Çóµ÷¼Á +6 HanBeiNingZC 2026-03-24 6/300 2026-03-28 07:55 by baoball
[¿¼ÑÐ] 308Çóµ÷¼Á +7 īīĮ 2026-03-27 7/350 2026-03-28 07:43 by ÈÈÇéɳĮ
[¿¼ÑÐ] 328Çóµ÷¼Á +7 àŵεĻù±¾¶¼ 2026-03-27 7/350 2026-03-28 04:19 by fmesaito
[¿¼ÑÐ] 352·Ö »¯¹¤Óë²ÄÁÏ +5 º£Äɰٴ¨Ly 2026-03-27 5/250 2026-03-28 03:39 by fmesaito
[¿¼ÑÐ] 330Ò»Ö¾Ô¸Öйúº£Ñó´óѧ »¯Ñ§¹¤³Ì 085602 ÓжÁ²©ÒâÔ¸ Çóµ÷¼Á +3 wywy.. 2026-03-27 4/200 2026-03-28 03:32 by fmesaito
[¿¼ÑÐ] 266·ÖÇó²ÄÁÏ»¯¹¤Ò±½ð¿óÒµµÈרҵµÄµ÷¼Á +4 ÍÛºôºßºôºß 2026-03-26 4/200 2026-03-27 17:02 by zhyzzh
[¿¼ÑÐ] 085600£¬²ÄÁÏÓ뻯¹¤321·Ö£¬Çóµ÷¼Á +9 ´ó²öС×Ó 2026-03-27 9/450 2026-03-27 14:30 by mmm just
[¿¼ÑÐ] 322Çóµ÷¼Á +4 ÎÒÕæµÄºÜÏëѧϰ 2026-03-23 4/200 2026-03-27 13:51 by ÑîÑîÑî×Ï
[¿¼ÑÐ] Çóµ÷¼Á +3 Áõ¿Â@ 2026-03-24 4/200 2026-03-27 11:28 by shangxh
[˶²©¼ÒÔ°] ±±¾©ÁÖÒµ´óѧ˶µ¼ÕÐÉú¹ã¸æ +6 kongweilin 2026-03-26 8/400 2026-03-27 10:18 by FF_16
[¿¼ÑÐ] 336²ÄÁÏÇóµ÷¼Á +7 ³ÂäÞÓ¨ 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[¿¼ÑÐ] ¡¾Ë«Ò»Á÷ԺУÐÂÄÜÔ´¡¢»·¾³²ÄÁÏ£¬²ÄÁϼӹ¤ÓëÄ£ÄâÕÐÊÕ´óÁ¿µ÷¼Á¡¿ +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[¿¼ÑÐ] ÉúÎïѧ 296 Çóµ÷¼Á +4 ¶ä¶ä- 2026-03-26 6/300 2026-03-26 19:01 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶0703×Ü·Ö337Çóµ÷¼Á +7 niko- 2026-03-22 7/350 2026-03-25 20:14 by qingfeng258
[»ù½ðÉêÇë] Çë½ÌÏ´ó¼Ò 2026Äê¹ú¼Ò»ù½ðÉêÇëÊÇ˫äÉóÂ𣿠+3 lishucheng1 2026-03-22 5/250 2026-03-24 08:22 by gltch
[¿¼ÑÐ] 341Çóµ÷¼Á(Ò»Ö¾Ô¸ºþÄÏ´óѧ070300) +5 ·¬ÇÑÍ·--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û