登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
关于FDTD一维的一个C程序大家帮忙修改一下不 ..
发帖
回复
1147
阅读
2
回复
[
求助
]
关于FDTD一维的一个C程序大家帮忙修改一下不能运行
离线
郝晓东
UID :95999
注册:
2012-06-22
登录:
2014-05-10
发帖:
46
等级:
仿真新人
0楼
发表于: 2013-07-04 15:04:35
0GS{F8f~,
#include<math.h>
vJ~4D*(]l
#include<stdlib.h>
DL %S(l
#include<stdio.h>
mMV2h|W
#define KE 200
DgC3> yL
main()
]NbX`'
{
Y+!Ouc!$
float ex[KE],hy[KE];
^GE^Q\&D&
int n,k,kc,ke,NSTEPS;
FwXKRZa
float T;
P8"6"}B;T
float t0,spread,pulse;
ESn6D@"
FILE *fp,*fopen();
<V7SSm
for(k=1;k<KE;k++)
n?zbUA#
{ex[k]=0;
Fq vQk
hy[k]=0;}
1XqIPiXJ
kc=KE/2;
aB=vu=hF
t0=40.0;
KbXbT
spread=12;
@bc[ eas
T=0;
hU 9\y
NSTEPS=1;
,2RC |h^O,
while(NSTEPS>0)
j?Cr31
{
d&NCFx
printf("NSTEPS-->");
SAd97A:
scanf("%d",&NSTEPS);
@c6"RHG9
printf("%d\n",NSTEPS);
I/mvQxp
n=0;
C(EYM$
for(n=1;n<=NSTEPS;n++)
c9\B[@-q
{T=T+1;
8$2l^
for(k=1;k<KE;k++)
$dlnmNP+
{ex[k]=ex[k]+0.5(hy[k-1]-hy[k]);}
\_lG#p|
pulse=exp(-0.5*(pow((t0-T)/spread,2.0)));
7bA4P*
ex[kc]=pulse;
+R2^* *<
printf("%5.1f %6.2f\n",t0-T,ex[kc]);}
M4zX*&w.T
for(k=0;k<KE-1;k++)
BO?mQu~
{hy[k]=hy[k]+0.5*(ex[k]-ex[k+1]);}
mGt\7&`
}
0q:(-z\S4
for(k=1;k<KE;k++)
>{j,+$%kp
{printf("%3d %6.2f %6.2f\n",k,ex[k],hy[k]);}
zY]Bu-S3
fp=fopen("Ex","w");
{z.[tvE8h
for(k=1;k<KE;k++)
2=igS#h
{fprintf(fp," %6.2f\n",ex[k]);}
LN@lrC7X
fclose(fp);
]jHgo](%
fp=fopen("Hy","w");
]#Y|
for(k=1;k<KE;k++)
H;b8I
{fprintf(f ..
^;0~6uBEJr
T[i7C3QS
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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你可以看看
共
条评分
发帖
回复