登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
lorentz模型的电场update程序不正确,请高手指 ..
发帖
回复
1032
阅读
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的式子,得到如下的参数设置:
K-)_1
[E2afC>zrl
sigma_e=0.;
cuBOE2vB.
lorentz.alpha=(2.-pow(lorentz.w*dt,2.))/(1.+lorentz.damp*dt);
yVUA7IY
lorentz.ksai =(-1.+lorentz.damp*dt)/(1.+lorentz.damp*dt);
$91c9z;f^
lorentz.gama=(e0*(lorentz.einf-lorentz.e0)*pow(lorentz.w*dt,2.))/(1.+lorentz.damp*dt);
]/HSlT=
fg%I?ou
C1=1./2.*lorentz.gama/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
II)\rVP5
C2=(2.*e0*lorentz.einf-sigma_e*dt)/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
bec n$R
C3=2.*dt/(2.*e0*lorentz.einf+1./2.*lorentz.gama+sigma_e*dt);
N/TUcG|m\
以及电场迭代公式:
WHqp7NPl
double tmp_ez=ez
[j];
'[~NRKQJ
double tmp_jz=jz
[j];
G7pj.rQ
ez
[j]=C1*ez_1
[j]+C2*ez
[j]+C3*(CROSS(i,j)-
6/wAvPB$
1./2.*(1.+lorentz.alpha)*jz
[j]+lorentz.ksai*jz_1
[j]);
wZh&w<l'
?2%d;tW
jz
[j]=lorentz.alpha*jz
[j]+lorentz.ksai*jz_1
[j]+
r{$ip"f
lorentz.gama*(ez
[j]-ez_1
[j])/(2.*dt);
B+iVK(j'[v
m-dne/%_
ez_1
[j]=tmp_ez;
/0d_{Y+9
..
hkJ4,.
=ILs[p
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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
发帖
回复