| ²é¿´: 1870 | »Ø¸´: 4 | ||
| ±¾Ìû²úÉú 1 ¸ö ·ÂÕæEPI £¬µã»÷ÕâÀï½øÐв鿴 | ||
gzb1220гæ (СÓÐÃûÆø)
|
[ÇóÖú]
¶þά·Æ¿Ë¶¨ÂÉ΢·Ö·½³ÌÇó½â£¿ ÒÑÓÐ1È˲ÎÓë
|
|
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
ÆÚÍûµÄÇó½âÎÊÌâ
ÒѾÓÐ3È˻ظ´
Çó½âÀ©É¢·½³ÌÎÊÌâ
ÒѾÓÐ9È˻ظ´
¶þ±½ÃÑ»ØÊÕÎÊÌâ Çó½â
ÒѾÓÐ6È˻ظ´
¹ØÓڷƿ˵ڶþ¶¨ÂÉÖеÄÊýѧÇó½âÎÊÌ⣡
ÒѾÓÐ4È˻ظ´
onesupeng
½ð³æ (Ö°Òµ×÷¼Ò)
- ·ÂÕæEPI: 11
- Ó¦Öú: 256 (´óѧÉú)
- ¹ó±ö: 1.36
- ½ð±Ò: 2336.2
- É¢½ð: 9236
- ºì»¨: 92
- Ìû×Ó: 4583
- ÔÚÏß: 1303.8Сʱ
- ³æºÅ: 394701
- ×¢²á: 2007-06-07
- רҵ: Á÷ÌåÁ¦Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ben_ladeng: ½ð±Ò+2, ÇëÄÍÐĵȴýÂ¥Ö÷ÆÀ·Ö 2014-01-30 08:22:13
gzb1220: ½ð±Ò+10, ¡ï¡ï¡ïºÜÓаïÖú, лл£¬Õâ¶Î³ÌÐòÊDz»ÊÇͨ¹ý²î·Ö·¨½â³öÀ´µÄ£¿ 2014-02-02 07:55:05
1592203609: ·ÂÕæEPI+1 2014-02-22 17:04:33
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ben_ladeng: ½ð±Ò+2, ÇëÄÍÐĵȴýÂ¥Ö÷ÆÀ·Ö 2014-01-30 08:22:13
gzb1220: ½ð±Ò+10, ¡ï¡ï¡ïºÜÓаïÖú, лл£¬Õâ¶Î³ÌÐòÊDz»ÊÇͨ¹ý²î·Ö·¨½â³öÀ´µÄ£¿ 2014-02-02 07:55:05
1592203609: ·ÂÕæEPI+1 2014-02-22 17:04:33
|
·½³ÌµÄÕâ¸öд·¨µÚÒ»´Î¿´µ½£¬Ï£ÍûÎÒÀí½âµÄÊǶԵģ¬À©É¢·½³Ì ÊýÖµ¼¼ÊõÉÏ˵£¬Èç¹ûÊÇ½á¹¹Íø¸ñºÜÈÝÒ׾͵õ½½á¹û£¬ÏÂÃæÊÇFortran³ÌÐò£¬Ï£Íû¶ÔÄãÓÐÓá£Ò»¹²Á½¸öÎļþ£¬main.f90ºÍpara.dat¡£Äã×¼±¸ºÃÖ®ºóÔÚĿ¼Ï½¨Á¢OutºÍInit£¬¼´¿É±àÒëÔËÐС£½á¹ûÔÚOutÀïÃæ£¬ÓÃTecplot¿ÉÒÔÖ±½Ó²é¿´ !main.f90 !================================================================== !==FDM diffusion equation====================================== !==\partial T /\partial t =(\partial^2 T /\partial x^2+ \partial^2 T /\partial y^2) !========Initally developed by onesupeng=================================== !==============2010.2.2========================================= !========================================================== program main include "./para.dat" real*8::T1(nx,ny),T2(nx,ny),T3(nx,ny),Tnp1(nx,ny),Tnm1(nx,ny),right1(nx,ny),right2(nx,ny) integer::i,j,nstep,nplot,ntime character*8::title PI=4.0*atan(1.0) !ÏÂÃæÊDzÎÊý kappa=0.05 dx=Lx/(Nx-1) dy=Ly/(Ny-1) do i=1,Nx do j=1,Nx x(i,j)=0.0+(i-1)*dx y(i,j)=0.0+(j-1)*dy right1(i,j)=0.0 right2(i,j)=0.0 V(i,j)=0.0d0 U(i,j)=0.0d0 enddo enddo ds=2.0*PI/Ns do i=1,ns xs(i)=Lx/2+cos(2*PI/ns*(i-1)) ys(i)=Ly/2+sin(2*PI/ns*(i-1)) enddo dt=0.00001 timestop=5.0 Nplot=100 nstep=1 open(unit=1,file='./Init/Init.dat') write(1,*)'variables= "x" "Y"' write(1,*)'ZONE F=POINT I=',Nx,' J=',Ny do j=1,ny do i=1,nx write(1,*)x(i,j),y(i,j) enddo enddo write(1,*)'variables= "x" "Y"' write(1,*)'ZONE F=POINT I=',Ns,' J=',1 do i=1,ns write(1,*)xs(i),ys(i) enddo close(1) !stop !Ê¡À¼äÑ­»µ¿ªÊ¼ nstep=0 do while(dt*nstep.LE.timestop) nstep=nstep+1 if(mod(nstep,10).eq.0)write(*,*)"nstep=",nstep do i=1,ns Tb(i)=1.0d0 enddo !call ACTION1 do i=1+1,nx-1 do j=1+1,ny-1 right2(i,j)=right1(i,j) right1(i,j)=(Tn(i+1,j)-2.0*Tn(i,j)+Tn(i-1,j))/dx**2+(Tn(i,j+1)-2.0*Tn(i,j)+Tn(i,j-1))/dy**2 enddo enddo if(Nstep.eq.1)then do i=1+1,nx-1 do j=1+1,ny-1 Tnp1(i,j)=Tn(i,j)+right1(i,j)*dt enddo enddo else do i=1+1,nx-1 do j=1+1,ny-1 Tnp1(i,j)=Tn(i,j)+0.5*(3*right1(i,j)-right2(i,j))*dt enddo enddo endif do i=1,nx Tnp1(i,1)=1.0 !Tnp1(i,2) Tnp1(i,ny)=Tnp1(i,ny-1) enddo do j=1,ny Tnp1(1,j)=Tnp1(2,j) Tnp1(nx,j)=Tnp1(nx-1,j) enddo do i=1,nx do j=1,ny Tnm1(i,j)=Tn(i,j) Tn(i,j)=Tnp1(i,j) enddo enddo if(mod(nstep,nplot).eq.0)then write(title,'(i8.8)')nstep open(unit=1,file='./Out/out'//title//'.dat') write(1,*)'variables= "x" "Y" "T"' write(1,*)'ZONE F=POINT I=',Nx,' J=',Ny do j=1,ny do i=1,nx write(1,*)x(i,j),y(i,j),Tn(i,j) enddo enddo write(1,*)'variables= "x" "Y" "Tn(i,j)"' write(1,*)'ZONE F=POINT I=',Ns,' J=',1 do i=1,ns write(1,*)xs(i),ys(i),F(i) enddo close(1) endif enddo !do end !para.dat implicit none integer,parameter::Nx=201,Ny=201 integer,parameter::Ns=314 real*8,parameter::Lx=10.0d0,Ly=10.0d0 real*8::kappa,PI real*8::dt,timestop,dx,dy,ds real*8::x(nx,ny),y(nx,ny),U(nx,ny),V(nx,ny),Fib(nx,ny) real*8::xs(ns),ys(ns),F(ns),Tb(NS) real*8::Tn(nx,ny) common/para/kappa,PI,dt,timestop,dx,dy,ds common/field/x,y,U,V,Fib,Tn common/lag/xs,ys,F,Tb |

2Â¥2014-01-28 06:52:38
onesupeng
½ð³æ (Ö°Òµ×÷¼Ò)
- ·ÂÕæEPI: 11
- Ó¦Öú: 256 (´óѧÉú)
- ¹ó±ö: 1.36
- ½ð±Ò: 2336.2
- É¢½ð: 9236
- ºì»¨: 92
- Ìû×Ó: 4583
- ÔÚÏß: 1303.8Сʱ
- ³æºÅ: 394701
- ×¢²á: 2007-06-07
- רҵ: Á÷ÌåÁ¦Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
!============================================================= !==LBM for convective-diffusion equation=================================== !==\partial T /\partial t =(\partial^2 T /\partial x^2+ \partial^2 T /\partial y^2) !========Initally developed by Onesupeng================================ !============================2010.2.2=========================== !============================================================= program main include "./para.dat" real*8::T1(nx,ny),T2(nx,ny),T3(nx,ny),Tnp1(nx,ny),Tnm1(nx,ny),right1(nx,ny),right2(nx,ny) integer::i,j,nstep,nplot,ntime character*8::title PI=4.0*atan(1.0) ! kappa=0.05 dx=Lx/(Nx-1) dy=Ly/(Ny-1) do i=1,Nx do j=1,Nx x(i,j)=0.0+(i-1)*dx y(i,j)=0.0+(j-1)*dy right1(i,j)=0.0 right2(i,j)=0.0 V(i,j)=0.0d0 U(i,j)=0.0d0 enddo enddo ds=2.0*PI/Ns do i=1,ns xs(i)=Lx/2+cos(2*PI/ns*(i-1)) ys(i)=Ly/2+sin(2*PI/ns*(i-1)) enddo dt=0.00001 timestop=5.0 Nplot=100 nstep=1 open(unit=1,file='./Init/Init.dat') write(1,*)'variables= "x" "Y"' write(1,*)'ZONE F=POINT I=',Nx,' J=',Ny do j=1,ny do i=1,nx write(1,*)x(i,j),y(i,j) enddo enddo write(1,*)'variables= "x" "Y"' write(1,*)'ZONE F=POINT I=',Ns,' J=',1 do i=1,ns write(1,*)xs(i),ys(i) enddo close(1) !stop ! nstep=0 do while(dt*nstep.LE.timestop) nstep=nstep+1 if(mod(nstep,10).eq.0)write(*,*)"nstep=",nstep do i=1,ns Tb(i)=1.0d0 enddo !call ACTION1 do i=1+1,nx-1 do j=1+1,ny-1 right2(i,j)=right1(i,j) right1(i,j)=(Tn(i+1,j)-2.0*Tn(i,j)+Tn(i-1,j))/dx**2+(Tn(i,j+1)-2.0*Tn(i,j)+Tn(i,j-1))/dy**2 enddo enddo if(Nstep.eq.1)then do i=1+1,nx-1 do j=1+1,ny-1 Tnp1(i,j)=Tn(i,j)+right1(i,j)*dt enddo enddo else do i=1+1,nx-1 do j=1+1,ny-1 Tnp1(i,j)=Tn(i,j)+0.5*(3*right1(i,j)-right2(i,j))*dt enddo enddo endif do i=1,nx Tnp1(i,1)=1.0 !Tnp1(i,2) Tnp1(i,ny)=Tnp1(i,ny-1) enddo do j=1,ny Tnp1(1,j)=Tnp1(2,j) Tnp1(nx,j)=Tnp1(nx-1,j) enddo do i=1,nx do j=1,ny Tnm1(i,j)=Tn(i,j) Tn(i,j)=Tnp1(i,j) enddo enddo if(mod(nstep,nplot).eq.0)then write(title,'(i8.8)')nstep open(unit=1,file='./Out/out'//title//'.dat') write(1,*)'variables= "x" "Y" "T"' write(1,*)'ZONE F=POINT I=',Nx,' J=',Ny do j=1,ny do i=1,nx write(1,*)x(i,j),y(i,j),Tn(i,j) enddo enddo write(1,*)'variables= "x" "Y" "Tn(i,j)"' write(1,*)'ZONE F=POINT I=',Ns,' J=',1 do i=1,ns write(1,*)xs(i),ys(i),F(i) enddo close(1) endif enddo !do end |

3Â¥2014-01-28 06:55:19
gzb1220
гæ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 2317.8
- É¢½ð: 65
- Ìû×Ó: 55
- ÔÚÏß: 93.5Сʱ
- ³æºÅ: 2318488
- ×¢²á: 2013-03-04
- רҵ: µç×ÓѧÓëÐÅϢϵͳ
4Â¥2014-02-02 07:58:38
onesupeng
½ð³æ (Ö°Òµ×÷¼Ò)
- ·ÂÕæEPI: 11
- Ó¦Öú: 256 (´óѧÉú)
- ¹ó±ö: 1.36
- ½ð±Ò: 2336.2
- É¢½ð: 9236
- ºì»¨: 92
- Ìû×Ó: 4583
- ÔÚÏß: 1303.8Сʱ
- ³æºÅ: 394701
- ×¢²á: 2007-06-07
- רҵ: Á÷ÌåÁ¦Ñ§

5Â¥2014-02-02 09:50:24









»Ø¸´´ËÂ¥