24小时热门版块排行榜    

查看: 3147  |  回复: 10

dayovan

金虫 (小有名气)

[求助] LBM编程求解二维非稳态对流扩散方程 已有2人参与

用其他方法也可以,如有限元,有限体积,有限差分等!!!!!!!!谢谢

LBM编程求解二维非稳态对流扩散方程
二维区域对流扩散机制研究界面传质动力学无因次方程.jpg
回复此楼
Nothingisimpossible
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

asiayazhou

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dayovan: 金币+40, ★★★很有帮助, 能用LBM编程更好 2014-09-04 09:30:55
我用有限差分算好了,MATLAB程序见:链接: http://pan.baidu.com/s/1GnHVK 密码: yte6
请查收。谢谢!
献身流体,献身航空发动机
4楼2014-09-03 21:03:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhp-jxu

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
dayovan: 金币+50, ★★★很有帮助 2015-03-29 10:29:41
引用回帖:
5楼: Originally posted by dayovan at 2014-09-04 15:08:15
有限差分计算浓度场出现负数,有办法解决不...

一阶导数应该用迎风离散格式,效果有明显改善
clc
clear
delta_x=pi/100;
delta_y=pi/100;
delta_t=0.001;%定义时间步长;
x=0:delta_x:pi;
y=0:delta_y:pi;
t=0;
[xx,yy]=meshgrid(x,y);
N=102;
c_new=zeros(N,N);
c_old=zeros(N,N);
for i = 1:N-1
    for j = 1:N-1
        p(i,j)=0.5*pi^2*sin(x(j))*cos(y(i));
        q(i,j)=-0.5*pi^2*cos(x(j))*sin(y(i));
    end
end
    for j=1:N
       c_old(1,=1;
    end
while t<=1
for i=2:N-1
    for j=2:N-1
        if p(i-1,j-1)>=0
           div_x=(c_old(i,j)-c_old(i,j-1))/delta_x;
        else
           div_x=(c_old(i,j+1)-c_old(i,j))/delta_x;
        end
        if q(i-1,j-1)>=0
            div_y=(c_old(i,j)-c_old(i-1,j))/delta_y;
        else
            div_y=(c_old(i+1,j)-c_old(i,j))/delta_y;
        end
        diffu=(c_old(i,j+1)+c_old(i,j-1)-2*c_old(i,j))/power(delta_x,2)+...
            (c_old(i+1,j)+c_old(i-1,j)-2*c_old(i,j))/power(delta_y,2);
        temp=0.006*diffu-q(i-1,j-1)*div_y-...
            p(i-1,j-1)*div_x;
        c_new(i,j)= c_old(i,j)+delta_t*temp;
    end
end
for j=1:N
   c_new(1,j)=1;
   c_new(N,j)=0;
end
for i=2:N-1
   c_new(i,1)=1/3*(4*c_new(i,2)-c_new(i,3));
   c_new(i,N)=1/3*(4*c_new(i,N-1)-c_new(i,N-2));
end
  for i=1:N
      for j=1:N
      c_old(i,j)=c_new(i,j);
      end
  end
t=t+delta_t;

for i=2:N-1
      for j=2:N-1
      c(i,j)=1/4*(c_new(i+1,j)+c_new(i-1,j)+c_new(i,j-1)+c_new(i,j+1));
      end
end
c(1,=1;
c(2:N-1,1)=1/3*(4*c(2:N-1,2)-c(2:N-1,3));
end

figure('color','white');
surf(xx,yy,c);
view(2)
xlabel('x—横坐标','fontsize',14)
ylabel('y—纵坐标','fontsize',14')
shading interp
colorbar
title('浓度场分布','fontsize',14)
7楼2015-03-28 16:47:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

yishichao

银虫 (小有名气)

是控制方程吗?

[ 发自小木虫客户端 ]
2楼2014-09-03 19:13:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dayovan

金虫 (小有名气)

引用回帖:
2楼: Originally posted by yishichao at 2014-09-03 19:13:50
是控制方程吗?

就是上面无因次方程数值求解呀
Nothingisimpossible
3楼2014-09-03 19:57:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dayovan

金虫 (小有名气)

引用回帖:
4楼: Originally posted by asiayazhou at 2014-09-03 21:03:39
我用有限差分算好了,MATLAB程序见:链接: http://pan.baidu.com/s/1GnHVK 密码: yte6
请查收。谢谢!

有限差分计算浓度场出现负数,有办法解决不
Nothingisimpossible
5楼2014-09-04 15:08:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yishichao

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
???????:
5?: Originally posted by dayovan at 2014-09-04 15:08:15
???????????????????????а??????...

是边界上???????

[ ????С??????? ]
6楼2014-09-05 08:13:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dayovan

金虫 (小有名气)

引用回帖:
7楼: Originally posted by zhp-jxu at 2015-03-28 16:47:25
一阶导数应该用迎风离散格式,效果有明显改善
clc
clear
delta_x=pi/100;
delta_y=pi/100;
delta_t=0.001;%定义时间步长;
x=0:delta_x:pi;
y=0:delta_y:pi;
t=0;
=meshgrid(x,y);
N=102;
c_new=zeros ...

能帮忙设置一下二阶迎风格式吗??当N取较大时,尤发散了
Nothingisimpossible
8楼2015-04-10 22:32:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dayovan

金虫 (小有名气)

引用回帖:
7楼: Originally posted by zhp-jxu at 2015-03-28 16:47:25
一阶导数应该用迎风离散格式,效果有明显改善
clc
clear
delta_x=pi/100;
delta_y=pi/100;
delta_t=0.001;%定义时间步长;
x=0:delta_x:pi;
y=0:delta_y:pi;
t=0;
=meshgrid(x,y);
N=102;
c_new=zeros ...

能解决一下N取较大时,求解发散的问题吗?
Nothingisimpossible
9楼2015-04-10 22:34:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhp-jxu

木虫 (小有名气)

引用回帖:
9楼: Originally posted by dayovan at 2015-04-10 22:34:49
能解决一下N取较大时,求解发散的问题吗?...

目前程序中的N的取值为N=100+2,如果增加N的值,前面的所有出现100的地方也要改
10楼2015-04-11 10:22:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dayovan 的主题更新
信息提示
请填处理意见