登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
lorentz模型的电场update程序不正确,请高手指 ..
发帖
回复
1033
阅读
2
回复
lorentz模型的电场update程序不正确,请高手指正!
离线
caocheng82
UID :10116
注册:
2008-03-28
登录:
2025-05-26
发帖:
697
等级:
积极交流六级
0楼
发表于: 2009-11-13 22:02:52
— 本帖被 gwzhao 执行加亮操作(2009-11-14) —
按照Taflove 3rd P386的式子,得到如下的参数设置:
IsxPm9P2<
rk*Igqf
sigma_e=0.;
p%EU,:I6
lorentz.alpha=(2.-pow(lorentz.w*dt,2.))/(1.+lorentz.damp*dt);
>*(4evU
lorentz.ksai =(-1.+lorentz.damp*dt)/(1.+lorentz.damp*dt);
R"Nvnpm
lorentz.gama=(e0*(lorentz.einf-lorentz.e0)*pow(lorentz.w*dt,2.))/(1.+lorentz.damp*dt);
Y5&Jgn.l
.^>[@w3
C1=1./2.*lorentz.gama/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
1k6f|Al-
C2=(2.*e0*lorentz.einf-sigma_e*dt)/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
Wp/!;
C3=2.*dt/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
\:mx Ri
以及电场迭代公式:
Dq/[g,(
double tmp_ez=ez
[j];
:0$(umW@I"
double tmp_jz=jz
[j];
TS^(<+'
ez
[j]=C1*ez_1
[j]+C2*ez
[j]+C3*(CROSS(i,j)-
i;;CU9`E2q
1./2.*(1.+lorentz.alpha)*jz
[j]+lorentz.ksai*jz_1
[j]);
}jBr[S5
8W)3rD>
jz
[j]=lorentz.alpha*jz
[j]+lorentz.ksai*jz_1
[j]+
0N$tSTo.-<
lorentz.gama*(ez
[j]-ez_1
[j])/(2.*dt);
`e .;P
)_"Cz".|9
ez_1
[j]=tmp_ez;
U>7"BpC
..
Y$uXBTR`y/
Ck8`$x&t
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
caocheng82
UID :10116
注册:
2008-03-28
登录:
2025-05-26
发帖:
697
等级:
积极交流六级
1楼
发表于: 2009-11-13 22:07:02
为什么代码上传后都叠在一起了,看不清楚。
共
条评分
离线
caocheng82
UID :10116
注册:
2008-03-28
登录:
2025-05-26
发帖:
697
等级:
积极交流六级
2楼
发表于: 2009-11-21 11:25:17
问题已经解决,程序当中的系数错了。
共
1
条评分
gwzhao
rf币
+3
积极参与
2009-11-21
发帖
回复