24小时热门版块排行榜    

查看: 1872  |  回复: 4
本帖产生 1 个 仿真EPI ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gzb1220

新虫 (小有名气)

[求助] 二维菲克定律微分方程求解? 已有1人参与

微分方程如图,如何求解呢?扩展到三维又如何求解呢?
二维菲克定律微分方程求解?
111.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gzb1220

新虫 (小有名气)

引用回帖:
2楼: Originally posted by onesupeng at 2014-01-28 06:52:38
方程的这个写法第一次看到,希望我理解的是对的,扩散方程

数值技术上说,如果是结构网格很容易就得到结果,下面是Fortran程序,希望对你有用。一共两个文件,main.f90和para.dat。你准备好之后在目录下建立Out和 ...

请问用哪个网格求解的?

[ 发自小木虫客户端 ]
4楼2014-02-02 07:58:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

onesupeng

金虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 请耐心等待楼主评分 2014-01-30 08:22:13
gzb1220: 金币+10, ★★★很有帮助, 谢谢,这段程序是不是通过差分法解出来的? 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
长期招收博士生,参见http://fsl-unsw.com
2楼2014-01-28 06:52:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onesupeng

金虫 (职业作家)

【答案】应助回帖

!=============================================================
!==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
长期招收博士生,参见http://fsl-unsw.com
3楼2014-01-28 06:55:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onesupeng

金虫 (职业作家)

矩形计算域正交网格
长期招收博士生,参见http://fsl-unsw.com
5楼2014-02-02 09:50:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 01:49 by ZPa0EcMwuECS
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 01:47 by ZPa0EcMwuECS
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 7/350 2026-08-30 01:36 by ZPa0EcMwuECS
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 01:36 by ZPa0EcMwuECS
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-30 01:04 by ZPa0EcMwuECS
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 G6APbkg8SA6w 2026-08-29 4/200 2026-08-29 22:27 by ZPa0EcMwuECS
[基金申请] 面上意见出来了 +8 黄鸟于飞Chao 2026-08-29 16/800 2026-08-29 20:45 by 黄鸟于飞Chao
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +5 gdd2018 2026-08-28 10/500 2026-08-29 14:10 by Jacob678
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
信息提示
请填处理意见