登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
求助:FDTD算法计算结果电场值正常,磁场值 ..
发帖
回复
1288
阅读
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个时间步还是这样的结果,请各位高手不吝赐教·~·~
|b.z*G
计算磁场、电场的程序如下:
A Y9 9!p
DA = 1.0;
\N6\v5vh
DB = dt / muO;
$G!R,eQ
;ojiJ?jU
for(k = 1; k < K-1; ++k) {
]?<n#=eW
5<R%H{3j
pJ^NA2
for (i = 0; i < I-1; ++i) {
lU.Kc
74J@F2g}?
bB6[Xj{
for (j = 0; j < J-1; ++j) {
"(TkJbwC[
;O=h$8]
63&^BW
Hx
[j][k] = DA * Hx
[j][k] + DB *
Vfs$VY2.
((Ez
[j][k] - Ez
[j+1][k]) / dy+
<$i4?)f(
(Ey
[j][k] - Ey
[j][k-1]) / dz);
=r4!V>
}
!1Y&Y@ze
}
S~yR5cb
^mPPyT ,(
w{,4rk;Hr
7"2b H
7$uJ7`e
y8 E}2/
double CA_(double epsr, double sigr)
")UwkF
{
UY>v"M
double ca;
_8fA?q=
ca = (1.0 - sigr * dt / (2.0 * epsr * epsO)) /
k$"d^*R
(1.0 + sigr * dt / (2.0 * epsr * epsO));
HuI`#.MpWE
return ca;
-$-8W
}
0b-?q&*_
double CB_(double epsr, double sigr)
E^V|
{
W!la -n
double cb;
jna;0)
cb = (dt / (epsr * epsO)) /
\caH pof
(1.0 + sigr * dt / (2.0 * epsr * epsO));
{aOkV::
return cb;
r o\1]`6
}
0D ~ Tga)
-_0?_Cb
jai|/"HSXw
77,oPLSn
for(k = 0; k < K-1; ++k) {
eN>0wd5{L
B$a-og(
#I0pYA2m
for(i = 0; i < I-1; ++i) {
ZxHJ<2oD
`jsEN ;<
9lzQ\}
for(j = 1; j < J-1; ++j) {
@wN G
7+,vTsCd
"v]%3i.* -
epsR = ID1_EpsR
[j][k];
M\oVA=d\0
sigR = ID1_SigR
[j][k];
h5~n 1qX
if(epsR < -0.1) { // PEC
5<+K?uhm
$:bih4@>
Ex
[j][k] = 0;
6NLW(?]
W`)<vGn=Y
p]gT&[iJ
} else {
_GA$6#]
1|| nR4yK
Akk 3 Qx
Ex
[j][k] = CA_(epsR,sigR) * Ex
[j][k] + CB_(epsR,sigR) *
/iQ(3F
((Hz
[j][k] - Hz
[j-1][k ..
Z S|WnMH
SaDA`JmO
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
1楼
发表于: 2010-07-17 13:16:10
没有人知道原因吗
共
条评分
发帖
回复