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

📄 init_thread_calc_data.h

📁 利用c++语言写的三维FDTD
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//Header for functions initializing the data for threads
//////////////////////////////////////////////////////////////////////////

void Init_Thread_Calc_PML_Ex(Data_E_comp_PML *Data_Ex_PML,
			double ***Fx_1,   double ***Gx_1,   double ***Fx_2,   double ***Gx_2,
		 	double ***Fx_3,   double ***Gx_3,   double ***Fx_4,   double ***Fx_5,
			double ***Fx_6,   double ***Fx_7,   double ***Gx_7,   double ***Fx_8, 
			double ***Gx_8,   double ***Fx_9,   double ***Gx_9,   double ***Fx_10,
			double ***Gx_10,  double ***Fx_11,  double ***Fx_12,  double ***Gx_12,
			double ***Fx_13,  double ***Fx_15,  double ***Fx_16,  double ***Gx_16,
			double ***Fx_17,  double ***Fx_18,  double ***Gx_18,  double ***Fx_19, 
			double ***Gx_19,  double ***Fx_20,  double ***Gx_20,  double ***Fx_21,
			double ***Gx_21,  double ***Fx_22,  double ***Fx_23,  double ***Fx_24,
			double ***Fx_25,  double ***Gx_25,  double ***Fx_26,  double ***Gx_26, 
			double ***Fx_27,  double ***Gx_27,  double ***Ex,     double ***Hy,
			double ***Hz,     long ***Index,    double **K_a,     double **K_b,
			double *K_Gx_a_1, double *K_Gx_b_1, double *K_Ex_a_1, double *K_Ex_b_1, 
			double *K_Ex_c_1, double *K_Ex_d_1, double *K_Gx_a_2, double *K_Gx_b_2,
			double *K_Ex_a_2, double *K_Ex_b_2, double *K_Ex_c_2, double *K_Ex_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_dy, double inv_dz, 
			double TwoOREp0, double inv_TwoOREp0);

void Init_Thread_Calc_PML_Ey(Data_E_comp_PML *Data_Ey_PML,
				double ***Fy_1,  double ***Gy_1,  double ***Fy_2,  double ***Gy_2,
		 		double ***Fy_3,  double ***Gy_3,  double ***Fy_4,  double ***Gy_4,
				double ***Fy_5,  double ***Fy_6,  double ***Gy_6,  double ***Fy_7,  
				double ***Gy_7,  double ***Fy_8,  double ***Gy_8,  double ***Fy_9,  
				double ***Gy_9,  double ***Fy_10, double ***Fy_11, double ***Fy_12,
				double ***Fy_13, double ***Fy_15, double ***Fy_16, double ***Fy_17, 
				double ***Fy_18, double ***Fy_19, double ***Gy_19, double ***Fy_20,
				double ***Gy_20, double ***Fy_21, double ***Gy_21, double ***Fy_22,
				double ***Gy_22, double ***Fy_23, double ***Fy_24, double ***Gy_24,
				double ***Fy_25, double ***Gy_25, double ***Fy_26, double ***Gy_26, 
				double ***Fy_27, double ***Gy_27, double ***Ey,    double ***Hx,
			    double ***Hz,    long ***Index,    double **K_a,    double **K_b,
				double *K_Gy_a_1, double *K_Gy_b_1, double *K_Ey_a_1, double *K_Ey_b_1, 
				double *K_Ey_c_1, double *K_Ey_d_1, double *K_Gy_a_2, double *K_Gy_b_2,
				double *K_Ey_a_2, double *K_Ey_b_2, double *K_Ey_c_2, double *K_Ey_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_dz, 
				double TwoOREp0, double inv_TwoOREp0);

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);


