📄 parameter.h
字号:
/* * * Basic Parameter Definition * *//***** Input basic parameters *****/const double H = 0.01; // Cell size of fine division regionconst double dx_sub = H;const double dy_sub = H;const double dz_sub = H;const double Ratio = 2.0; // Ratio of two kinds of mesh sizeconst double Sx = 0.6; // Size of computing space [m]const double Sy = 0.6;const double Sz = 0.3;const int nt = 6000; // Iterationconst int z_length = 12; // Length of monopole antenna [cell]const int cell = 2; // Cell number of fine division region(x & y axis)const int cell_z = 14; // Cell number of fine division region(z axis)const int x_sub_length = cell;const int y_sub_length = cell;const int z_sub_length = cell_z;const double dx = dx_sub*Ratio; // Cell size of coarse division regionconst double dy = dy_sub*Ratio;const double dz = dz_sub*Ratio;const int xs = (int)(cell*2+(Sx-cell*2*dx_sub)/dx)+1;const int ys = (int)(cell*2+(Sy-cell*2*dy_sub)/dy)+1;const int zs = (int)(cell_z+(Sz-cell_z*dz_sub)/dz)+1;const int Fx = (int)(xs/2); // Feed Point (x)const int Fy = (int)(ys/2); // Feed Point (y)const int Fz = 0; // Feed Point (z)/***** End of defining basic parameters *****/const double PI = 3.1415927;const double C = 2.99792458e+8;double_complex J = double_complex(0.0, 1.0);const double giga = 1.0e+9;const double E_0 = 8.854e-12;const double Mu_0 = PI*(4.0e-7);const double Z_0 = (double)sqrt(Mu_0/E_0);const double dxt_sub = C/dx_sub; // Time step sizeconst double dyt_sub = C/dy_sub;const double dzt_sub = C/dz_sub;const double ts = 1.0/sqrt(pow(dxt_sub,2.0)+pow(dyt_sub,2.0)+pow(dzt_sub,2.0));const double rh1 = ts/Mu_0; // Coefficient for Computation of H Componentsconst double rh2 = ts/E_0; // Coefficient for Computation of E Componentsconst double Inter11 = (Ratio-1)/(Ratio+1); //Coefficient for Linear Interpolationconst double Inter12 = 2/(Ratio+1);const double Inter21 = -(Ratio-1)/(2*Ratio);const double Inter22 = (3*Ratio-1)/(2*Ratio);const double vvx = C*ts-dx; // Coefficient for A.B.C. (Ex component)const double wwx = C*ts+dx;const double ux1 = vvx/wwx;const double ux2 = 2.0*dx/wwx;const double ux3 = dx*pow(C*ts,2.0)/(2.0*dy*dy*wwx);const double ux4 = dx*pow(C*ts,2.0)/(2.0*dz*dz*wwx);const double ux3_sub = dx*pow(C*ts,2.0)/(2.0*dy_sub*dy_sub*wwx);const double ux4_sub = dx*pow(C*ts,2.0)/(2.0*dz_sub*dz_sub*wwx);const double vvy = C*ts-dy; // Coefficient for A.B.C. (Ey component)const double wwy = C*ts+dy;const double uy1 = vvy/wwy;const double uy2 = 2.0*dy/wwy;const double uy3 = dy*pow(C*ts,2.0)/(2.0*dz*dz*wwy);const double uy4 = dy*pow(C*ts,2.0)/(2.0*dx*dx*wwy);const double uy3_sub = dy*pow(C*ts,2.0)/(2.0*dz_sub*dz_sub*wwy);const double uy4_sub = dy*pow(C*ts,2.0)/(2.0*dx_sub*dx_sub*wwy);const double vvz = C*ts-dz; // Coefficient for A.B.C. (Ez component)const double wwz = C*ts+dz;const double uz1 = vvz/wwz;const double uz2 = 2.0*dz/wwz;const double uz3 = dz*pow(C*ts,2.0)/(2.0*dx*dx*wwz);const double uz4 = dz*pow(C*ts,2.0)/(2.0*dy*dy*wwz);const double uz3_sub = dz*pow(C*ts,2.0)/(2.0*dx_sub*dx_sub*wwz);const double uz4_sub = dz*pow(C*ts,2.0)/(2.0*dy_sub*dy_sub*wwz);double hxi[xs+1][ys][zs] = {0.0};double hyi[xs][ys+1][zs] = {0.0};double hzi[xs][ys][zs+1] = {0.0};double exi[xs][ys+1][zs+1] = {0.0};double eyi[xs+1][ys][zs+1] = {0.0};double ezi[xs+1][ys+1][zs] = {0.0};double exiya1[xs][2][zs+1] = {0.0};double exiyb1[xs][ys][zs+1] = {0.0};double exiza1[xs][ys+1][2] = {0.0};double exizb1[xs][ys+1][zs+1] = {0.0};double exiya2[xs][2][zs+1] = {0.0};double exiyb2[xs][ys+1][zs+1] = {0.0};double exiza2[xs][ys+1][2] = {0.0};double exizb2[xs][ys+1][zs+1] = {0.0};double eyiza1[xs+1][ys][2] = {0.0};double eyizb1[xs+1][ys][zs+1] = {0.0};double eyixa1[2][ys][zs+1] = {0.0};double eyixb1[xs+1][ys][zs+1] = {0.0};double eyiza2[xs+1][ys][2] = {0.0};double eyizb2[xs+1][ys][zs+1] = {0.0};double eyixa2[2][ys][zs+1] = {0.0};double eyixb2[xs+1][ys][zs+1] = {0.0};double ezixa1[2][ys+1][zs] = {0.0};double ezixb1[xs+1][ys+1][zs] = {0.0};double eziya1[xs+1][2][zs] = {0.0};double eziyb1[xs+1][ys+1][zs] = {0.0};double ezixa2[2][ys+1][zs] = {0.0};double ezixb2[xs+1][ys+1][zs] = {0.0};double eziya2[xs+1][2][zs] = {0.0};double eziyb2[xs+1][ys+1][zs] = {0.0};double hx_y_absorb[xs+1][2][zs] = {0.0};double hx_z_absorb[xs+1][ys][2] = {0.0};double hy_x_absorb[2][ys+1][zs] = {0.0};double hy_z_absorb[xs][ys+1][2] = {0.0};double hz_x_absorb[2][ys][zs+1] = {0.0};double hz_y_absorb[xs][2][zs+1] = {0.0};FILE *fp,*fin,*fout;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -