📄 fdtd_1d.cpp
字号:
#include"fdtd.h"
#define source sins(n)
void main()
{
int k,n,N;
double *ex=new double[MZ+1];
double *hy=new double[MZ];
for(k=0;k<MZ+1;k++) ex[k]=0.0;
for(k=0;k<MZ;k++) hy[k]=0.0;
ofstream fref,fdef,fsta;
fref.open("ref.dat");
fdef.open("def.dat");
fsta.open("sta.dat");
cout<<"Input N:"<<endl;
cin>>N;
Zeroinit();
for(n=1;n<=N;n++){
for(k=0;k<K1;k++) HYi[k]=mtz1[K1-k-1]*HYi[k]+(mtz2[K1-k-1]/dz)*(EXi[k]-EXi[k+1]);//PML
for(k=K1;k<K2;k++) HYi[k]+=(tem2/dz)*(EXi[k]-EXi[k+1]);
for(k=K2;k<MZ;k++) HYi[k]=mtz1[k-K2]*HYi[k]+(mtz2[k-K2]/dz)*(EXi[k]-EXi[k+1]);//PML
// HYi[K1+1]=sins(n)/yta0;
for(k=1;k<=K1;k++) EXi[k]=etz1[K1-k]*EXi[k]+(etz2[K1-k]/dz)*(HYi[k-1]-HYi[k]);//PML
for(k=K1+1;k<K2;k++) EXi[k]+=(tem1/dz)*(HYi[k-1]-HYi[k]);
for(k=K2;k<MZ;k++) EXi[k]=etz1[k-K2]*EXi[k]+(etz2[k-K2]/dz)*(HYi[k-1]-HYi[k]); //PML
EXi[K1+1]=source;
cout<<n<<endl;
fref<<EXi[kk0-2]<<endl;
fdef<<EXi[kk1-2]<<endl;
fsta<<EXi[K1+11]<<endl;
};
fref.close();
fdef.close();
fsta.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -