²é¿´: 1062  |  »Ø¸´: 4

xmch2011

Ìú³æ (СÓÐÃûÆø)

[ÇóÖú] Çófortran95±àдµÄÊýÖµ³ÌÐò

ÏëѧѧÓÃfortran95дµÄÊýÖµ³ÌÐò£¬ÄÇλͬѧÓÐûÓÐÕâÑùµÄ³ÌÐò£¬Ñ§Ï°Ò»Ï£¬Ð»Ð»£¡
»Ø¸´´ËÂ¥
Êýѧ£¬Á¦Ñ§£¬ÎïÀí
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wll778824

Òø³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
СÓêÃÈÃÈ: ½ð±Ò+5, °ï·¢·Å½ð±Ò¿©~ 2012-04-05 16:34:13
¸øÄãÒ»¸öÓÐÏÞÌå»ýËã·¨Çó½âBurgers  ·½³ÌµÄfortran³ÌÐò£¬Ô´´úÂëÓù̶¨¸ñʽдµÄ
        !Solve Burgers equation u_t+(u^2/2)_x=0 using Finite Volume Method
        !The time is discretized by using RK3





        module constant
        implicit double precision(a-h,o-z)
        parameter pi=3.1415926,dt=0.001,nw=2000
        parameter n=20,h=2.0*pi/dble(n),san=0.0
        end module

        program FVM
        use constant
        implicit double precision(a-h,o-z)
        common u0(-1:n+2),u1(-1:n+2),u2(-1:n+2)
        common/u/ u(-1:n+2),uminus(0:n),uadd(0:n) !uminus=u^-,uadd=u^+
        common/flux/ flux(0:n)
        common/ua/ ua1(n),ua2(n),state(n)

        common u3(-1:n+2)


        do j=1,n
        u0(j)=1.0/3.0+2.0/(3.0*h)
     &*(cos((dble(j-1))*h+san)-cos(dble(j)*h+san))
        enddo
        u0(0)=u0(n)
        u0(-1)=u0(n-1)
        u0(n+1)=u0(1)
        u0(n+2)=u0(2)




        u=u0
        call RECONS

        do ntime=1,nw



        call AVERAGE
       

        u1=0
        u0(0)=0
        u0(n+1)=0
        u(0)=0
        u(n+1)=0
        u1=u0+dt*u
        u=u1
        u(0)=u(n)
        u(-1)=u(n-1)
        u(n+1)=u(1)
        u(n+2)=u(2)
         
       
        call RECONS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        call AVERAGE
        u2=0
        u0(0)=0
        u0(n+1)=0
        u1(0)=0
        u1(n+1)=0
        u(0)=0
        u(n+1)=0
        u2=0.75*u0+0.25*u1+0.25*dt*u
        u=u2
        u(0)=u(n)
        u(-1)=u(n-1)
        u(n+1)=u(1)
        u(n+2)=u(2)
         
       
        call RECONS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        call AVERAGE
        u3=0
        u0(0)=0
        u0(n+1)=0
        u2(0)=0
        u2(n+1)=0
        u(0)=0
        u(n+1)=0
       

        u3=(u0+2.0*u2+2.0*dt*u)/3.0
        u=u3
        u(0)=u(n)
        u(-1)=u(n-1)
        u(n+1)=u(1)
        u(n+2)=u(2)

        u0=u
         
       
        call RECONS
        write(*,*)ntime


       









        if(ntime==1400)then
        open(11,file='1.4uadd.dat')

        do i=0,n
        write(11,'(2f15.6)')san+dble(i)*h,uadd(i)
        enddo

        open(12,file='1.4uminus.dat')

        do i=0,n
        write(12,'(2f15.6)')san+dble(i)*h,uminus(i)

        enddo
        elseif(ntime==1500)then
        open(13,file='1.5uadd.dat')

        do i=0,n
        write(13,'(2f15.6)')san+dble(i)*h,uadd(i)
        enddo

        open(14,file='1.5uminus.dat')

        do i=0,n
        write(14,'(2f15.6)')san+dble(i)*h,uminus(i)

        enddo

        elseif(ntime==2000)then
        open(15,file='2uadd.dat')

        do i=0,n
        write(15,'(2f15.6)')san+dble(i)*h,uadd(i)
        enddo

        open(16,file='2uminus.dat')

        do i=0,n
        write(16,'(2f15.6)')san+dble(i)*h,uminus(i)

        enddo

        elseif(ntime==1000)then
        open(17,file='1uadd.dat')

        do i=0,n
        write(17,'(2f15.6)')san+dble(i)*h,uadd(i)
        enddo

        open(18,file='1uminus.dat')

        do i=0,n
        write(18,'(2f15.6)')san+dble(i)*h,uminus(i)

        enddo
        endif

        enddo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


        end

ÒÔÉÏΪÖ÷³ÌÐò£¬ÒÔÏÂΪ×Ó³ÌÐò
2Â¥2012-04-02 12:12:10
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wll778824

Òø³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï ¡ï
СÓêÃÈÃÈ: ½ð±Ò+3, 3Q! 2012-04-05 16:33:56
subroutine AVERAGE
        use constant
        implicit double precision(a-h,o-z)
        common/u/ u(-1:n+2),uminus(0:n),uadd(0:n)
        common/flux/ flux(0:n)
        flux=0


        do i=0,n
        flux(i)=0.5*(0.5*uminus(i)*uminus(i)
     &+0.5*uadd(i)*uadd(i)-0.6*(uadd(i)-uminus(i)))
        enddo

        do j=1,n
        u(j)=(flux(j-1)-flux(j))/h
        enddo

        end
3Â¥2012-04-02 12:12:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wll778824

