📄 adi_modify.cpp
字号:
#include"fdtd.h"
#define source sins(n)
void main()
{
int k,n,N,r;
double *a=new double[MZ+1];
double *b=new double[MZ+1];
double *c=new double[MZ+1];
double *f=new double[MZ+1];
for(k=0;k<MZ+1;k++) a[k]=0.0;
for(k=0;k<MZ+1;k++) b[k]=0.0;
for(k=0;k<MZ+1;k++) c[k]=0.0;
for(k=0;k<MZ+1;k++) f[k]=0.0;
ofstream fref,fdef,fsta;
fref.open("r_mo.dat");
fdef.open("d_mo.dat");
fsta.open("s_mo.dat");
cout<<"Input N:"<<endl;
cin>>N;
Zeroinit();
for(n=1;n<=N;n++){
EXi[0]=0;
// HYi[0]=0.5*(HYi[0]-2.0*dt/miu/dz*EXi[1]);
double tempEXi[MZ];
for(k=0;k<MZ;k++) tempEXi[k]=EXi[k];
for(k=1;k<MZ;k++) {
a[k-1]=1.0;
c[k-1]=1.0;
b[k-1]=-2.0-xisu;
f[k-1]=-1.0*EXi[k+1]+(2.0-xisu)*EXi[k]-EXi[k-1]+(4.0*miu*dz/dt)*(HYi[k]-HYi[k-1]);
}
int max; max=MZ-1;
tri_matrix(max,a,b,c,f);
for(r=0; r<max; r++) EXi[r+1]=f[r];
for(k=1;k<MZ-1;k++) HYi[k]+=(-0.5*tem2/dz)*(EXi[k+1]-EXi[k]+tempEXi[k+1]-tempEXi[k]);
// HYi[K1+1]=sins(n)/yta0;
EXi[K1+1]=source;
EXi[MZ]=0;
// HYi[MZ-1]=0.5*(HYi[MZ-1]+2.0*dt/miu/dz*EXi[MZ-2]);
cout<<n<<" "<<EXi[kk0-2]<<endl;
fref<<EXi[K1+5]<<endl;
fdef<<EXi[kk1-2]<<endl;
fsta<<EXi[11]<<endl;
};
fref.close();
fdef.close();
fsta.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -