登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
各位牛人看一下三维的迭代程序哪出错了 计 ..
发帖
回复
759
阅读
2
回复
[
求助
]
各位牛人看一下三维的迭代程序哪出错了 计算的值偏小一个数量级
离线
mvpjwill
UID :40975
注册:
2009-09-06
登录:
2012-05-20
发帖:
68
等级:
仿真一级
0楼
发表于: 2011-12-11 15:58:21
这个是EX的迭代程序 计算的是填充部分介质波导 ,我想问一下 这个分裂场的写法是否正确呢 ?因为之前做散射时 这样的写法 结果也偏小,但是简单易懂
g;Ugr8
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)
I'xc$f_+
{
Rxdj}xy
int i,j,k,l;
-W!M:8
double pd1,pd2;
KTYjC\\G
for(i = ls-1;i<=meshnum_x-ls;i++)
X>$Wf3
{
$6m@gW]N
for(j = ls;j<=meshnum_y-ls;j++)
+E. D:
{
bIm4s
for(k = ls;k<=meshnum_z-ls;k++)
XW aa`q
{
u^xnOVE
pd1=0;
UG\2wH_
pd2=0;
g7323m1=
for(l = 0;l<= 2*ls-1;l++)
0j8fU7~6S
{
igL5nE=n
pd1 += lag[1][l]*hz
[j-ls+l][k]; // 高阶部分 计算的一阶导数
9Qszr=C0
pd2 += lag[1][l]*hy
[j][k-ls+l];
l^I?@{W
}
YC;@ ^
pd1=pd1/dy;
A$p&<#
pd2=pd2/dz;
r)~?5d
xD*Zcw(vj~
exy
[j][k]=exy
[j][k] + d*dt/epsilon
[j][k]*pd1; //分裂的部分
{ccc[G?>.Q
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;
25Ee+&&%
ex
[j][k] = exy
[j][k] +exz
[j][k];
?5't1219
}
!{*yWpZ:
  ..
XOX$uLm
dWzf C@]
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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
发帖
回复