Òø³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï ¡ï
СÓêÃÈÃÈ: ½ð±Ò+3, 3Q! 2012-04-05 16:33:44
subroutine RECONS
        use constant
        implicit double precision(a-h,o-z)
        common/u/ u(-1:n+2),uminus(0:n),uadd(0:n)
        common/flux/ flux(0:n)
        uminus=0
        uadd=0
        do j=0,n
        uminus(j)=-1.0/6.0*u(j-1)+5.0/6.0*u(j)+1.0/3.0*u(j+1)
        enddo


        do j=0,n
        uadd(j)=1.0/3.0*u(j)+5.0/6.0*u(j+1)-1.0/6.0*u(j+2)
        enddo
         

        end
4Â¥2012-04-02 12:13:01
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

xmch2011

Ìú³æ (СÓÐÃûÆø)

¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
СÓêÃÈÃÈ: ½ð±Ò-10, лÈ˼ÒÒ²²»°ÑÐüÉ͵Ľð±Ò·¢Ò»ÏÂѽ£¿°ïÄã·¢·Å½ð±Ò£¡ 2012-04-05 16:33:33
ÒýÓûØÌû:
4Â¥: Originally posted by wll778824 at 2012-04-02 12:13:01:
subroutine RECONS
        use constant
        implicit double precision(a-h,o-z)
        common/u/ u(-1:n+2),uminus(0:n),uadd(0:n)
        common/flux/ flux(0:n)
        uminus=0
        uadd=0
        do j=0,n
        uminus(j)=-1.0/6.0*u(j-1) ...

ллÄã°¡£¬Ñ§Ï°Ò»ÏÂ
Êýѧ£¬Á¦Ñ§£¬ÎïÀí
5Â¥2012-04-03 11:35:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ xmch2011 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 304Çóµ÷¼Á +6 ˾¿Õ. 2026-03-18 6/300 2026-03-18 23:03 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Çó²ÄÁϵ÷¼Á +8 ¸ô±Ú³ÂÏÈÉú 2026-03-12 8/400 2026-03-18 22:19 by li123456789.
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤µ÷¼Á 324·Ö +8 llllkkkhh 2026-03-18 8/400 2026-03-18 21:01 by Catalysis25
[¿¼ÑÐ] 271²ÄÁϹ¤³ÌÇóµ÷¼Á +4 .6lL 2026-03-18 4/200 2026-03-18 20:05 by ˜B¸ç
[¿¼ÑÐ] 0703»¯Ñ§ 305Çóµ÷¼Á +3 FY_yy 2026-03-14 3/150 2026-03-18 19:40 by macy2011
[¿¼ÑÐ] »¯¹¤Ñ§Ë¶306Çóµ÷¼Á +10 42838695 2026-03-12 10/500 2026-03-18 14:42 by haxia
[¿¼ÑÐ] ²ÄÁÏר˶274Ò»Ö¾Ô¸ÉÂÎ÷ʦ·¶´óѧÇóµ÷¼Á +6 Ñ¦ÔÆÅô 2026-03-13 6/300 2026-03-18 14:14 by ÍÑÓ±¶ø³ö
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +3 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 3/150 2026-03-18 10:12 by macy2011
[»ù½ðÉêÇë] ±»ÎÒÑÔÖУºÐÂÄ£°å²»Ç¿µ÷¸ñʽÁË£¬¼Ùר¼Ò¿ªÊ¼¹Ü¸ñʽÁË +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by »ÆÄñÓÚ·ÉChao
[¿¼ÑÐ] ¿¼Ñл¯Ñ§Ñ§Ë¶µ÷¼Á£¬Ò»Ö¾Ô¸985 +4 ÕÅvvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[¿¼ÑÐ] »úеר˶325£¬Ñ°ÕÒµ÷¼ÁԺУ +3 y9999 2026-03-15 5/250 2026-03-16 19:58 by y9999
[¿¼ÑÐ] 304Çóµ÷¼Á +5 ËØÄê¼ÀÓï 2026-03-15 5/250 2026-03-16 17:00 by ÎҵĴ¬Îҵĺ£
[¿¼ÑÐ] 070303 ×Ü·Ö349Çóµ÷¼Á +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[¿¼ÑÐ] ÇóÀÏʦÊÕÁôµ÷¼Á +4 jiang½ª66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[¿¼ÑÐ] 26¿¼ÑÐÒ»Ö¾Ô¸ÖйúʯÓÍ´óѧ(»ª¶«)305·ÖÇóµ÷¼Á +3 ¼ÎÄêÐÂ³Ì 2026-03-15 3/150 2026-03-15 13:58 by ¹þ¹þ¹þ¹þºÙºÙºÙ
[¿¼ÑÐ] 294Çóµ÷¼Á +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[¿¼ÑÐ] Çó²ÄÁϵ÷¼Á 085600Ó¢Ò»Êý¶þ×Ü·Ö302 ǰÈý¿Æ235 ¾«Í¨»úÆ÷ѧϰ Ò»Ö¾Ô¸¹þ¹¤´ó +4 ÁÖyaxin 2026-03-12 4/200 2026-03-13 22:04 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 ·Ò´ï46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[¿¼ÑÐ] ¹¤¿Æ278·ÖÇóµ÷¼Á +5 ÖÜÂýÈȰ¡ 2026-03-12 7/350 2026-03-13 15:49 by JourneyLucky
[¿¼²©] ¸£ÖÝ´óѧÑî»ÆºÆ¿ÎÌâ×éÕÐÊÕ2026Äêרҵѧλ²©Ê¿Ñо¿Éú£¬2026.03.20½ØÖ¹ +3 Xiangyu_ou 2026-03-12 3/150 2026-03-13 09:36 by duanwu655
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û