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

📄 fdtd_3d_free.h

📁 利用c++语言写的三维FDTD
💻 H
字号:
#include "Alloc_Save_Load_Field_Thread.h"
#include "Thread_Calc.h"
#include "Matrix.h"

void Free_FxGxEx(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, long  nPML_x_1, 
				 long  nPML_x_2, long  nx);

void Free_FyGyEy(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, long  nPML_x_1, 
				 long  nPML_x_2, long  nx);

void Free_FzGzEz(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_x_2, long  nx);

void Free_BxHx(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, long  nPML_x_1, 
			   long  nPML_x_2, long  nx);

void Free_ByHy(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, long  nPML_x_1, 
			   long  nPML_x_2, long  nx);

void Free_BzHz(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, long  nPML_x_1, 
			   long  nPML_x_2, long  nx);

void Free_PML_Ex(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_x_2);

void Free_PML_Ey(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_x_2);

void Free_PML_Ez(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_x_2);

void Free_PML_Hx(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_x_2);

void Free_PML_Hy(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_x_2);

void Free_PML_Hz(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_x_2);

void Free_K_a_K_b(double **K_a, double **K_b);

void Free_path_name(char **Path_wd, char **Path_Data, char **path_name_Ex_1D, 
					char **path_name_Ex, char **path_name_Ey, char **path_name_Ez, 
					char **path_name_Hx, char **path_name_Hy, char **path_name_Hz);

void Free_Foll(double ***Ex_Foll, double ***Ey_Foll, double ***Ez_Foll,
	           double ***Hx_Foll, double ***Hy_Foll, double ***Hz_Foll);

void Free_Foll_av(double **Ex_Foll_av, double **Ey_Foll_av, double **Ez_Foll_av,
	              double **Hx_Foll_av, double **Hy_Foll_av, double **Hz_Foll_av);

void Free_Threads_Param(pthread_t **field_threads, Data_E_comp_PML **Data_Ex_PML,
						Data_E_comp **Data_Ex, Data_E_comp_PML **Data_Ey_PML,
						Data_E_comp **Data_Ey, Data_E_comp_PML **Data_Ez_PML,
						Data_E_comp **Data_Ez, Data_H_comp_PML **Data_Hx_PML,
						Data_H_comp **Data_Hx, Data_H_comp_PML **Data_Hy_PML,
						Data_H_comp **Data_Hy, Data_H_comp_PML **Data_Hz_PML,
						Data_H_comp **Data_Hz, double ***K_a_thread, 
						double ***K_b_thread,  double ***mu_thread);

void Free_Data_SaveThreads_Param( 
	 pthread_t **data_save_threads_Ex_xy, pthread_t **data_save_threads_Ey_xy, 
	 pthread_t **data_save_threads_Ez_xy, pthread_t **data_save_threads_Hx_xy,
	 pthread_t **data_save_threads_Hy_xy, pthread_t **data_save_threads_Hz_xy,
	 pthread_t **data_save_threads_Ex_yz, pthread_t **data_save_threads_Ey_yz, 
	 pthread_t **data_save_threads_Ez_yz, pthread_t **data_save_threads_Hx_yz,
	 pthread_t **data_save_threads_Hy_yz, pthread_t **data_save_threads_Hz_yz,
	 pthread_t **data_save_threads_Ex_xz, pthread_t **data_save_threads_Ey_xz, 
	 pthread_t **data_save_threads_Ez_xz, pthread_t **data_save_threads_Hx_xz,
	 pthread_t **data_save_threads_Hy_xz, pthread_t **data_save_threads_Hz_xz,
	 Data_Save_Slice **Save_Ex_xy, Data_Save_Slice **Save_Ey_xy,
	 Data_Save_Slice **Save_Ez_xy, Data_Save_Slice **Save_Hx_xy,
	 Data_Save_Slice **Save_Hy_xy, Data_Save_Slice **Save_Hz_xy,
	 Data_Save_Slice **Save_Ex_yz, Data_Save_Slice **Save_Ey_yz,
	 Data_Save_Slice **Save_Ez_yz, Data_Save_Slice **Save_Hx_yz,
	 Data_Save_Slice **Save_Hy_yz, Data_Save_Slice **Save_Hz_yz,
	 Data_Save_Slice **Save_Ex_xz, Data_Save_Slice **Save_Ey_xz,
	 Data_Save_Slice **Save_Ez_xz, Data_Save_Slice **Save_Hx_xz,
	 Data_Save_Slice **Save_Hy_xz, Data_Save_Slice **Save_Hz_xz);

void Free_W_Param(double ****W, double **W_aver, double **W_aver_xz, double **W_aver_xzt,
				  pthread_t **eval_W_thread, Data_En **Data_W, double **local_W_aver, 
				  char **path_name_W, long nx_W);

void Free_TS_Param(double **ll_1D_E, double **ll_1D_H, 
				   double ***Hz_i0, double ***Hy_i0, double ***Hz_i1, double ***Hy_i1,
				   double ***Hz_j0, double ***Hx_j0, double ***Hz_j1, double ***Hx_j1, 
				   double ***Hy_k0, double ***Hx_k0, double ***Hy_k1, double ***Hx_k1, 
				   double ***face_Hz_i0, double ***face_Hy_i0, double ***face_Hz_i1, 
				   double ***face_Hy_i1, double ***face_Hz_j0, double ***face_Hx_j0, 
				   double ***face_Hz_j1, double ***face_Hx_j1, double ***face_Hy_k0, 
				   double ***face_Hx_k0, double ***face_Hy_k1, double ***face_Hx_k1,
				   double ***Ey_i0, double ***Ez_i0, double ***Ey_i1, double ***Ez_i1,
				   double ***Ex_j0, double ***Ez_j0, double ***Ex_j1, double ***Ez_j1,
				   double ***Ex_k0, double ***Ey_k0, double ***Ex_k1, double ***Ey_k1,
				   double ***face_Ey_i0, double ***face_Ez_i0, double ***face_Ey_i1, double ***face_Ez_i1,
				   double ***face_Ex_j0, double ***face_Ez_j0, double ***face_Ex_j1, double ***face_Ez_j1,
				   double ***face_Ex_k0, double ***face_Ey_k0, double ***face_Ex_k1, double ***face_Ey_k1);

⌨️ 快捷键说明

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