?? alloc_save_load_field_thread.cpp
字號:
Allocate_FGE_y->size[7][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[7][2] = nPML_z_1;
//Fy_5
Allocate_FGE_y->size[8][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[8][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[8][2] = nPML_z_1;
//Fy_6
Allocate_FGE_y->size[9][0] = nPML_x_2;
Allocate_FGE_y->size[9][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[9][2] = nPML_z_1;
//Gy_6
Allocate_FGE_y->size[10][0] = nPML_x_2;
Allocate_FGE_y->size[10][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[10][2] = nPML_z_1;
//Fy_7
Allocate_FGE_y->size[11][0] = nPML_x_1;
Allocate_FGE_y->size[11][1] = nPML_y_2;
Allocate_FGE_y->size[11][2] = nPML_z_1;
//Gy_7
Allocate_FGE_y->size[12][0] = nPML_x_1;
Allocate_FGE_y->size[12][1] = nPML_y_2;
Allocate_FGE_y->size[12][2] = nPML_z_1;
//Fy_8
Allocate_FGE_y->size[13][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[13][1] = nPML_y_2;
Allocate_FGE_y->size[13][2] = nPML_z_1;
//Gy_8
Allocate_FGE_y->size[14][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[14][1] = nPML_y_2;
Allocate_FGE_y->size[14][2] = nPML_z_1;
//Fy_9
Allocate_FGE_y->size[15][0] = nPML_x_2;
Allocate_FGE_y->size[15][1] = nPML_y_2;
Allocate_FGE_y->size[15][2] = nPML_z_1;
//Gy_9
Allocate_FGE_y->size[16][0] = nPML_x_2;
Allocate_FGE_y->size[16][1] = nPML_y_2;
Allocate_FGE_y->size[16][2] = nPML_z_1;
//Fy_10
Allocate_FGE_y->size[17][0] = nPML_x_1;
Allocate_FGE_y->size[17][1] = nPML_y_1;
Allocate_FGE_y->size[17][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_11
Allocate_FGE_y->size[18][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[18][1] = nPML_y_1;
Allocate_FGE_y->size[18][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_12
Allocate_FGE_y->size[19][0] = nPML_x_2;
Allocate_FGE_y->size[19][1] = nPML_y_1;
Allocate_FGE_y->size[19][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_13
Allocate_FGE_y->size[20][0] = nPML_x_1;
Allocate_FGE_y->size[20][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[20][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_15
Allocate_FGE_y->size[21][0] = nPML_x_2;
Allocate_FGE_y->size[21][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[21][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_16
Allocate_FGE_y->size[22][0] = nPML_x_1;
Allocate_FGE_y->size[22][1] = nPML_y_2;
Allocate_FGE_y->size[22][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_17
Allocate_FGE_y->size[23][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[23][1] = nPML_y_2;
Allocate_FGE_y->size[23][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_18
Allocate_FGE_y->size[24][0] = nPML_x_2;
Allocate_FGE_y->size[24][1] = nPML_y_2;
Allocate_FGE_y->size[24][2] = nz_MIN_nPML_z_1_MIN_nPML_z_2;
//Fy_19
Allocate_FGE_y->size[25][0] = nPML_x_1;
Allocate_FGE_y->size[25][1] = nPML_y_1;
Allocate_FGE_y->size[25][2] = nPML_z_2;
//Gy_19
Allocate_FGE_y->size[26][0] = nPML_x_1;
Allocate_FGE_y->size[26][1] = nPML_y_1;
Allocate_FGE_y->size[26][2] = nPML_z_2;
//Fy_20
Allocate_FGE_y->size[27][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[27][1] = nPML_y_1;
Allocate_FGE_y->size[27][2] = nPML_z_2;
//Gy_20
Allocate_FGE_y->size[28][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[28][1] = nPML_y_1;
Allocate_FGE_y->size[28][2] = nPML_z_2;
//Fy_21
Allocate_FGE_y->size[29][0] = nPML_x_2;
Allocate_FGE_y->size[29][1] = nPML_y_1;
Allocate_FGE_y->size[29][2] = nPML_z_2;
//Gy_21
Allocate_FGE_y->size[30][0] = nPML_x_2;
Allocate_FGE_y->size[30][1] = nPML_y_1;
Allocate_FGE_y->size[30][2] = nPML_z_2;
//Fy_22
Allocate_FGE_y->size[31][0] = nPML_x_1;
Allocate_FGE_y->size[31][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[31][2] = nPML_z_2;
//Gy_22
Allocate_FGE_y->size[32][0] = nPML_x_1;
Allocate_FGE_y->size[32][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[32][2] = nPML_z_2;
//Fy_23
Allocate_FGE_y->size[33][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[33][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[33][2] = nPML_z_2;
//Fy_24
Allocate_FGE_y->size[34][0] = nPML_x_2;
Allocate_FGE_y->size[34][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[34][2] = nPML_z_2;
//Gy_24
Allocate_FGE_y->size[35][0] = nPML_x_2;
Allocate_FGE_y->size[35][1] = ny_MIN_1_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_y->size[35][2] = nPML_z_2;
//Fy_25
Allocate_FGE_y->size[36][0] = nPML_x_1;
Allocate_FGE_y->size[36][1] = nPML_y_2;
Allocate_FGE_y->size[36][2] = nPML_z_2;
//Gy_25
Allocate_FGE_y->size[37][0] = nPML_x_1;
Allocate_FGE_y->size[37][1] = nPML_y_2;
Allocate_FGE_y->size[37][2] = nPML_z_2;
//Fy_26
Allocate_FGE_y->size[38][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[38][1] = nPML_y_2;
Allocate_FGE_y->size[38][2] = nPML_z_2;
//Gy_26
Allocate_FGE_y->size[39][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_y->size[39][1] = nPML_y_2;
Allocate_FGE_y->size[39][2] = nPML_z_2;
//Fy_27
Allocate_FGE_y->size[40][0] = nPML_x_2;
Allocate_FGE_y->size[40][1] = nPML_y_2;
Allocate_FGE_y->size[40][2] = nPML_z_2;
//Gy_27
Allocate_FGE_y->size[41][0] = nPML_x_2;
Allocate_FGE_y->size[41][1] = nPML_y_2;
Allocate_FGE_y->size[41][2] = nPML_z_2;
//Ey
Allocate_FGE_y->size[42][0] = nx;
Allocate_FGE_y->size[42][1] = ny - 1;
Allocate_FGE_y->size[42][2] = nz;
}
////////////////////////////////////////////////////////////////////
//Collect the information - Ez field
////////////////////////////////////////////////////////////////////
void Init_Alloc_FzGzEz(Allocate_E_comp *Allocate_FGE_z, 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, 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)
{
long nx_MIN_nPML_x_1_MIN_nPML_x_2 = nx - nPML_x_1 - nPML_x_2;
long ny_MIN_nPML_y_1_MIN_nPML_y_2 = ny - nPML_y_1 - nPML_y_2;
long nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2 = nz - 1 - nPML_z_1 - nPML_z_2;
Allocate_FGE_z->A[0] = &Fz_1; Allocate_FGE_z->A[1] = &Gz_1; Allocate_FGE_z->A[2] = &Fz_2;
Allocate_FGE_z->A[3] = &Fz_3; Allocate_FGE_z->A[4] = &Gz_3; Allocate_FGE_z->A[5] = &Fz_4;
Allocate_FGE_z->A[6] = &Gz_4; Allocate_FGE_z->A[7] = &Fz_5; Allocate_FGE_z->A[8] = &Fz_6;
Allocate_FGE_z->A[9] = &Gz_6; Allocate_FGE_z->A[10] = &Fz_7; Allocate_FGE_z->A[11] = &Gz_7;
Allocate_FGE_z->A[12] = &Fz_8; Allocate_FGE_z->A[13] = &Fz_9; Allocate_FGE_z->A[14] = &Gz_9;
Allocate_FGE_z->A[15] = &Fz_10; Allocate_FGE_z->A[16] = &Gz_10; Allocate_FGE_z->A[17] = &Fz_11;
Allocate_FGE_z->A[18] = &Fz_12; Allocate_FGE_z->A[19] = &Gz_12; Allocate_FGE_z->A[20] = &Fz_13;
Allocate_FGE_z->A[21] = &Fz_15; Allocate_FGE_z->A[22] = &Fz_16; Allocate_FGE_z->A[23] = &Gz_16;
Allocate_FGE_z->A[24] = &Fz_17; Allocate_FGE_z->A[25] = &Fz_18; Allocate_FGE_z->A[26] = &Gz_18;
Allocate_FGE_z->A[27] = &Fz_19; Allocate_FGE_z->A[28] = &Gz_19; Allocate_FGE_z->A[29] = &Fz_20;
Allocate_FGE_z->A[30] = &Fz_21; Allocate_FGE_z->A[31] = &Gz_21; Allocate_FGE_z->A[32] = &Fz_22;
Allocate_FGE_z->A[33] = &Gz_22; Allocate_FGE_z->A[34] = &Fz_23; Allocate_FGE_z->A[35] = &Fz_24;
Allocate_FGE_z->A[36] = &Gz_24; Allocate_FGE_z->A[37] = &Fz_25; Allocate_FGE_z->A[38] = &Gz_25;
Allocate_FGE_z->A[39] = &Fz_26; Allocate_FGE_z->A[40] = &Fz_27; Allocate_FGE_z->A[41] = &Gz_27;
Allocate_FGE_z->A[42] = &Ez;
Allocate_FGE_z->er = 0;
strcpy(&Allocate_FGE_z->name[0][0],"Fz_1"); strcpy(&Allocate_FGE_z->name[1][0],"Gz_1");
strcpy(&Allocate_FGE_z->name[2][0],"Fz_2"); strcpy(&Allocate_FGE_z->name[3][0],"Fz_3");
strcpy(&Allocate_FGE_z->name[4][0],"Gz_3"); strcpy(&Allocate_FGE_z->name[5][0],"Fz_4");
strcpy(&Allocate_FGE_z->name[6][0],"Gz_4"); strcpy(&Allocate_FGE_z->name[7][0],"Fz_5");
strcpy(&Allocate_FGE_z->name[8][0],"Fz_6"); strcpy(&Allocate_FGE_z->name[9][0],"Gz_6");
strcpy(&Allocate_FGE_z->name[10][0],"Fz_7"); strcpy(&Allocate_FGE_z->name[11][0],"Gz_7");
strcpy(&Allocate_FGE_z->name[12][0],"Fz_8"); strcpy(&Allocate_FGE_z->name[13][0],"Fz_9");
strcpy(&Allocate_FGE_z->name[14][0],"Gz_9"); strcpy(&Allocate_FGE_z->name[15][0],"Fz_10");
strcpy(&Allocate_FGE_z->name[16][0],"Gz_10"); strcpy(&Allocate_FGE_z->name[17][0],"Fz_11");
strcpy(&Allocate_FGE_z->name[18][0],"Fz_12"); strcpy(&Allocate_FGE_z->name[19][0],"Gz_12");
strcpy(&Allocate_FGE_z->name[20][0],"Fz_13"); strcpy(&Allocate_FGE_z->name[21][0],"Fz_15");
strcpy(&Allocate_FGE_z->name[22][0],"Fz_16"); strcpy(&Allocate_FGE_z->name[23][0],"Gz_16");
strcpy(&Allocate_FGE_z->name[24][0],"Fz_17"); strcpy(&Allocate_FGE_z->name[25][0],"Fz_18");
strcpy(&Allocate_FGE_z->name[26][0],"Gz_18"); strcpy(&Allocate_FGE_z->name[27][0],"Fz_19");
strcpy(&Allocate_FGE_z->name[28][0],"Gz_19"); strcpy(&Allocate_FGE_z->name[29][0],"Fz_20");
strcpy(&Allocate_FGE_z->name[30][0],"Fz_21"); strcpy(&Allocate_FGE_z->name[31][0],"Gz_21");
strcpy(&Allocate_FGE_z->name[32][0],"Fz_22"); strcpy(&Allocate_FGE_z->name[33][0],"Gz_22");
strcpy(&Allocate_FGE_z->name[34][0],"Fz_23"); strcpy(&Allocate_FGE_z->name[35][0],"Fz_24");
strcpy(&Allocate_FGE_z->name[36][0],"Gz_24"); strcpy(&Allocate_FGE_z->name[37][0],"Fz_25");
strcpy(&Allocate_FGE_z->name[38][0],"Gz_25"); strcpy(&Allocate_FGE_z->name[39][0],"Fz_26");
strcpy(&Allocate_FGE_z->name[40][0],"Fz_27"); strcpy(&Allocate_FGE_z->name[41][0],"Gz_27");
strcpy(&Allocate_FGE_z->name[42][0],"Ez");
//Fz_1
Allocate_FGE_z->size[0][0] = nPML_x_1;
Allocate_FGE_z->size[0][1] = nPML_y_1;
Allocate_FGE_z->size[0][2] = nPML_z_1;
//Gz_1
Allocate_FGE_z->size[1][0] = nPML_x_1;
Allocate_FGE_z->size[1][1] = nPML_y_1;
Allocate_FGE_z->size[1][2] = nPML_z_1;
//Fz_2
Allocate_FGE_z->size[2][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_z->size[2][1] = nPML_y_1;
Allocate_FGE_z->size[2][2] = nPML_z_1;
//Fz_3
Allocate_FGE_z->size[3][0] = nPML_x_2;
Allocate_FGE_z->size[3][1] = nPML_y_1;
Allocate_FGE_z->size[3][2] = nPML_z_1;
//Gz_3
Allocate_FGE_z->size[4][0] = nPML_x_2;
Allocate_FGE_z->size[4][1] = nPML_y_1;
Allocate_FGE_z->size[4][2] = nPML_z_1;
//Fz_4
Allocate_FGE_z->size[5][0] = nPML_x_1;
Allocate_FGE_z->size[5][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[5][2] = nPML_z_1;
//Gz_4
Allocate_FGE_z->size[6][0] = nPML_x_1;
Allocate_FGE_z->size[6][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[6][2] = nPML_z_1;
//Fz_5
Allocate_FGE_z->size[7][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_z->size[7][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[7][2] = nPML_z_1;
//Fz_6
Allocate_FGE_z->size[8][0] = nPML_x_2;
Allocate_FGE_z->size[8][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[8][2] = nPML_z_1;
//Gz_6
Allocate_FGE_z->size[9][0] = nPML_x_2;
Allocate_FGE_z->size[9][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[9][2] = nPML_z_1;
//Fz_7
Allocate_FGE_z->size[10][0] = nPML_x_1;
Allocate_FGE_z->size[10][1] = nPML_y_2;
Allocate_FGE_z->size[10][2] = nPML_z_1;
//Gz_7
Allocate_FGE_z->size[11][0] = nPML_x_1;
Allocate_FGE_z->size[11][1] = nPML_y_2;
Allocate_FGE_z->size[11][2] = nPML_z_1;
//Fz_8
Allocate_FGE_z->size[12][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_z->size[12][1] = nPML_y_2;
Allocate_FGE_z->size[12][2] = nPML_z_1;
//Fz_9
Allocate_FGE_z->size[13][0] = nPML_x_2;
Allocate_FGE_z->size[13][1] = nPML_y_2;
Allocate_FGE_z->size[13][2] = nPML_z_1;
//Gz_9
Allocate_FGE_z->size[14][0] = nPML_x_2;
Allocate_FGE_z->size[14][1] = nPML_y_2;
Allocate_FGE_z->size[14][2] = nPML_z_1;
//Fz_10
Allocate_FGE_z->size[15][0] = nPML_x_1;
Allocate_FGE_z->size[15][1] = nPML_y_1;
Allocate_FGE_z->size[15][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Gz_10
Allocate_FGE_z->size[16][0] = nPML_x_1;
Allocate_FGE_z->size[16][1] = nPML_y_1;
Allocate_FGE_z->size[16][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_11
Allocate_FGE_z->size[17][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_z->size[17][1] = nPML_y_1;
Allocate_FGE_z->size[17][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_12
Allocate_FGE_z->size[18][0] = nPML_x_2;
Allocate_FGE_z->size[18][1] = nPML_y_1;
Allocate_FGE_z->size[18][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Gz_12
Allocate_FGE_z->size[19][0] = nPML_x_2;
Allocate_FGE_z->size[19][1] = nPML_y_1;
Allocate_FGE_z->size[19][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_13
Allocate_FGE_z->size[20][0] = nPML_x_1;
Allocate_FGE_z->size[20][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[20][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_15
Allocate_FGE_z->size[21][0] = nPML_x_2;
Allocate_FGE_z->size[21][1] = ny_MIN_nPML_y_1_MIN_nPML_y_2;
Allocate_FGE_z->size[21][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_16
Allocate_FGE_z->size[22][0] = nPML_x_1;
Allocate_FGE_z->size[22][1] = nPML_y_2;
Allocate_FGE_z->size[22][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Gz_16
Allocate_FGE_z->size[23][0] = nPML_x_1;
Allocate_FGE_z->size[23][1] = nPML_y_2;
Allocate_FGE_z->size[23][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_17
Allocate_FGE_z->size[24][0] = nx_MIN_nPML_x_1_MIN_nPML_x_2;
Allocate_FGE_z->size[24][1] = nPML_y_2;
Allocate_FGE_z->size[24][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Fz_18
Allocate_FGE_z->size[25][0] = nPML_x_2;
Allocate_FGE_z->size[25][1] = nPML_y_2;
Allocate_FGE_z->size[25][2] = nz_MIN_1_MIN_nPML_z_1_MIN_nPML_z_2;
//Gz_18
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -