登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
新手求助sulivan书中一维ABC吸收边界问题
发帖
回复
1582
阅读
9
回复
[
求助
]
新手求助sulivan书中一维ABC吸收边界问题
离线
machi188
UID :21341
注册:
2008-11-13
登录:
2014-03-26
发帖:
52
等级:
仿真一级
0楼
发表于: 2009-06-12 11:34:25
我是新手,刚刚接触FDTD算法,
oi m7=I0
现在正从从sulivan书入手看,
\=D+7'3
看到ABC吸收边界处理的时候,很是迷惑啊
Fv7]1EO.
[[HCP8Wk
/*Absorbing Boundary Conditions*/
Zb=;\l*&
ex[0] = ex_low_m2;
X!:J1'FE
ex_low_m2 = ex_low_m1;
:pM)I5MN[
ex_low_m1 = ex[1];
\6 1H(,
sj4\lpZ3h
ex[KE-1] = ex_high_m2;
6fo\z2
ex_high_m2 = ex_high_m1;
mKjTJzS
ex_high_m1 = ex[KE-2];
,ss"s3
1d~d1Rd
low和high 分列三个公式,是为了表示空间步长的两个时间步,
w[F})u]E
low 和 high ,我自己 ..
>yr;Y4y7K
-<g[P_#
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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表示
1gt 7My
右边界是用high表示?
m#O; 1/P
这个程序,并没有具体赋ex_low_m2 和 ex_low_m1值,
kSCpr0c
那我想程序使用ex_low_m2 和 ex_low_m1这两个变量,
T$<'ZC
仅仅是为了表示取了两个网格,我这样理解对不对?
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
4楼
发表于: 2009-06-15 12:11:10
回 3楼(machi188) 的帖子
两临时变量,理解了好像不够深刻。
KMl3`+i
9 *v14c%
你把dt 改一下。
dg+"G|nr
1)dt = dx / c
W>b\O">
2) dt = dx / (2 * c)
5RY-.c4}
3) dt = dx / (3 * c)
{`>pigo
p -!/p#
在这些情况下,如何实现吸收边界。
共
条评分
逆流而上
离线
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;
xd4~[n\hm
ex_low_m1 = ex[1];
9!dG Xq
是干啥用的,不懂,运行后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
f1d<xGx
n(time step) ex(0) ex_low_m2 ex_low_m1 ex(1)
CKDg3p';
1 0 0 1 1
C{6m?6
2 0 1 2 2
gX* &RsF
3 1 2 3 3
W5&KmA
4 2 3 4 4
V{rQ@7SE
5 3 4 5 5
5)w;0{X!P
6 4 5 .. ..
?X7nM)
7 5 .. .. ..
~"h V-3U
所以ex(1)的值在变量从传了两次才到ex(0),进过了2*dt.
m# ^).+
zK*i:(>B
oK&G
就像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代表了什么意思啊···
共
条评分
资源共享
发帖
回复