登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
新手求助sulivan书中一维ABC吸收边界问题
发帖
回复
1581
阅读
9
回复
[
求助
]
新手求助sulivan书中一维ABC吸收边界问题
离线
machi188
UID :21341
注册:
2008-11-13
登录:
2014-03-26
发帖:
52
等级:
仿真一级
0楼
发表于: 2009-06-12 11:34:25
我是新手,刚刚接触FDTD算法,
A3C#wJ
现在正从从sulivan书入手看,
u[_~ !y
看到ABC吸收边界处理的时候,很是迷惑啊
(0Xgv3wd
(dxkDS-G
/*Absorbing Boundary Conditions*/
(q!tI*}
ex[0] = ex_low_m2;
>900O4
ex_low_m2 = ex_low_m1;
xA-O?s"CY
ex_low_m1 = ex[1];
+IiL(\ew
5__8+R
ex[KE-1] = ex_high_m2;
&xlz80%
ex_high_m2 = ex_high_m1;
VQ/<MY C
ex_high_m1 = ex[KE-2];
t7#C&B
.r/6BDE"
low和high 分列三个公式,是为了表示空间步长的两个时间步,
j"aimjqd3
low 和 high ,我自己 ..
:66xrw
C~.7m-YW
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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表示
CCp&P5[67
右边界是用high表示?
^i}*$ZC72
这个程序,并没有具体赋ex_low_m2 和 ex_low_m1值,
|` gSkv
那我想程序使用ex_low_m2 和 ex_low_m1这两个变量,
wmh[yYWc
仅仅是为了表示取了两个网格,我这样理解对不对?
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
4楼
发表于: 2009-06-15 12:11:10
回 3楼(machi188) 的帖子
两临时变量,理解了好像不够深刻。
g~EJja;
/Q Xq<NG
你把dt 改一下。
7;H!F!K]
1)dt = dx / c
lFMQT ;
2) dt = dx / (2 * c)
wGfU@!m
3) dt = dx / (3 * c)
=<nx[J
+m Plid\
在这些情况下,如何实现吸收边界。
共
条评分
逆流而上
离线
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;
2%0J/]n\A"
ex_low_m1 = ex[1];
o[C,fh,$
是干啥用的,不懂,运行后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
yB>5p]$P
n(time step) ex(0) ex_low_m2 ex_low_m1 ex(1)
Lq-Di|6q
1 0 0 1 1
T)!$-qdz/
2 0 1 2 2
5WT^;J9V
3 1 2 3 3
w<m)T
4 2 3 4 4
c@+ ;4Iz
5 3 4 5 5
stb)Tl^
6 4 5 .. ..
)ZyEn%
7 5 .. .. ..
,wI$O8"!j
所以ex(1)的值在变量从传了两次才到ex(0),进过了2*dt.
)_MIUQ%
pPC_ub
ftL>oOz[
就像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代表了什么意思啊···
共
条评分
资源共享
发帖
回复