登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
请教一维平面波加入的问题?
发帖
回复
1
2
3045
阅读
16
回复
[
求助
]
请教一维平面波加入的问题?
离线
linzchey
UID :22707
注册:
2008-12-07
登录:
2011-10-17
发帖:
76
等级:
仿真二级
0楼
发表于: 2009-05-31 16:04:52
在加入一维入射波时,总场边界上任意点投影到一维波入射方向k上的垂足到源点的距离为d,
uL3Eq>~x
vC1v"L;[o/
在离散化后,为什么是
4'-|UPhx
nBHnkbKoy
d = dx*cos(phi)*cos(phi) + dy*sin(phi)*sin(phi) ,其中phi为一维波入射角。
cx}Q2S
,y+$cM(
我十分不明白为什么是这样?
H^.IY_I`U*
d?:=PH
参看了Allen Taflove 的computational electromagnetic:FDTD书中的公式, chapter 5, P197.
_~q?_'kx
6KVnnK
d = k dot r_comp, 则d至多也就是: d = dx*cos(phi)+ dy*sin(phi)
yU8{i&w4
AC;V m: @{
u0#}9UKQ
>.'<J]
\MjJ9u `8
xdf82)
^s@8VAwi
!-N6l6N
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
linzchey
UID :22707
注册:
2008-12-07
登录:
2011-10-17
发帖:
76
等级:
仿真二级
1楼
发表于: 2009-05-31 20:37:51
自己顶一个,以免沉了。
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
2楼
发表于: 2009-06-01 09:59:51
不知道你一开始的公式从哪理看来的,allen taflove书的公式没问题啊,这个就是矢量相乘的运算啊,应该不难理解
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-06-01
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
3楼
发表于: 2009-06-01 10:00:41
回 2楼(wq_463) 的帖子
入射波搞定了没你
共
条评分
逆流而上
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
4楼
发表于: 2009-06-01 10:41:43
回 3楼(gwzhao) 的帖子
~~汗,没有,我检查了程序,确实发现了加减号有错误,可是改了以后,还是不行,我把入射波延z轴引入,把有泄漏的角点手动计算一下跟程序运行的值是一样的,现在一团浆糊
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
5楼
发表于: 2009-06-01 10:47:40
回 4楼(wq_463) 的帖子
手动计算的和程序运行的一样?什么意思啊,是理论上就该这个值?
共
条评分
逆流而上
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
6楼
发表于: 2009-06-01 11:03:38
我的入射波是延z轴入射,在计算j=je_min=30左侧xz面的ex时,这个连接边界上(90,30,90)与(90,30,30)这两个点是有泄漏,ex场分量计算时根据程序这两个点投影到一维入射波来计算,我把这两个点投影到一维入射波手动计算的值与程序运行的值是相符的,但是我自己也糊涂,这么算到底验证了什么,所以是一塌糊涂,感觉自己还是没搞清
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
7楼
发表于: 2009-06-01 13:00:37
回 6楼(wq_463) 的帖子
晕,你理论没跟上啊。
共
条评分
逆流而上
离线
linzchey
UID :22707
注册:
2008-12-07
登录:
2011-10-17
发帖:
76
等级:
仿真二级
8楼
发表于: 2009-06-01 15:06:17
我是从别人的程序看来的。下面是平面波高斯正弦源的成员函数设置:
[[#xES21F
37%`P\O;s
int CFDTD_2D_TM::Init_plWave_GaussSin(double E0, double omega, double t0, double tw,
=%Q\*xaR.W
double PHI, int nxa, int nxb, int nya, int nyb)
M|1eqR%x-?
{
;Gjv9:hUn
double phase = 0.0;
b$;HI7)/K
9"m,p
double eps_r = Mat[0][0];
bMSD/L
double mu_r = Mat[0][1];
z\X60T
double sigma = 0.0;
0Ei\VVK>
m]bL)]Z
//the incidence angle of the plane wave
V;M3z9xd
phi = PHI; //入射角
E6,`Ld;c[
e_YW~z=6t
//the size of the total field zone
}K#iCby4
l_x = nxb - nxa + 1; //x方向总场的长度
0*37D5jH
l_y = nyb - nya + 1; //y方向总场的长度
'hxs((['\
cos_phi = cos(phi);
hdo+Qezu:
sin_phi = sin(phi);
_Jf J%YXy
xmCm3ekmpC
l_1D = (int) (l_x*abs(cos_phi) + l_y*abs(sin_phi)) + 10 + 2*n_PML; //一维入射波计算的网格数
=4YbVA+(
//l_1D = nx;
9m<wcZ
d,Hf-zJ%~
d = dx*cos_phi*cos_phi + dy*sin_phi*sin_phi; //这就是我的问题所在?
p*A^0DN'Fn
}T?i%l
fdtd_1D.Init(l_1D, n_PML, dt, d, eps_r, mu_r, sigma);
Q3 K;kS
<1ztj#B
fdtd_1D.Init_PML_Param();
p=:7 atE
SIKk|I)
fdtd_1D.Init_GaussSin(E0, omega, phase, t0, tw);
*5ka.=Qs
@C!JtgO%
fdtd_1D.Get_Data(Ez_1D,Hy_1D);
4U}.Skzq
6^7)GCq [
n_TS_xa = nxa;
*uk\O]
n_TS_xb = nxb;
l=Lmr
n_TS_ya = nya;
>VpP/Qf
n_TS_yb = nyb;
9nP*N`
,\.YJD>z
jel_plane_wave = 1;
qkIA,Kgy
ek Y?
z'5;f;
if (Init_TS_Param())
uYG #c(lc
{
O JZ!|J8?
// memory allocation problems
BZ]&uD|f
return 1;
u!=]zW%
}
>=.ch5h3J)
?7rmwy\
return 0;
f 3nnXE"
}
ucIVVT(u
9+WY@du+
=Bcux8wA#6
Bbn832iMUY
gJWlWVeq$
, V0iMq
!?tu! M<1?
//////////////////////////////////////////////////////////////////////////////////////
共
条评分
离线
linzchey
UID :22707
注册:
2008-12-07
登录:
2011-10-17
发帖:
76
等级:
仿真二级
9楼
发表于: 2009-06-01 15:13:02
回 2楼(wq_463) 的帖子
按照allen书上的公式:
>X@.f1/5X
xc3Ov9`8%
d = k dot r_comp
%j 9vX$Hj
VfJX<e=k
= (i_comp - i_0)*cos(phi) + (j_comp - j_0)*sin(phi)
}RC.Q`b
)[^:]}%r
可是在我上面贴出的部分代码中为何d = dx*cos_phi*cos_phi + dy*sin_phi*sin_phi;
OI;L9\MJc
(_s!,QUe
这让我很迷惑,也不知道怎么推导?
共
条评分
发帖
回复