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

📄 init_thread_calc_data.cpp

📁 利用c++语言写的三维FDTD
💻 CPP
📖 第 1 页 / 共 5 页
字号:

	//6
	Data_Ey_PML[5].F = Fy_6;           Data_Ey_PML[5].G = Gy_6; 
	Data_Ey_PML[5].K_G_a = K_Gy_a_1;   Data_Ey_PML[5].K_G_b = K_Gy_b_1; 
	Data_Ey_PML[5].K_E_a = K_Ey_a_2;   Data_Ey_PML[5].K_E_b = K_Ey_b_2; 
	Data_Ey_PML[5].nx_1 = nx_MIN_nPML_x_2; Data_Ey_PML[5].nx_2 = nx_MIN_1;    
	Data_Ey_PML[5].ny_1 = nPML_y_1;    Data_Ey_PML[5].ny_2 = ny_MIN_1_MIN_nPML_y_2; 
	Data_Ey_PML[5].nz_2 = nPML_z_1;	   Data_Ey_PML[5].c_PML_x = nPML_x_2_MIN_1;
	Data_Ey_PML[5].cnst = TwoOREp0;

	//7
	Data_Ey_PML[6].F = Fy_7;           Data_Ey_PML[6].G = Gy_7; 
	Data_Ey_PML[6].K_G_a = K_Gy_a_1;   Data_Ey_PML[6].K_G_b = K_Gy_b_1; 
	Data_Ey_PML[6].K_E_a = K_Ey_a_1;   Data_Ey_PML[6].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[6].K_E_c = K_Ey_c_2;   Data_Ey_PML[6].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[6].nx_2 = nPML_x_1;    Data_Ey_PML[6].ny_1 = ny_MIN_1_MIN_nPML_y_2;
	Data_Ey_PML[6].ny_2 = ny_MIN_1;    Data_Ey_PML[6].nz_2 = nPML_z_1;
	Data_Ey_PML[6].c_PML_y = nPML_y_2_MIN_1;

	//8
	Data_Ey_PML[7].F = Fy_8;           Data_Ey_PML[7].G = Gy_8; 
	Data_Ey_PML[7].K_G_a = K_Gy_a_1;   Data_Ey_PML[7].K_G_b = K_Gy_b_1; 
	Data_Ey_PML[7].K_E_c = K_Ey_c_2;   Data_Ey_PML[7].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[7].nx_1 = nPML_x_1;    Data_Ey_PML[7].nx_2 = nx_MIN_nPML_x_2;
	Data_Ey_PML[7].ny_1 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[7].ny_2 = ny_MIN_1;
	Data_Ey_PML[7].nz_2 = nPML_z_1;	   Data_Ey_PML[7].c_PML_y = nPML_y_2_MIN_1;
	Data_Ey_PML[7].cnst = inv_TwoOREp0;

	//9
	Data_Ey_PML[8].F = Fy_9;           Data_Ey_PML[8].G = Gy_9; 
	Data_Ey_PML[8].K_G_a = K_Gy_a_1;   Data_Ey_PML[8].K_G_b = K_Gy_b_1; 
	Data_Ey_PML[8].K_E_a = K_Ey_a_2;   Data_Ey_PML[8].K_E_b = K_Ey_b_2; 
	Data_Ey_PML[8].K_E_c = K_Ey_c_2;   Data_Ey_PML[8].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[8].nx_1 = nx_MIN_nPML_x_2; Data_Ey_PML[8].nx_2 = nx_MIN_1;
	Data_Ey_PML[8].ny_1 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[8].ny_2 = ny_MIN_1;
	Data_Ey_PML[8].nz_2 = nPML_z_1;    Data_Ey_PML[8].c_PML_x = nPML_x_2_MIN_1;
	Data_Ey_PML[8].c_PML_y = nPML_y_2_MIN_1;

	//10
	Data_Ey_PML[9].F = Fy_10;         
	Data_Ey_PML[9].K_E_a = K_Ey_a_1;   Data_Ey_PML[9].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[9].K_E_c = K_Ey_c_1;   Data_Ey_PML[9].K_E_d = K_Ey_d_1; 
	Data_Ey_PML[9].nx_2 = nPML_x_1;    Data_Ey_PML[9].ny_2 = nPML_y_1; 
    Data_Ey_PML[9].nz_1 = nPML_z_1;    Data_Ey_PML[9].nz_2 = nz_MIN_nPML_z_2;

	//11
	Data_Ey_PML[10].F = Fy_11;          Data_Ey_PML[10].K_E_c = K_Ey_c_1;   
	Data_Ey_PML[10].K_E_d = K_Ey_d_1;   Data_Ey_PML[10].nx_1 = nPML_x_1;   
	Data_Ey_PML[10].nx_2 = nx_MIN_nPML_x_2;  Data_Ey_PML[10].ny_2 = nPML_y_1; 
    Data_Ey_PML[10].nz_1 = nPML_z_1;    Data_Ey_PML[10].nz_2 = nz_MIN_nPML_z_2;
	Data_Ey_PML[10].cnst = inv_TwoOREp0;

	//12
	Data_Ey_PML[11].F = Fy_12;          Data_Ey_PML[11].K_E_a = K_Ey_a_2;  
	Data_Ey_PML[11].K_E_b = K_Ey_b_2;   Data_Ey_PML[11].K_E_c = K_Ey_c_1;   
	Data_Ey_PML[11].K_E_d = K_Ey_d_1;   Data_Ey_PML[11].nx_1 = nx_MIN_nPML_x_2; 
	Data_Ey_PML[11].nx_2 = nx_MIN_1;    Data_Ey_PML[11].ny_2 = nPML_y_1; 
    Data_Ey_PML[11].nz_1 = nPML_z_1;    Data_Ey_PML[11].nz_2 = nz_MIN_nPML_z_2;
	Data_Ey_PML[11].c_PML_x = nPML_x_2_MIN_1;

	//13
	Data_Ey_PML[12].F = Fy_13;         
	Data_Ey_PML[12].K_E_a = K_Ey_a_1;   Data_Ey_PML[12].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[12].nx_2 = nPML_x_1;    Data_Ey_PML[12].ny_1 = nPML_y_1; 
	Data_Ey_PML[12].ny_2 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[12].nz_1 = nPML_z_1;   
	Data_Ey_PML[12].nz_2 = nz_MIN_nPML_z_2; Data_Ey_PML[12].cnst = TwoOREp0;

	//15
	Data_Ey_PML[13].F = Fy_15;          Data_Ey_PML[13].K_E_a = K_Ey_a_2;   
	Data_Ey_PML[13].K_E_b = K_Ey_b_2;   Data_Ey_PML[13].nx_1 = nx_MIN_nPML_x_2;  
	Data_Ey_PML[13].nx_2 = nx_MIN_1;    Data_Ey_PML[13].ny_1 = nPML_y_1;   
	Data_Ey_PML[13].ny_2 = ny_MIN_1_MIN_nPML_y_2;  Data_Ey_PML[13].nz_1 = nPML_z_1;  
	Data_Ey_PML[13].nz_2 = nz_MIN_nPML_z_2; Data_Ey_PML[13].c_PML_x = nPML_x_2_MIN_1; 
	Data_Ey_PML[13].cnst = TwoOREp0;

	//16
	Data_Ey_PML[14].F = Fy_16;         
	Data_Ey_PML[14].K_E_a = K_Ey_a_1;   Data_Ey_PML[14].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[14].K_E_c = K_Ey_c_2;   Data_Ey_PML[14].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[14].nx_2 = nPML_x_1;    Data_Ey_PML[14].ny_1 = ny_MIN_1_MIN_nPML_y_2;
	Data_Ey_PML[14].ny_2 = ny_MIN_1;    Data_Ey_PML[14].nz_1 = nPML_z_1;   
	Data_Ey_PML[14].nz_2 = nz_MIN_nPML_z_2; Data_Ey_PML[14].c_PML_y = nPML_y_2_MIN_1;

	//17
	Data_Ey_PML[15].F = Fy_17;         
	Data_Ey_PML[15].K_E_c = K_Ey_c_2;   Data_Ey_PML[15].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[15].nx_1 = nPML_x_1;    Data_Ey_PML[15].nx_2 = nx_MIN_nPML_x_2;    
	Data_Ey_PML[15].ny_1 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[15].ny_2 = ny_MIN_1; 
	Data_Ey_PML[15].nz_1 = nPML_z_1;    Data_Ey_PML[15].nz_2 = nz_MIN_nPML_z_2;
	Data_Ey_PML[15].c_PML_y = nPML_y_2_MIN_1; Data_Ey_PML[15].cnst = inv_TwoOREp0;

	//18
	Data_Ey_PML[16].F = Fy_18;          Data_Ey_PML[16].K_E_a = K_Ey_a_2;  
	Data_Ey_PML[16].K_E_b = K_Ey_b_2;   Data_Ey_PML[16].K_E_c = K_Ey_c_2;   
	Data_Ey_PML[16].K_E_d = K_Ey_d_2;   Data_Ey_PML[16].nx_1 = nx_MIN_nPML_x_2; 
	Data_Ey_PML[16].nx_2 = nx_MIN_1;    Data_Ey_PML[16].ny_1 = ny_MIN_1_MIN_nPML_y_2;
	Data_Ey_PML[16].ny_2 = ny_MIN_1;    Data_Ey_PML[16].nz_1 = nPML_z_1;   
	Data_Ey_PML[16].nz_2 = nz_MIN_nPML_z_2; Data_Ey_PML[16].c_PML_x = nPML_x_2_MIN_1;
	Data_Ey_PML[16].c_PML_y = nPML_y_2_MIN_1;

	//19
	Data_Ey_PML[17].F = Fy_19;          Data_Ey_PML[17].G = Gy_19; 
	Data_Ey_PML[17].K_G_a = K_Gy_a_2;   Data_Ey_PML[17].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[17].K_E_a = K_Ey_a_1;   Data_Ey_PML[17].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[17].K_E_c = K_Ey_c_1;   Data_Ey_PML[17].K_E_d = K_Ey_d_1; 
	Data_Ey_PML[17].nx_2 = nPML_x_1;    Data_Ey_PML[17].ny_2 = nPML_y_1; 
    Data_Ey_PML[17].nz_1 = nz_MIN_nPML_z_2; Data_Ey_PML[17].nz_2 = nz_MIN_1;
	Data_Ey_PML[17].c_PML_z = nPML_z_2_MIN_1;

	//20
	Data_Ey_PML[18].F = Fy_20;          Data_Ey_PML[18].G = Gy_20; 
	Data_Ey_PML[18].K_G_a = K_Gy_a_2;   Data_Ey_PML[18].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[18].K_E_c = K_Ey_c_1;   Data_Ey_PML[18].K_E_d = K_Ey_d_1; 
	Data_Ey_PML[18].nx_1 = nPML_x_1;    Data_Ey_PML[18].nx_2 = nx_MIN_nPML_x_2;
	Data_Ey_PML[18].ny_2 = nPML_y_1;    Data_Ey_PML[18].nz_1 = nz_MIN_nPML_z_2; 
	Data_Ey_PML[18].nz_2 = nz_MIN_1;    Data_Ey_PML[18].c_PML_z = nPML_z_2_MIN_1;
	Data_Ey_PML[18].cnst = inv_TwoOREp0;
		
	//21
	Data_Ey_PML[19].F = Fy_21;          Data_Ey_PML[19].G = Gy_21; 
	Data_Ey_PML[19].K_G_a = K_Gy_a_2;   Data_Ey_PML[19].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[19].K_E_a = K_Ey_a_2;   Data_Ey_PML[19].K_E_b = K_Ey_b_2; 
	Data_Ey_PML[19].K_E_c = K_Ey_c_1;   Data_Ey_PML[19].K_E_d = K_Ey_d_1; 
	Data_Ey_PML[19].nx_1 = nx_MIN_nPML_x_2; Data_Ey_PML[19].nx_2 = nx_MIN_1;
	Data_Ey_PML[19].ny_2 = nPML_y_1;    Data_Ey_PML[19].nz_1 = nz_MIN_nPML_z_2; 
	Data_Ey_PML[19].nz_2 = nz_MIN_1;    Data_Ey_PML[19].c_PML_x = nPML_x_2_MIN_1;
	Data_Ey_PML[19].c_PML_z = nPML_z_2_MIN_1;
	
	//22
	Data_Ey_PML[20].F = Fy_22;          Data_Ey_PML[20].G = Gy_22; 
	Data_Ey_PML[20].K_G_a = K_Gy_a_2;   Data_Ey_PML[20].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[20].K_E_a = K_Ey_a_1;   Data_Ey_PML[20].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[20].nx_2 = nPML_x_1;    Data_Ey_PML[20].ny_1 = nPML_y_1; 
	Data_Ey_PML[20].ny_2 = ny_MIN_1_MIN_nPML_y_2; 
	Data_Ey_PML[20].nz_1 = nz_MIN_nPML_z_2; Data_Ey_PML[20].nz_2 = nz_MIN_1;
	Data_Ey_PML[20].c_PML_z = nPML_z_2_MIN_1; Data_Ey_PML[20].cnst = TwoOREp0;

	//23
	Data_Ey_PML[21].F = Fy_23;          Data_Ey_PML[21].K_G_a = K_Gy_a_2;
	Data_Ey_PML[21].K_G_b = K_Gy_b_2;   Data_Ey_PML[21].nx_1 = nPML_x_1;
	Data_Ey_PML[21].nx_2 = nx_MIN_nPML_x_2; Data_Ey_PML[21].ny_1 = nPML_y_1; 
	Data_Ey_PML[21].ny_2 = ny_MIN_1_MIN_nPML_y_2; 
	Data_Ey_PML[21].nz_1 = nz_MIN_nPML_z_2; 
	Data_Ey_PML[21].nz_2 = nz_MIN_1;    Data_Ey_PML[21].c_PML_z = nPML_z_2_MIN_1;

	//24
	Data_Ey_PML[22].F = Fy_24;          Data_Ey_PML[22].G = Gy_24; 
	Data_Ey_PML[22].K_G_a = K_Gy_a_2;   Data_Ey_PML[22].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[22].K_E_a = K_Ey_a_2;   Data_Ey_PML[22].K_E_b = K_Ey_b_2; 
	Data_Ey_PML[22].nx_1 = nx_MIN_nPML_x_2; Data_Ey_PML[22].nx_2 = nx_MIN_1;    
	Data_Ey_PML[22].ny_1 = nPML_y_1;    Data_Ey_PML[22].ny_2 = ny_MIN_1_MIN_nPML_y_2; 
	Data_Ey_PML[22].nz_1 = nz_MIN_nPML_z_2; Data_Ey_PML[22].nz_2 = nz_MIN_1;	 
	Data_Ey_PML[22].c_PML_x = nPML_x_2_MIN_1; Data_Ey_PML[22].c_PML_z = nPML_z_2_MIN_1;
	Data_Ey_PML[22].cnst = TwoOREp0;
	
	//25
	Data_Ey_PML[23].F = Fy_25;          Data_Ey_PML[23].G = Gy_25; 
	Data_Ey_PML[23].K_G_a = K_Gy_a_2;   Data_Ey_PML[23].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[23].K_E_a = K_Ey_a_1;   Data_Ey_PML[23].K_E_b = K_Ey_b_1; 
	Data_Ey_PML[23].K_E_c = K_Ey_c_2;   Data_Ey_PML[23].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[23].nx_2 = nPML_x_1;    Data_Ey_PML[23].ny_1 = ny_MIN_1_MIN_nPML_y_2;
	Data_Ey_PML[23].ny_2 = ny_MIN_1;    Data_Ey_PML[23].nz_1 = nz_MIN_nPML_z_2; 
	Data_Ey_PML[23].nz_2 = nz_MIN_1;    Data_Ey_PML[23].c_PML_y = nPML_y_2_MIN_1;
	Data_Ey_PML[23].c_PML_z = nPML_z_2_MIN_1;

	//26
	Data_Ey_PML[24].F = Fy_26;          Data_Ey_PML[24].G = Gy_26; 
	Data_Ey_PML[24].K_G_a = K_Gy_a_2;   Data_Ey_PML[24].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[24].K_E_c = K_Ey_c_2;   Data_Ey_PML[24].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[24].nx_1 = nPML_x_1;    Data_Ey_PML[24].nx_2 = nx_MIN_nPML_x_2;
	Data_Ey_PML[24].ny_1 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[24].ny_2 = ny_MIN_1;
	Data_Ey_PML[24].nz_1 = nz_MIN_nPML_z_2; Data_Ey_PML[24].nz_2 = nz_MIN_1;	
	Data_Ey_PML[24].c_PML_y = nPML_y_2_MIN_1; Data_Ey_PML[24].c_PML_z = nPML_z_2_MIN_1;
	Data_Ey_PML[24].cnst = inv_TwoOREp0;

	//27
	Data_Ey_PML[25].F = Fy_27;          Data_Ey_PML[25].G = Gy_27; 
	Data_Ey_PML[25].K_G_a = K_Gy_a_2;   Data_Ey_PML[25].K_G_b = K_Gy_b_2; 
	Data_Ey_PML[25].K_E_a = K_Ey_a_2;   Data_Ey_PML[25].K_E_b = K_Ey_b_2; 
	Data_Ey_PML[25].K_E_c = K_Ey_c_2;   Data_Ey_PML[25].K_E_d = K_Ey_d_2; 
	Data_Ey_PML[25].nx_1 = nx_MIN_nPML_x_2; Data_Ey_PML[25].nx_2 = nx_MIN_1;
	Data_Ey_PML[25].ny_1 = ny_MIN_1_MIN_nPML_y_2; Data_Ey_PML[25].ny_2 = ny_MIN_1;
	Data_Ey_PML[25].nz_1 = nz_MIN_nPML_z_2; Data_Ey_PML[25].nz_2 = nz_MIN_1;    
	Data_Ey_PML[25].c_PML_x = nPML_x_2_MIN_1; Data_Ey_PML[25].c_PML_y = nPML_y_2_MIN_1;
	Data_Ey_PML[25].c_PML_z = nPML_z_2_MIN_1;
}

