⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdtd_1d.cpp

📁 一维ADiFDTD算法的改进
💻 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 + -