是一个二维的对流扩散问题,对流在X方向, 扩散作用在Y 方向,所以方程为 dC/dt=D*d2C/dy2-V*dC/dx (注:
D= Diffusion coefficient, C=concentration, V=
流体速度,并假设它与表面的垂直方向Y成正比,即:V=a*Y. d2C/dy2表示浓度对Y的二阶导数。 ) 边界条件为:
1 ,C = C0 when y = 0 and 0
(表示在表面(y =
0)存在药品(扩散物质)的区域(0
2, C = 0 when y> 0.1cm for all x
(表示对难容物质来说,由于流动的因素,离表面一定距离后不存在溶质)
3, C = 0 when x = 0 for all y (因为在存在药品区域之前是 没有浓度的)
4, C = 0 when y = 0 and x> L (表示
在不存在药品的表面也没有浓度)
本人用论文中介绍的显示差分算法在MATLAB 编程 [C(i , j , k+1)- C(i , j , k)]/dt =
D/(dy)^2 * [ C(i , j-1 , k) - 2*C(i , j , k) + C(i , j+1 , k)] -
V/dx * [C(i , j , k) - C(i -1, j , k)]
下面是我的代码:
问题是,虽然可以得到仿真(步长设置不好还容易发散),但是明显没有对流项的作用,画出的图应该是从左到右被“冲”的感觉,实在找不到问题出在哪儿了,恳请大侠赐教,不胜感谢!
%%%%%%%%%%%%%%%%%%
clear
clc
D = [0 ,2 , 0 , 0.1 ] %%%% region of
0
0
Mx =200
My =100
N = 1000
T = 10

本文介绍了使用MATLAB编程解决一个二维对流扩散问题的过程,其中对流作用于X方向,扩散作用于Y方向。在设定边界条件后,采用显式差分算法进行模拟。然而,作者遇到的问题是仿真结果未能体现出对流项的影响,期望得到从左到右的“冲洗”效果。代码已给出,但需要调整以避免发散并正确体现对流效应。
最低0.47元/天 解锁文章
635

被折叠的 条评论
为什么被折叠?



