登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
新手求助sulivan书中一维ABC吸收边界问题
发帖
回复
1583
阅读
9
回复
[
求助
]
新手求助sulivan书中一维ABC吸收边界问题
离线
machi188
UID :21341
注册:
2008-11-13
登录:
2014-03-26
发帖:
52
等级:
仿真一级
0楼
发表于: 2009-06-12 11:34:25
我是新手,刚刚接触FDTD算法,
~XyW&@
现在正从从sulivan书入手看,
pl5P2&k
看到ABC吸收边界处理的时候,很是迷惑啊
R)M_|ca
-+7uy.@cS
/*Absorbing Boundary Conditions*/
d"5oD@JG:
ex[0] = ex_low_m2;
]W Zq^'q.
ex_low_m2 = ex_low_m1;
e1>aTu@
ex_low_m1 = ex[1];
Z.W66\8~}^
7_.11$E=H
ex[KE-1] = ex_high_m2;
sf OHl
ex_high_m2 = ex_high_m1;
Aub]IO~
ex_high_m1 = ex[KE-2];
i^_#%L
Xg=x7\V
low和high 分列三个公式,是为了表示空间步长的两个时间步,
r'dr9"-{
low 和 high ,我自己 ..
M t*6}Cl
`((Yc]:7
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
cem-uestc
UID :9061
注册:
2008-03-07
登录:
2019-01-05
发帖:
2575
等级:
荣誉管理员
1楼
发表于: 2009-06-12 11:40:16
左右边界条件分开处理
共
2
条评分
vincentwl
技术分
+1
积极参与
2009-06-13
gwzhao
rf币
+5
积极参与
2009-06-12
欢迎光临
http://www.mwtee.com/home.php?mod=space&uid=13535
离线
mars982133
UID :14427
注册:
2008-06-28
登录:
2012-07-30
发帖:
134
等级:
禁止发言
2楼
发表于: 2009-06-13 11:35:13
用户被禁言,该主题自动屏蔽!
共
条评分
离线
machi188
UID :21341
注册:
2008-11-13
登录:
2014-03-26
发帖:
52
等级:
仿真一级
3楼
发表于: 2009-06-13 21:33:45
回 2楼(mars982133) 的帖子
左边界是用low表示
b-@\R\T
右边界是用high表示?
P20|RvE
这个程序,并没有具体赋ex_low_m2 和 ex_low_m1值,
?@R")$
那我想程序使用ex_low_m2 和 ex_low_m1这两个变量,
DlyMJ#a
仅仅是为了表示取了两个网格,我这样理解对不对?
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
4楼
发表于: 2009-06-15 12:11:10
回 3楼(machi188) 的帖子
两临时变量,理解了好像不够深刻。
J(h3]J/Yw
uhn%lV]
你把dt 改一下。
cfoYnM
1)dt = dx / c
FMu!z
2) dt = dx / (2 * c)
o;J;*~g
3) dt = dx / (3 * c)
PDw{R]V+
K5 vNhA
在这些情况下,如何实现吸收边界。
共
条评分
逆流而上
离线
lxy04123
UID :43122
注册:
2009-10-05
登录:
2012-06-21
发帖:
8
等级:
旁观者
5楼
发表于: 2009-10-11 11:38:23
我也不太懂到底ex[0] = ex_low_m2; ex_low_m2 = ex_low_m1;
URw!7bTz
ex_low_m1 = ex[1];
\|{*arS
是干啥用的,不懂,运行后ex(2)延迟三步有赋给ex(1)为什么
共
条评分
离线
xbzc
UID :56063
注册:
2010-03-30
登录:
2011-12-19
发帖:
38
等级:
仿真新人
6楼
发表于: 2010-05-12 22:22:45
有没有人能够详细讲解一下呢,还是终究无法理解!关于两个临时变量的作用,怎么实现相差两个时间步的?
共
条评分
离线
appcad
UID :11774
注册:
2008-04-30
登录:
2019-08-10
发帖:
56
等级:
仿真一级
7楼
发表于: 2010-05-13 20:37:26
必须满dx=1/2*c*dt
共
条评分
离线
ly19880925
上了RF的课,反复解释传输线里面的正负号
UID :19008
注册:
2008-10-12
登录:
2012-01-25
发帖:
40
等级:
仿真一级
8楼
发表于: 2010-05-14 04:00:24
这个问题只需要把每一次循环后ex(0),ex_low_m1,ex_low_m2,ex(1)的值列出来就清楚了,书上的程序里面没有设定初始值,需要将ex_low_m1, ex_low_m2都设定成0. 然后开始循环,下面是每一次循环后变量的值. 假设ex(1)在每一步的值是 1 2 3 4 5
kX ~-g
n(time step) ex(0) ex_low_m2 ex_low_m1 ex(1)
[HC8-N^.}
1 0 0 1 1
6Tm Rc
2 0 1 2 2
o2[vM$]
3 1 2 3 3
&CB.*\0
4 2 3 4 4
[dSDg2]
5 3 4 5 5
icKg7-$N
6 4 5 .. ..
PfwI@%2
7 5 .. .. ..
x>1iIpBv^
所以ex(1)的值在变量从传了两次才到ex(0),进过了2*dt.
h|(ZXCH
-13P 2<i+
oTplxF1
就像gwzhao说的那样,把dt改成dt = dx / (3 * c) 改怎么实现,只需要再引入一个变量ex_low_m3就可以了,这样解释应该比较清楚了吧
共
条评分
离线
da376805618
资源共享呗
UID :71951
注册:
2011-01-22
登录:
2014-09-27
发帖:
389
等级:
仿真三级
9楼
发表于: 2011-04-20 22:56:52
我想问一下··ABC代表了什么意思啊···
共
条评分
资源共享
发帖
回复