登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
关于FDTD一维的一个C程序大家帮忙修改一下不 ..
发帖
回复
1148
阅读
2
回复
[
求助
]
关于FDTD一维的一个C程序大家帮忙修改一下不能运行
离线
郝晓东
UID :95999
注册:
2012-06-22
登录:
2014-05-10
发帖:
46
等级:
仿真新人
0楼
发表于: 2013-07-04 15:04:35
/XjN%|
#include<math.h>
jjYM3LQcdP
#include<stdlib.h>
|}%(6<
#include<stdio.h>
9y;y7i{>?
#define KE 200
`~0P[>|+
main()
otoBb^Mz
{
!+5C{Hs2
float ex[KE],hy[KE];
a (P^e)<
int n,k,kc,ke,NSTEPS;
P4i3y{$V
float T;
TLXhE(o|o
float t0,spread,pulse;
C0P*D,
FILE *fp,*fopen();
Q +R3H,
for(k=1;k<KE;k++)
`D4oAx d9
{ex[k]=0;
iJEB?y
hy[k]=0;}
vuAQm}A4'g
kc=KE/2;
"^Y6ctw
t0=40.0;
:EYu 4Y
spread=12;
H\ {E%7^h-
T=0;
Lf[G>0t&n
NSTEPS=1;
bkxk i@t
while(NSTEPS>0)
OTnu{<.a
{
P=&'wblm?
printf("NSTEPS-->");
GJ.kkTMT
scanf("%d",&NSTEPS);
xq#U4E
printf("%d\n",NSTEPS);
=DGn,i9
n=0;
$+A%ODv
for(n=1;n<=NSTEPS;n++)
Gv!BB=ir(
{T=T+1;
r9+E'\
for(k=1;k<KE;k++)
vYYS.ve
{ex[k]=ex[k]+0.5(hy[k-1]-hy[k]);}
KuIBYaK, g
pulse=exp(-0.5*(pow((t0-T)/spread,2.0)));
=fL6uFmxI@
ex[kc]=pulse;
M' a&
printf("%5.1f %6.2f\n",t0-T,ex[kc]);}
y{@P1{
for(k=0;k<KE-1;k++)
YCir Oge
{hy[k]=hy[k]+0.5*(ex[k]-ex[k+1]);}
&G0l&8pa
}
14mXx}O
for(k=1;k<KE;k++)
}Q47_]5
{printf("%3d %6.2f %6.2f\n",k,ex[k],hy[k]);}
eo>/
fp=fopen("Ex","w");
TP{>O%b
for(k=1;k<KE;k++)
<WZ1-
{fprintf(fp," %6.2f\n",ex[k]);}
unC t4uX^
fclose(fp);
pESB Il
fp=fopen("Hy","w");
&oon'q5;
for(k=1;k<KE;k++)
#> 7')G
{fprintf(f ..
IlcNT_ 5a8
UOn! Y@
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
nqx2012
UID :110358
注册:
2013-08-04
登录:
2015-01-25
发帖:
24
等级:
仿真新人
1楼
发表于: 2013-09-03 08:06:37
你是哪里出的问题?
共
条评分
离线
yaomei18
UID :1577
注册:
2007-04-04
登录:
2025-04-28
发帖:
221
等级:
仿真三级
2楼
发表于: 2013-11-16 10:22:07
我上传了一个C++一维FDTD你可以看看
共
条评分
发帖
回复