登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
各位牛人看一下三维的迭代程序哪出错了 计 ..
发帖
回复
760
阅读
2
回复
[
求助
]
各位牛人看一下三维的迭代程序哪出错了 计算的值偏小一个数量级
离线
mvpjwill
UID :40975
注册:
2009-09-06
登录:
2012-05-20
发帖:
68
等级:
仿真一级
0楼
发表于: 2011-12-11 15:58:21
这个是EX的迭代程序 计算的是填充部分介质波导 ,我想问一下 这个分裂场的写法是否正确呢 ?因为之前做散射时 这样的写法 结果也偏小,但是简单易懂
lG\lu'<C
void computex(double ***ex,double ***exy,double ***exz,double ***hy,double ***hz,double ***sy,double *sz1,double ***epsilon,double dt,double dy,double dz,int meshnum_x,int meshnum_y,int meshnum_z,int ls,double **lag,double d)
4yRT!k}o
{
rZJp>Q)s
int i,j,k,l;
YI%7#L7C
double pd1,pd2;
C!qW:H
for(i = ls-1;i<=meshnum_x-ls;i++)
F{l,Tl"Jw
{
|8+<qgQ
for(j = ls;j<=meshnum_y-ls;j++)
\hi{r@k>}
{
c0Q`S"o+
for(k = ls;k<=meshnum_z-ls;k++)
v#-%_V>ph
{
yaR|d3ef?4
pd1=0;
{zVJlJKxs
pd2=0;
a Mv
for(l = 0;l<= 2*ls-1;l++)
*ZN"+wf\
{
QREIr |q'
pd1 += lag[1][l]*hz
[j-ls+l][k]; // 高阶部分 计算的一阶导数
R0. `2=
pd2 += lag[1][l]*hy
[j][k-ls+l];
YXV![gw0
}
*ArzXhs[
pd1=pd1/dy;
>#!n"i;
pd2=pd2/dz;
),M8W15
i"JF~6c<
exy
[j][k]=exy
[j][k] + d*dt/epsilon
[j][k]*pd1; //分裂的部分
,{'~J @
exz
[j][k]=func_r1(d*dt*sz1[k]/epsilon
[j][k])*exz
[j][k] - d*dt/epsilon
[j][k]*func_s1(d*dt*sz1[k]/epsilon
[j][k])*pd2;
O,^,G<`
ex
[j][k] = exy
[j][k] +exz
[j][k];
1-w1k^e
}
z W+wtYV4
  ..
'?3Hy|}
zw5EaY
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
mvpjwill
UID :40975
注册:
2009-09-06
登录:
2012-05-20
发帖:
68
等级:
仿真一级
1楼
发表于: 2011-12-11 16:02:25
ww
这个按照葛德彪书上的 分裂写的 但最后得到波导的S11参数 值小了1个数量级(10),我检查了看到反射波小了,估摸着是这里合起来写出现的问题(即PML区 与空间传播区和在一起写程序),请各位帮帮忙!
共
条评分
离线
cem-uestc
UID :9061
注册:
2008-03-07
登录:
2019-01-05
发帖:
2575
等级:
荣誉管理员
2楼
发表于: 2011-12-24 21:41:06
S11曲线是否吻合?
共
条评分
欢迎光临
http://www.mwtee.com/home.php?mod=space&uid=13535
发帖
回复