plasma.h
来自「该代码可以用来计算二维TM波的FDTD程序。 外加理想匹配层(PML)。 有」· C头文件 代码 · 共 51 行
H
51 行
#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 + =
减小字号Ctrl + -
显示快捷键?