登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
求助:FDTD算法计算结果电场值正常,磁场值 ..
发帖
回复
1287
阅读
1
回复
[
求助
]
求助:FDTD算法计算结果电场值正常,磁场值偏差较大。
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
0楼
发表于: 2010-07-16 15:34:08
— 本帖被 admin 从 【互助速问速答有求速应】 移动到本区(2010-08-13) —
求助各位高手,本人新手,新编写的3D的FDTD算法的C程序,采用的是正弦波源(硬源),计算结果与采用相同波源的XFDTD的计算结果比较发现,电场值的差别很小,但磁场值的差别却很大,十分不解,按理说如果是磁场计算方式有误的话应该会影响电场值的计算,但是运行了600个时间步还是这样的结果,请各位高手不吝赐教·~·~
d->b9
计算磁场、电场的程序如下:
{K|{a
DA = 1.0;
p[/n[@<8=
DB = dt / muO;
P0z "Eq0S
:JN3@NsK
for(k = 1; k < K-1; ++k) {
1gt[_P2u
I+<`}
k,@1rOf
for (i = 0; i < I-1; ++i) {
Jz|(B_U
tjTF?>^6|
ZO;]Zt]
for (j = 0; j < J-1; ++j) {
';lO[B
k[zf`x^
pD>3c9J'^F
Hx
[j][k] = DA * Hx
[j][k] + DB *
>)5vsqGZaK
((Ez
[j][k] - Ez
[j+1][k]) / dy+
v(t&8)Uu
(Ey
[j][k] - Ey
[j][k-1]) / dz);
snK9']WXo
}
t6"4+:c!>
}
aSK$#Xeu
&G"]v]V
3AB5Qs<
/z'j:~`E
-[7.VP
@eMyq1ZU
double CA_(double epsr, double sigr)
'{+hti,Lh
{
ILVbbC`D
double ca;
1u`Z?S(
ca = (1.0 - sigr * dt / (2.0 * epsr * epsO)) /
X<?;-HrS;
(1.0 + sigr * dt / (2.0 * epsr * epsO));
2xnOWW
return ca;
%(e=Q^=
}
UbYKiLDF)
double CB_(double epsr, double sigr)
H{}6`;W
{
P;y/`_jo
double cb;
>N3{*W
cb = (dt / (epsr * epsO)) /
jxoEOEA
(1.0 + sigr * dt / (2.0 * epsr * epsO));
xj~6,;83xR
return cb;
q OXL(
}
3n/L;T,X
\agC Q&
x[?_F
r;'!qwr
for(k = 0; k < K-1; ++k) {
o j^U
)l"0:1I g
pE`(kD
for(i = 0; i < I-1; ++i) {
EP8LJzd"
vIG,!^*3
'*-SvA\Cx
for(j = 1; j < J-1; ++j) {
.DX#:?@4@Y
~ACB#D%
m2}&5vD8-
epsR = ID1_EpsR
[j][k];
@%TQ/L^|
sigR = ID1_SigR
[j][k];
NKGCz|- 9
if(epsR < -0.1) { // PEC
3gM{lS}h#
^ID%pd
Ex
[j][k] = 0;
\.{JS>!
bHMlh^{`%
F-R`'{ ka
} else {
lu{}j4
mrbIoN==`
dqkkA/1
Ex
[j][k] = CA_(epsR,sigR) * Ex
[j][k] + CB_(epsR,sigR) *
rvG qUmSUs
((Hz
[j][k] - Hz
[j-1][k ..
l-Xxv
K l4",
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
1楼
发表于: 2010-07-17 13:16:10
没有人知道原因吗
共
条评分
发帖
回复