void Init_Thread_Calc_PML_Hx(Data_H_comp_PML *Data_Hx_PML, 
				double ***Bx_1,   double ***Bx_2,   double ***Bx_3,   double ***Bx_4,  
			    double ***Bx_6,   double ***Bx_7,   double ***Bx_8,   double ***Bx_9, 
				double ***Bx_10,  double ***Bx_12,  double ***Bx_13,  double ***Bx_15, 
				double ***Bx_16,  double ***Bx_18,  double ***Bx_19,  double ***Bx_20,
				double ***Bx_21,  double ***Bx_22,  double ***Bx_24,  double ***Bx_25,
				double ***Bx_26,  double ***Bx_27,  double ***Hx,     double ***Ey,
				double ***Ez,     long ***Index,     double **mu_r,    double *K_Bx_a_1,
				double *K_Bx_b_1, double *K_Hx_a_1, double *K_Hx_b_1, double *K_Hx_c_1,
				double *K_Hx_d_1, double *K_Bx_a_2, double *K_Bx_b_2, double *K_Hx_a_2,
				double *K_Hx_b_2, double *K_Hx_c_2, double *K_Hx_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 dy, double dz, double dt);

void Init_Thread_Calc_PML_Hy(Data_H_comp_PML *Data_Hy_PML, 
				double ***By_1,   double ***By_2,   double ***By_3,   double ***By_4,  
			    double ***By_6,   double ***By_7,   double ***By_8,   double ***By_9, 
				double ***By_10,  double ***By_11,  double ***By_12,  double ***By_16, 
				double ***By_17,  double ***By_18,  double ***By_19,  double ***By_20,
				double ***By_21,  double ***By_22,  double ***By_24,  double ***By_25,
				double ***By_26,  double ***By_27,  double ***Hy,     double ***Ex,
				double ***Ez,     long ***Index,     double **mu_r,    double *K_By_a_1,
				double *K_By_b_1, double *K_Hy_a_1, double *K_Hy_b_1, double *K_Hy_c_1,
				double *K_Hy_d_1, double *K_By_a_2, double *K_By_b_2, double *K_Hy_a_2,
				double *K_Hy_b_2, double *K_Hy_c_2, double *K_Hy_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 dx, double dz, double dt);

void Init_Thread_Calc_PML_Hz(Data_H_comp_PML *Data_Hz_PML, 
				double ***Bz_1,   double ***Bz_2,   double ***Bz_3,   double ***Bz_4,  
			    double ***Bz_5,   double ***Bz_6,   double ***Bz_7,   double ***Bz_8, 
				double ***Bz_9,   double ***Bz_10,  double ***Bz_12,  double ***Bz_16, 
				double ***Bz_18,  double ***Bz_19,  double ***Bz_20,  double ***Bz_21,
				double ***Bz_22,  double ***Bz_23,  double ***Bz_24,  double ***Bz_25,
				double ***Bz_26,  double ***Bz_27,  double ***Hz,     double ***Ex,
				double ***Ey,     long ***Index,     double **mu_r,    double *K_Bz_a_1,
				double *K_Bz_b_1, double *K_Hz_a_1, double *K_Hz_b_1, double *K_Hz_c_1,
				double *K_Hz_d_1, double *K_Bz_a_2, double *K_Bz_b_2, double *K_Hz_a_2,
				double *K_Hz_b_2, double *K_Hz_c_2, double *K_Hz_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 dx, double dy, double dt);

//Outside of the PML layers
void Init_Thread_Calc_E(Data_E_comp *Data_E, double ***E, double ***H1, double ***H2, 
						long ***Index, double **K_a,  double **K_b, long nx_1, 
						long ny_1, long nz_1, long nx_2, long ny_2, long nz_2, 
						double inv_d1, double inv_d2, long nr_DIV_x, long nr_DIV_y, 
						long nr_DIV_z);

void Init_Thread_Calc_H(Data_H_comp *Data_H, double ***H, double ***E1, double ***E2,
						long ***Index, double **mu_r, long nx_1, long ny_1, long nz_1, 
						long nx_2, long ny_2, long nz_2, double cons_1, double cons_2, 
						long nr_DIV_x, long nr_DIV_y, long nr_DIV_z);

//The electromagnetic energy
void Init_Thread_Calc_W(Data_En *Data_W, double ***W, double ***Ex, double ***Ey, 
                        double ***Ez, double ***Hx,  double ***Hy, double ***Hz,
						long ***Ind, double **Mat, long nx_1, long ny_1, long nz_1, 
						long nx_2, long ny_2, long nz_2, long nr_DIV_x, long nr_DIV_y,
						long nr_DIV_z, double *local_W_aver);

⌨️ 快捷键说明

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