| 5 | 1/1 | 返回列表 |
| 查看: 1059 | 回復(fù): 4 | ||
xmch2011鐵蟲 (小有名氣)
|
[求助]
求fortran95編寫的數(shù)值程序
|
| 想學(xué)學(xué)用fortran95寫的數(shù)值程序,那位同學(xué)有沒有這樣的程序,學(xué)習(xí)一下,謝謝! |

銀蟲 (小有名氣)
|
給你一個有限體積算法求解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 以上為主程序,以下為子程序 |
銀蟲 (小有名氣)
|
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 |
銀蟲 (小有名氣)
|
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 |
鐵蟲 (小有名氣)

| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +3 | 生物工程調(diào)劑 2026-03-16 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 304求調(diào)劑 +8 | 小熊joy 2026-03-14 | 8/400 |
|
|
[考研] 344求調(diào)劑 +4 | knight344 2026-03-16 | 4/200 |
|
|
[考研] 312求調(diào)劑 +4 | 陌宸希 2026-03-16 | 5/250 |
|
|
[考研] 求調(diào)劑,總分315,考的生物醫(yī)藥,一志愿湖南師范大學(xué)。調(diào)劑到任何專業(yè)都可以 +4 | 小丁想進(jìn)步 2026-03-11 | 5/250 |
|
|
[考研] 材料工程專碩274一志愿211求調(diào)劑 +6 | 薛云鵬 2026-03-15 | 6/300 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 267一志愿南京工業(yè)大學(xué)0817化工求調(diào)劑 +6 | SUICHILD 2026-03-12 | 6/300 |
|
|
[考研] 藥學(xué)383 求調(diào)劑 +3 | 藥學(xué)chy 2026-03-15 | 4/200 |
|
|
[考研] 中科院材料273求調(diào)劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 085601材料工程315分求調(diào)劑 +3 | yang_0104 2026-03-15 | 3/150 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] 材料與化工(0856)304求B區(qū)調(diào)劑 +6 | 邱gl 2026-03-12 | 7/350 |
|
|
[考研] 285 求調(diào)劑 資源與環(huán)境 一志愿北京化工大學(xué) +3 | 未名考生 2026-03-10 | 3/150 |
|
|
[考研] 一志愿西南交大,材料專碩317求調(diào)劑 +5 | lx8568 2026-03-11 | 5/250 |
|
|
[考研] (081700)化學(xué)工程與技術(shù)-298分求調(diào)劑 +12 | 11啦啦啦 2026-03-11 | 35/1750 |
|
|
[考研] 329求調(diào)劑 +3 | miaodesi 2026-03-12 | 4/200 |
|
|
[考研] 【考研調(diào)劑求收留】 +3 | Ceciilia 2026-03-11 | 3/150 |
|
|
[考研] 考研調(diào)劑 +4 | 芬達(dá)46 2026-03-12 | 4/200 |
|
|
[考研] 材料301分求調(diào)劑 +5 | Liyouyumairs 2026-03-12 | 5/250 |
|