登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
平面波程序调试遇到问题了~~急,急,急 ..
发帖
回复
1
2
3
3762
阅读
23
回复
[
求助
]
平面波程序调试遇到问题了~~急,急,急需各位高手师兄指点
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
10楼
发表于: 2009-05-27 20:48:38
举个例子吧,开始的时候,Ex(30:90,30,30:90)这个面的值是一样的,因为你加的是在ZX面上的平面波,
T'H::^9:E
传播了一个步长后,你看一下 Ex(30:90,31,30:90)这个面上的值是不是全部一样,因为是平面波传播,同时向前走了一个步长,按道理来说,应该是完全相同的。
)B$;Vs]@i
我估计你第二步的时候,连接边界上的值Ex(30,31,30:90)或Ex(30:90,31,30)已经有不一样的值了。
共
条评分
逆流而上
离线
strange007
UID :2803
注册:
2007-05-20
登录:
2025-03-08
发帖:
453
等级:
积极交流五级
11楼
发表于: 2009-05-27 20:58:15
看了一下,估计FDTD递推中代码有误
yE[#ze
这样的问题是需要细心调试来解决的
"BX!
{ZY+L;eg1
可以:
mU}F!J#6
1.仔细检查代码是否与FDTD算法相符,是否有+/-、变量操作上面的问题;
3gd&i
2.按照原理,应该得到什么样的结果。对于平面波沿着Y轴传播的情况,应该一个时刻t上面,电磁波传播方向y=y0位置的一个平面上,E/H场是有相同幅度的。
y6]vl=^L
3.然后,进行程序单步调试。针对上面有点源散射的情况,看看是否在连接边界场的加入和边界外场的减去方面出问题。针对y=y0位置的一个平面上,E/H场是如何发生散射传播,检查递推过程为什么得不到同样场量的波阵面。
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
12楼
发表于: 2009-05-27 21:07:35
回 9楼(gwzhao) 的帖子
我也考虑过平面波在传播过程中,值发生变化的问,我刚才用下面的这段程序出的一个xz面商ez值变化的图程序和图如下
P?k0zwOlBl
xx=1:100;
OynXkH]0T+
zz=1:100;
<[-nF"Q
[xxx,zzz]=meshgrid(xx,zz);
vd[0X;
mesh(xxx,ez(1:100,je_jmin,1:100),zzz);
,k;^G>< =
surf(xxx,ez(1:100,je_jmin,1:100),zzz);
9gmW&{6q
shading interp
#)nSr
pause(0.01)
#?S^kM-0
[attachment=20332]
dUhY\v oQ
发现有两个点是突变的。。。。不明白怎么回事
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
13楼
发表于: 2009-05-27 21:37:26
回 9楼(gwzhao) 的帖子
allen的书,角点跟没有拿出来单独处理,这个地方不会存在角点正负号错误的问题,allen把角点放到交界面上一起处理了
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
14楼
发表于: 2009-05-27 21:56:08
回 12楼(wq_463) 的帖子
????
n*[XR`r}
9\_eK,*B
不是已经找到这两个突变的点了吗?
;$.J3!
下面简单了,就以这个点为平面进行调试好了,一步一步的看,看什么时候值有问题的。
'>-gi}z7
我觉得应该哪边公式写错了,应该用不了两三步就可以找到原因的。
3G}x;Cp\D
Rwz0poG`WG
遇到问题不要急,定下心来,分析一下,你自己不难搞定的。
共
条评分
逆流而上
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
15楼
发表于: 2009-05-27 21:58:09
程序加入的电磁场幅度归一了吗?看你打印出来都是成千上万的,也不知道是不是发散掉了。
@$S+ Ne[<
*6sl
如果加入的源Ex幅度是1的话,明显程序是发散了。
共
条评分
逆流而上
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
16楼
发表于: 2009-05-28 10:17:40
回 14楼(gwzhao) 的帖子
嗯,我正在检查,估计是代码有问题,按说平面波不会出现这2个突变点
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
17楼
发表于: 2009-05-28 10:24:48
回 15楼(gwzhao) 的帖子
不知道师兄说的这个归一化是不是H'=Z0*H,其中Z0为自由空间的波阻抗?
rID#`:Hl-|
我用的双指数脉冲,这个脉冲的值确实很大E(t)=A*(exp(-a*t)-exp(-b*t)),其中A=52500,a=4000000,b=476000000
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
18楼
发表于: 2009-05-29 10:30:03
根据allen taflove的书
SLkhCR
[attachment=20350]
8 7BHq)
我们可以通过调整图中三个角的变化来控制平面波的传播方向,我令于x轴的夹角为90度,于z轴的夹角为0度,Einc于Kinc的夹角为90度,这样的话是否就是让平面波延z轴传播呢?
共
条评分
离线
wq_463
UID :20925
注册:
2008-11-06
登录:
2021-04-22
发帖:
227
等级:
仿真三级
19楼
发表于: 2009-05-30 19:46:02
回 14楼(gwzhao) 的帖子
我用了2天的时间检查了一下程序,没有发现符号运算方面的问题,然后我又仔细观察了出的图,发现一些问题
pAb.c
1。固定y观察xz面上ex(30:90,30,3:90)的变化原图
5nTY ?<x`k
图片:ex.jpg
*?y+e
图片:1.gif
/EibEd\
图片:2.gif
6 `Aj%1
通过上面2个图发现在连接边界的2个角点处产生了泄漏,导致了突变
GiP`dtK
2。
\%/#x V
图片:3.gif
0VckocF
QU%I43
xx=1:100;
{~h*2n
zz=1:100;
&LF` W
[xxx,zzz]=meshgrid(xx,zz);
W?0 lV5/
mesh(xxx,ex(1:100,je_jmin+1,1:100),zzz);
/CuXa%Ci^
surf(xxx,ex(1:100,je_jmin+1,1:100),zzz);
1BAgtd$3
通过上面这段程序观察应该是只有在(30:90,30,30:90)这个面上的ez的变化,第四个图根据坐标可以看出,波是完全泄漏到散射场中去了
?pYKZg/c
( {1e%
我现在怀疑自己的网格设置是错误的
CNr/U*+
共
条评分
发帖
回复