登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
求助:FDTD算法计算结果电场值正常,磁场值 ..
发帖
回复
1286
阅读
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个时间步还是这样的结果,请各位高手不吝赐教·~·~
!"e5~7
计算磁场、电场的程序如下:
]skkoM
DA = 1.0;
;raN
DB = dt / muO;
.uNQBBNv
c/_+o;Bc
for(k = 1; k < K-1; ++k) {
Ou{v/'9z,
)'*5R <#
l>Ub!^;
for (i = 0; i < I-1; ++i) {
7' S @3
%0? M?Jf
odg<q$34
for (j = 0; j < J-1; ++j) {
^$&k5e/}C
/y^7p9Z`
_fZZ_0\Q
Hx
[j][k] = DA * Hx
[j][k] + DB *
#Rg|BfV-
((Ez
[j][k] - Ez
[j+1][k]) / dy+
iCHt1VV]
(Ey
[j][k] - Ey
[j][k-1]) / dz);
tzy'G"P|
}
+ >cBVx6
}
"5eNLqt^q
WM)-J^)BJ
>J|]moSVA
^ wY[3"{
[F5h
s?ko?qN(
double CA_(double epsr, double sigr)
K|DWu8
{
7\ nf:.
double ca;
#2`D`>7456
ca = (1.0 - sigr * dt / (2.0 * epsr * epsO)) /
ICAH G7 ,
(1.0 + sigr * dt / (2.0 * epsr * epsO));
7LO%#No",
return ca;
Cgz D$`~
}
rQ=,y>-*
double CB_(double epsr, double sigr)
Q5%#^ZdsTd
{
:VF<9@t
double cb;
CRbdAqofV
cb = (dt / (epsr * epsO)) /
%*#n d
(1.0 + sigr * dt / (2.0 * epsr * epsO));
Hcc"b0>}{
return cb;
V/LQ<Yke
}
H3Se={5h\A
SZJ$w-<z
4A9{=~nwT
xQw7 :18wQ
for(k = 0; k < K-1; ++k) {
&-5_f*{
zni)<fmju
Isx#9C
for(i = 0; i < I-1; ++i) {
?BhMjsy.
|Yq$sU
p-+K4
for(j = 1; j < J-1; ++j) {
JWA@+u*k
w&xDOyW]
2>*%q%81
epsR = ID1_EpsR
[j][k];
e[Abp~@M1
sigR = ID1_SigR
[j][k];
D~o$GW%
if(epsR < -0.1) { // PEC
y^7}oH _
vP+@z-O
Ex
[j][k] = 0;
g@\fZTO
rpw.]vnn
waKT{5k
} else {
p">EHWc}D
KRjV}\}
:8A!HI}m{
Ex
[j][k] = CA_(epsR,sigR) * Ex
[j][k] + CB_(epsR,sigR) *
Bo5ZZY
((Hz
[j][k] - Hz
[j-1][k ..
R0oKbs{
QM?#{%31
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
1楼
发表于: 2010-07-17 13:16:10
没有人知道原因吗
共
条评分
发帖
回复