登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
关于FDTD一维的一个C程序大家帮忙修改一下不 ..
发帖
回复
1145
阅读
2
回复
[
求助
]
关于FDTD一维的一个C程序大家帮忙修改一下不能运行
离线
郝晓东
UID :95999
注册:
2012-06-22
登录:
2014-05-10
发帖:
46
等级:
仿真新人
0楼
发表于: 2013-07-04 15:04:35
h0ufl.N_%
#include<math.h>
C~IsYdln
#include<stdlib.h>
u6{=Z :
#include<stdio.h>
'`$z!rA
#define KE 200
Gj[`r
main()
,b2YUb]U
{
7jIye 8Zi8
float ex[KE],hy[KE];
j_\nsM7
int n,k,kc,ke,NSTEPS;
hm"i\JZ3N
float T;
:uE:mY%R
float t0,spread,pulse;
u/3[6MIp
FILE *fp,*fopen();
?z>7&
for(k=1;k<KE;k++)
1'wwwxe7
{ex[k]=0;
@Omgk=6
hy[k]=0;}
[;3` Aw
kc=KE/2;
RM8p[lfX
t0=40.0;
X#KC<BXw,
spread=12;
zyyt`
T=0;
e"9u}-Q@
NSTEPS=1;
.'QE o
while(NSTEPS>0)
`,XCD-R^
{
],l w
printf("NSTEPS-->");
D7.|UG?G
scanf("%d",&NSTEPS);
#?/&H;n_8S
printf("%d\n",NSTEPS);
Fdsaf[3[v
n=0;
m%Ah]x;
for(n=1;n<=NSTEPS;n++)
GMqeC
{T=T+1;
+.gM"JV
for(k=1;k<KE;k++)
z DDvXz
{ex[k]=ex[k]+0.5(hy[k-1]-hy[k]);}
:=q blc
pulse=exp(-0.5*(pow((t0-T)/spread,2.0)));
<WN?
ex[kc]=pulse;
jU\vg;nr
printf("%5.1f %6.2f\n",t0-T,ex[kc]);}
}!=}g|z#|
for(k=0;k<KE-1;k++)
7p'L(dq
{hy[k]=hy[k]+0.5*(ex[k]-ex[k+1]);}
41f4zisZ
}
w8$rt
for(k=1;k<KE;k++)
'|mVY; i[
{printf("%3d %6.2f %6.2f\n",k,ex[k],hy[k]);}
\ 8v{9Yb
fp=fopen("Ex","w");
W<<{}'Db/#
for(k=1;k<KE;k++)
xxWrSl`fB
{fprintf(fp," %6.2f\n",ex[k]);}
$I40 hk
fclose(fp);
dc[w`
fp=fopen("Hy","w");
V7}5Zw1
for(k=1;k<KE;k++)
cNX,%
{fprintf(f ..
^V]DQ%v"I
gFR9!=,/V%
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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你可以看看
共
条评分
发帖
回复