登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
请教高手Sullivan书中几个入门问题
发帖
回复
1633
阅读
6
回复
[
求助
]
请教高手Sullivan书中几个入门问题
离线
snipers2004
impossible is nothing !
UID :17681
注册:
2008-09-11
登录:
2023-04-24
发帖:
1802
等级:
七级仿真大师
0楼
发表于: 2009-02-13 18:35:49
本人为初学fdtd的一菜鸟,最近在看Sullivan的那本书,里面有很多问题不太明白,希望各位高手能够抽时间指点指点。
%.Mtn%:I*
i~\gEMaO
1、书中在提至设置PML层的参数时,分别取:
M>0~Ek%3
fi1(i) = xn=.33*pow(i/npml,3.0)
Tvk= NJ
gi2(i) = 1.0/(1.0+xn) = fi2(i)
TsR20P@
gi3(i) = (1.0-xn)/(1.0+xn) = fi3(i)
0wOgQ n
Ir]b.6B
但书后的程序是这样编写的:
Qi[T!1
for (i=0; i<= npml; i++)
SH5k^EJ
{
p4t(xm2T
xnum = npml -i;
|=7%Edkd
xd = npml;
AjZT- Q0L
xxn = xnum/xd;
t);5Cw_
xn = .33*pow(xxn,3.0);
BURiLEYZl
gi2
= 1.0/(1.0+xn);
RI%*5lM8;
gi2[IE-1-i] = 1.0/(1.0+xn);
5m_@s?P[
gi3
= (1.0 -xn)/(1.0+xn);
s n?
gi3[IE-1-i] = (1.0-xn)/(1.0+xn);
@GGyiK@
xxn = (xnum-.5)/xd;
k5<lkC2z
xn = .25*pow(xxn,3.0);
Q>X ;7nt0
fi1
= xn;
h; {?z
fi1[IE-2-i] = xn;
X_=oJi|:
fi2
= 1.0/(1.0 +xn);
I2zSoQ1P
fi2[IE-2-i] = 1.0/(1.0+xn);
TN l$P~X>
fi3
= (1.0 -xn)/(1.0+xn);
E{j6OX\
fi3[IE-2-i] = (1.0-xn)/(1.0+xn);
;&[0 h)
}
\Z)'':},C
LxMOs Nv
这样的话 fi1(i) = xn=.25*pow(i/npml,3.0) 似乎与书中的描述不符。不知道大家对此是如何理解?
^ 41p+
另外,这种PML层的设置方法好像与BERENGER完全匹配层的设置不太一样,不知道它的吸收效果如何,可以直接用这种方法来进行FDTD仿真模拟吗?
U~7.aZHPx3
q/]tJ{FI
2、第三章书后的程序说明从0到npml个网格设置pml层。在设置总场边界时,又取ia=ja=7,似乎是说从0开始向内推7个网格为总场边界。但葛老那本书上曾提到过:为保证计算精度,吸收边界需离开连接边界10个网格以上,连接边界与目标的最近距离至少需要3至5个网格。所以不知按书后程序这样设置吸收边界及总场边界是否合理?
"i#!
mTcLocx
3、由于要考虑色散误差的影响及入射脉冲的要求,网格尺寸分别要满足:dx≤c/(N*f
max
) (f ..
+L_.XToq-
F@?QVdY1q7
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
1
条评分
gwzhao
rf币
+5
看的很细啊
2009-02-13
离线
leesaint
UID :13580
注册:
2008-06-08
登录:
2016-02-11
发帖:
72
等级:
仿真一级
1楼
发表于: 2009-02-13 20:20:47
我也看得稀里糊涂的
共
条评分
离线
snipers2004
impossible is nothing !
UID :17681
注册:
2008-09-11
登录:
2023-04-24
发帖:
1802
等级:
七级仿真大师
2楼
发表于: 2009-02-13 20:27:52
同感,而且里面还有不少代码错误,看起来更费劲.
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
3楼
发表于: 2009-02-14 02:20:48
Sullivan出那本书的时候,开源的FDTD代码很有现。他的书就显得很珍贵。因为侧重不同,它对FDTD原理的阐述很有限。遗憾的是书里的代码里也有很多的错误。但很多是显而易见的。
YadyRUE
3mr9}P9;
如果没有记错。你的第一个问题,Sullian没有讲述如何安几何数列设定PML的参数。我在这个问题上野花了些时间。后来就干脆跳过了。
>(~;V;
`')3}
第二个问题,没有一个固定PML要多少层。PML的层数是有计算精度的要求决定的。10层,只是一个经验值。
^ 8egn|
Y/)>\
第三个问题。Sullivan些的代码,是为了展示用的。没有过多强调参数的物理意义。只要参数满足稳定条件,就好。没有强调计算精度。
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-02-14
离线
snipers2004
impossible is nothing !
UID :17681
注册:
2008-09-11
登录:
2023-04-24
发帖:
1802
等级:
七级仿真大师
4楼
发表于: 2009-02-14 09:38:23
非常感谢楼上那位兄弟。但对于问题二我还有一个疑问:如果PML层设置为10层,而总场边界只有七层的话,那总场不是设置到PML层里面去了?
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
5楼
发表于: 2009-02-14 22:42:02
是的。如果PML层为10层,PEC边界往里数十层后,才开始是总场。
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-02-14
离线
snipers2004
impossible is nothing !
UID :17681
注册:
2008-09-11
登录:
2023-04-24
发帖:
1802
等级:
七级仿真大师
6楼
发表于: 2009-02-16 09:14:20
这样也可以?
共
条评分
发帖
回复