////////////////////////////////////////////////////////////////////
//Init threads parameters in the PML zone --Ez
////////////////////////////////////////////////////////////////////
void Init_Thread_Calc_PML_Ez(Data_E_comp_PML *Data_Ez_PML, 
				double ***Fz_1,  double ***Gz_1,  double ***Fz_2,  double ***Fz_3,
				double ***Gz_3,  double ***Fz_4,  double ***Gz_4,  double ***Fz_5,
				double ***Fz_6,  double ***Gz_6,  double ***Fz_7,  double ***Gz_7,
				double ***Fz_8,  double ***Fz_9,  double ***Gz_9,  double ***Fz_10,
				double ***Gz_10, double ***Fz_11, double ***Fz_12, double ***Gz_12, 
				double ***Fz_13, double ***Fz_15, double ***Fz_16, double ***Gz_16,
				double ***Fz_17, double ***Fz_18, double ***Gz_18, double ***Fz_19,
				double ***Gz_19, double ***Fz_20, double ***Fz_21, double ***Gz_21,
				double ***Fz_22, double ***Gz_22, double ***Fz_23, double ***Fz_24,
				double ***Gz_24, double ***Fz_25, double ***Gz_25, double ***Fz_26, 
				double ***Fz_27, double ***Gz_27, double ***Ez,    double ***Hx,
			    double ***Hy,    long ***Index,    double **K_a,    double **K_b,
				double *K_Gz_a_1, double *K_Gz_b_1, double *K_Ez_a_1, double *K_Ez_b_1,
				double *K_Ez_c_1, double *K_Ez_d_1, double *K_Gz_a_2, double *K_Gz_b_2,
				double *K_Ez_a_2, double *K_Ez_b_2, double *K_Ez_c_2, double *K_Ez_d_2,
				long nPML_x_1, long nPML_y_1, long nPML_z_1, long nPML_x_2, long nPML_y_2, 
				long nPML_z_2, long nx, long ny, long nz, double inv_dx, double inv_dy, 
				double TwoOREp0, double inv_TwoOREp0)
{
	long i;

	long nx_MIN_1 = nx - 1;
	long ny_MIN_1 = ny - 1;
	long nz_MIN_1 = nz - 1;

	long nx_MIN_nPML_x_2 = nx - nPML_x_2;
	long ny_MIN_nPML_y_2 = ny - nPML_y_2;
	
	long nz_MIN_1_MIN_nPML_z_2 = nz - 1 - nPML_z_2;

	long nPML_x_2_MIN_1 = nPML_x_2 - 1;
	long nPML_y_2_MIN_1 = nPML_y_2 - 1;
	long nPML_z_2_MIN_1 = nPML_z_2 - 1;

    //set the same elements for all regions 
	for (i = 0; i<26; i++) 
	{
		Data_Ez_PML[i].E = Ez;           Data_Ez_PML[i].Ind = Index;
		Data_Ez_PML[i].H1 = Hx;          Data_Ez_PML[i].H2 = Hy; 
		Data_Ez_PML[i].Ka = K_a[i];      Data_Ez_PML[i].Kb = K_b[i];
		Data_Ez_PML[i].inv_d1 = inv_dx;  Data_Ez_PML[i].inv_d2 = inv_dy; 
	}

	//set the particular elements
	//1
	Data_Ez_PML[0].F  = Fz_1;            Data_Ez_PML[0].G  = Gz_1; 
	Data_Ez_PML[1].F  = Fz_2;            
	Data_Ez_PML[2].F  = Fz_3;            Data_Ez_PML[2].G  = Gz_3; 
	Data_Ez_PML[3].F  = Fz_4;            Data_Ez_PML[3].G  = Gz_4; 
	Data_Ez_PML[4].F  = Fz_5;            
	Data_Ez_PML[5].F  = Fz_6;            Data_Ez_PML[5].G  = Gz_6; 
	Data_Ez_PML[6].F  = Fz_7;            Data_Ez_PML[6].G  = Gz_7; 
	Data_Ez_PML[7].F  = Fz_8;            
	Data_Ez_PML[8].F  = Fz_9;            Data_Ez_PML[8].G  = Gz_9; 
	Data_Ez_PML[9].F  = Fz_10;           Data_Ez_PML[9].G  = Gz_10; 
	Data_Ez_PML[10].F = Fz_11;          
	Data_Ez_PML[11].F = Fz_12;           Data_Ez_PML[11].G = Gz_12; 
	Data_Ez_PML[12].F = Fz_13;            
	          
	Data_Ez_PML[13].F = Fz_15;           
	Data_Ez_PML[14].F = Fz_16;           Data_Ez_PML[14].G = Gz_16; 
	Data_Ez_PML[15].F = Fz_17;           
	Data_Ez_PML[16].F = Fz_18;           Data_Ez_PML[16].G = Gz_18; 
	Data_Ez_PML[17].F = Fz_19;           Data_Ez_PML[17].G = Gz_19; 
	Data_Ez_PML[18].F = Fz_20;            
	Data_Ez_PML[19].F = Fz_21;           Data_Ez_PML[19].G = Gz_21; 
	Data_Ez_PML[20].F = Fz_22;           Data_Ez_PML[20].G = Gz_22; 
	Data_Ez_PML[21].F = Fz_23;            
	Data_Ez_PML[22].F = Fz_24;           Data_Ez_PML[22].G = Gz_24; 
	Data_Ez_PML[23].F = Fz_25;           Data_Ez_PML[23].G = Gz_25; 
	Data_Ez_PML[24].F = Fz_26;            
	Data_Ez_PML[25].F = Fz_27;           Data_Ez_PML[25].G = Gz_27;

	long ind;
	//x component I zone - (1 4 7 10 13 16 19 22 25)
	for (i = 0; i<27; i=i+3)
	{
		if (i < 13)
		{
			ind = i;
		}
		else
		{
			ind = i - 1;
		}

		Data_Ez_PML[ind].K_G_a = K_Gz_a_1;     Data_Ez_PML[ind].K_G_b = K_Gz_b_1; 
		Data_Ez_PML[ind].nx_2 = nPML_x_1;
		//cout << ind << "  " << Data_Ez_PML[ind].nx_2 << endl;
	}

	//x component II zone - (2 5 8 11 14 17 20 23 26)
	for (i = 1; i<27; i=i+3)
	{
		if (i < 13)
		{
			ind = i;
		}
		else
		{
			ind = i - 1;
		}

		if (ind != 12)
		{
			Data_Ez_PML[ind].nx_1 = nPML_x_1;     Data_Ez_PML[ind].nx_2 = nx_MIN_nPML_x_2;
			//cout << ind << "  " << Data_Ez_PML[ind].nx_2 << endl;
		}
	}
	
	//x component III zone - (3 6 9 12 15 18 21 24 27)
	for (i = 2; i<27; i=i+3)
	{
		if (i < 13)
		{
			ind = i;
		}
		else
		{
			ind = i - 1;
		}

		Data_Ez_PML[ind].K_G_a = K_Gz_a_2;         Data_Ez_PML[ind].K_G_b = K_Gz_b_2;
		Data_Ez_PML[ind].nx_1 = nx_MIN_nPML_x_2;   Data_Ez_PML[ind].nx_2 = nx_MIN_1;
		Data_Ez_PML[ind].c_PML_x = nPML_x_2_MIN_1;
		//cout << ind << "  " << Data_Ez_PML[ind].nx_2 << endl;
	}
	////////////////////////

	//y component I zone - (1 2 3 10 11 12 19 20 21)
	long ii = 0;
	long jel = 0;
	for (i = 0; i<9; i++)
	{
		if (jel == 3)
		{
			jel = 0;
			ii = ii + 6;
		}

		if (ii < 13)
		{
			ind = ii;
		}
		else
		{
			ind = ii - 1;
		}
		
		Data_Ez_PML[ind].K_E_a = K_Ez_a_1;     Data_Ez_PML[ind].K_E_b = K_Ez_b_1;
		Data_Ez_PML[ind].ny_2 = nPML_y_1;
		
		ii++;
		jel++;
	}

	//y component II zone - (4 5 6 13 14 15 22 23 24)
	ii = 3;
	jel = 0;
	for (i = 0; i<9; i++)
	{
		if (jel == 3)
		{
			jel = 0;
			ii = ii + 6;
		}
		
		if (ii < 13)
		{
			ind = ii;
		}

⌨️ 快捷键说明

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