登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
MUR边界发散是什么原因呢?
发帖
回复
1888
阅读
4
回复
[
已解决
]
MUR边界发散是什么原因呢?
离线
lizi0908
UID :33555
注册:
2009-05-25
登录:
2010-04-25
发帖:
56
等级:
仿真一级
0楼
发表于: 2010-03-03 18:30:15
编写TM波真空中传播程序中加入一阶MUR边界,加入右边界或上边界后电场值E很大,这就是传说的发散吧,会是什么原因引起的呢?大家帮看看,谢谢了。
2>F`H7W
边界代码如下:
1$v1:6
aa = (c*delta_t-delta_s)/(c*delta_t+delta_s);
|>v8yS5
%左边界x=1
|IZFWZd
for j=2:max_space_z-1
{s3 j}&
Ez(1,,j) = ez(2,,j)+aa*( Ez(2,,j)-ez(1,,j));
}&Ul(HR
end
GmdS~Fhp
%右边界x=max_space_z
w=x [=O
for j=2:max_space_z-1
5 8n(fdE
Ez(max_space_x,,j) = ez(max_space_x-1,,j)+aa*( Ez(max_space_x-1,,j)-ez(max_space_x,,j));
JL=s=9N;3
end
:^ J'_
%下边界y=1
J%1 2Ey@6
for i=2:max_space_x-1
X8~gLdv8
Ez(i,1) = ez(i,2)+aa*(Ez(i,2)-ez(i,1));
G|LcTV
end
\w=*:Z
%上边界y=max_space_x
~+&Z4CYb
for i=2:max_space_x-1
s-e<&*D[
Ez(i,max_space_z) = ez(i,max_space_z-1)+aa*(Ez(i,max_space_z-1)-ez(i,max_space_z));
osPrr QoH
end
%&&;06GU}
[backcolo ..
WV,j <x9w
gPY Cw?zQ
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
cem-uestc
UID :9061
注册:
2008-03-07
登录:
2019-01-05
发帖:
2575
等级:
荣誉管理员
1楼
发表于: 2010-03-03 21:44:40
Ez(1,,j) = ez(2,,j)+aa*( Ez(2,,j)-ez(1,,j));
*d;D~"E<@
两个逗号表示什么?
共
条评分
欢迎光临
http://www.mwtee.com/home.php?mod=space&uid=13535
离线
lizi0908
UID :33555
注册:
2009-05-25
登录:
2010-04-25
发帖:
56
等级:
仿真一级
2楼
发表于: 2010-03-03 22:18:54
回 1楼(cem-uestc) 的帖子
matlab中的数组标号就是用逗号分开的,程序是能运行的,应该不是语法上的错误吧。
6YCFSvA#/
我屏蔽掉上边界和右边界的代码,感觉结果是合理的。
^`&?"yj<z
版主可不可以指点下MUR边界发散有可能是哪些因素,给个调试程序的方向。谢谢了!
a7Fc"s*
共
条评分
离线
lizi0908
UID :33555
注册:
2009-05-25
登录:
2010-04-25
发帖:
56
等级:
仿真一级
3楼
发表于: 2010-03-05 11:28:21
把程序中各个模块重新组合一次就没有问题了,好怪啊!不知道是不是调程序都这样,哈哈!
共
条评分
离线
tiees
UID :2453
注册:
2007-05-08
登录:
2013-12-22
发帖:
54
等级:
仿真一级
4楼
发表于: 2010-03-13 09:16:57
同样学习!!!
共
条评分
发帖
回复