www.pudn.com > 2D-TM.rar > 2d_farfield.h
//See:IEEE TAP:vol39,no4,page 429
#define LightSpeed 3.0e+8
const int InitAngle=180;//180;
const int Increament=1;
const int AngleNum=1;
const double RadPerDegree=pii/180.0;
class FarField{
private:
int i1,i2,j1,j2;
vector Origin;
public:
vector (*FieldValue)[AngleNum];
double phi;
int index;
FarField(int nmax,int ii1,int ii2,int jj1,int jj2);
void NearToFarEz(int timestep,double** NearField);
void NearToFarHx(int timestep,double** NearField);
void NearToFarHy(int timestep,double** NearField);
void DataOut();
};
FarField::FarField(int nmax,int ii1,int ii2,int jj1,int jj2){
int in,an;
i1=ii1;i2=ii2;j1=jj1;j2=jj2;
Origin=vector((i1+i2)/2.0,(j1+j2)/2.0,0.0);//中心点
index=nmax+(int)(sqrt((i2-i1)*(i2-i1)*dx*dx+(j2-j1)*(j2-j1)*dy*dy)/(LightSpeed*dt))+1;//最大需存贮空间
FieldValue=new vector[index][AngleNum];
for(in=0;in