登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
各位牛人看一下三维的迭代程序哪出错了 计 ..
发帖
回复
761
阅读
2
回复
[
求助
]
各位牛人看一下三维的迭代程序哪出错了 计算的值偏小一个数量级
离线
mvpjwill
UID :40975
注册:
2009-09-06
登录:
2012-05-20
发帖:
68
等级:
仿真一级
0楼
发表于: 2011-12-11 15:58:21
这个是EX的迭代程序 计算的是填充部分介质波导 ,我想问一下 这个分裂场的写法是否正确呢 ?因为之前做散射时 这样的写法 结果也偏小,但是简单易懂
C &y 2I
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)
OXn-!J90P
{
MH0wpHz
int i,j,k,l;
kp#XpcS
double pd1,pd2;
?Mn~XN4F_
for(i = ls-1;i<=meshnum_x-ls;i++)
15yiDI o
{
ze21Uj1x*
for(j = ls;j<=meshnum_y-ls;j++)
[JV?Mdzu
{
u6| IKZ
for(k = ls;k<=meshnum_z-ls;k++)
F/3L^k]
{
VN'\c3;
pd1=0;
VE}r'MBk
pd2=0;
(@;^uVJP
for(l = 0;l<= 2*ls-1;l++)
$`lm]} {&
{
LXPO@2QF
pd1 += lag[1][l]*hz
[j-ls+l][k]; // 高阶部分 计算的一阶导数
YHMJ5IM@.
pd2 += lag[1][l]*hy
[j][k-ls+l];
sf:IA%.4t
}
k!'+7K.
pd1=pd1/dy;
%5nEyZOq
pd2=pd2/dz;
GSd:Plc%
1kR. .p<"
exy
[j][k]=exy
[j][k] + d*dt/epsilon
[j][k]*pd1; //分裂的部分
Hi*|f!,H?
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;
=E^/gc%X
ex
[j][k] = exy
[j][k] +exz
[j][k];
1}+b4"7]
}
oXN(S:ZF
  ..
|f!J-H)
lcgG5/82
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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
发帖
回复