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

📄 plasma.h

📁 该代码可以用来计算二维TM波的FDTD程序。 外加理想匹配层(PML)。 有一定的广泛性。
💻 H
字号:

#define CollisionalFreq 5.0e10

double PlasmaFreq(int i,int j)
{
    double z;
	double density;
	double DensityBase=0.0e17;
	double DensityHight=5.0e17;

//  double z=Target_X-sqrt((i-MX/2)*(i-MX/2)+(j-MY/2)*(j-MY/2));
	if(abs(i-MX/2)>=(Target_X-rPlasma))
		z=abs(i-MX/2)-Target_X+rPlasma;
	if(abs(j-MY/2)>=(Target_X-rPlasma))
    	z=abs(j-MX/2)-Target_X+rPlasma;
		
	//均匀密度分布:
//	density=DensityHight;	
	//线性密度分布:
//	density=DensityBase+DensityHight*z/rPlasma;
	//抛物线密度分布:
	density=DensityBase+DensityHight*(-z*z+rPlasma*rPlasma)/(rPlasma*rPlasma);

	double temp;
	temp=density*1.6*1.6/(8.842*9.11);
	temp=sqrt(temp*100000);
	return temp;//wp.
}

double chi(int m,int i,int j)
{
	double wp,vc;
	wp=PlasmaFreq(i,j);
	vc=CollisionalFreq;
	return wp*wp*dt/vc-(wp*wp/(vc*vc))*(1.0-exp(-vc*dt))*exp(-m*vc*dt);
}

double xi(int m,int i,int j)
{
	double wp,vc,xi;
	wp=PlasmaFreq(i,j);
	vc=CollisionalFreq;
	xi=wp*wp*dt/(2.0*vc);
	return xi-wp*wp/(vc*vc*vc*dt)*(1.0-(1.0+vc*dt)*exp(-vc*dt))*exp(-m*vc*dt);
	//return 0.0;

}

inline double dChi0(int i,int j)	{	return chi(0,i,j)-chi(1,i,j);}
inline double dXi0(int i,int j)		{	return xi(0,i,j)-xi(1,i,j);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -