登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
MUR边界发散是什么原因呢?
发帖
回复
1889
阅读
4
回复
[
已解决
]
MUR边界发散是什么原因呢?
离线
lizi0908
UID :33555
注册:
2009-05-25
登录:
2010-04-25
发帖:
56
等级:
仿真一级
0楼
发表于: 2010-03-03 18:30:15
编写TM波真空中传播程序中加入一阶MUR边界,加入右边界或上边界后电场值E很大,这就是传说的发散吧,会是什么原因引起的呢?大家帮看看,谢谢了。
KDEcR
边界代码如下:
N}5'Hk4+
aa = (c*delta_t-delta_s)/(c*delta_t+delta_s);
._A@,]LS}
%左边界x=1
b@ S.
for j=2:max_space_z-1
dp~] Wx
Ez(1,,j) = ez(2,,j)+aa*( Ez(2,,j)-ez(1,,j));
pon0!\ZT=
end
8sz|9~
%右边界x=max_space_z
1?hx/02
for j=2:max_space_z-1
+#=l{_Z,ZJ
Ez(max_space_x,,j) = ez(max_space_x-1,,j)+aa*( Ez(max_space_x-1,,j)-ez(max_space_x,,j));
p"ElO,\
end
'BmLR{[2L
%下边界y=1
*p=a-s5-
for i=2:max_space_x-1
4y|%Oj
Ez(i,1) = ez(i,2)+aa*(Ez(i,2)-ez(i,1));
rUOl+p_47
end
1C]mxV=%
%上边界y=max_space_x
W &HF*Aw
for i=2:max_space_x-1
REc+@;B
Ez(i,max_space_z) = ez(i,max_space_z-1)+aa*(Ez(i,max_space_z-1)-ez(i,max_space_z));
MF]EX
end
k<i#agq
[backcolo ..
}[c,/NH
c D0-g=&
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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));
O~~WP*N
两个逗号表示什么?
共
条评分
欢迎光临
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中的数组标号就是用逗号分开的,程序是能运行的,应该不是语法上的错误吧。
D8 BmC
我屏蔽掉上边界和右边界的代码,感觉结果是合理的。
M~eXC
版主可不可以指点下MUR边界发散有可能是哪些因素,给个调试程序的方向。谢谢了!
Em ;2fh
共
条评分
离线
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
同样学习!!!
共
条评分
发帖
回复