📄 fdtd_3d_free.cpp
字号:
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)
{
if (*field_threads)
{
free(*field_threads);
*field_threads = NULL;
}
//the E components
if (*Data_Ex_PML)
{
free(*Data_Ex_PML);
*Data_Ex_PML = NULL;
}
if (*Data_Ex)
{
free(*Data_Ex);
*Data_Ex = NULL;
}
if (*Data_Ey_PML)
{
free(*Data_Ey_PML);
*Data_Ey_PML = NULL;
}
if (*Data_Ey)
{
free(*Data_Ey);
*Data_Ey = NULL;
}
if (*Data_Ez_PML)
{
free(*Data_Ez_PML);
*Data_Ez_PML = NULL;
}
if (*Data_Ez)
{
free(*Data_Ez);
*Data_Ez = NULL;
}
///the H components
if (*Data_Hx_PML)
{
free(*Data_Hx_PML);
*Data_Hx_PML = NULL;
}
if (*Data_Hx)
{
free(*Data_Hx);
*Data_Hx = NULL;
}
if (*Data_Hy_PML)
{
free(*Data_Hy_PML);
*Data_Hy_PML = NULL;
}
if (*Data_Hy)
{
free(*Data_Hy);
*Data_Hy = NULL;
}
if (*Data_Hz_PML)
{
free(*Data_Hz_PML);
*Data_Hz_PML = NULL;
}
if (*Data_Hz)
{
free(*Data_Hz);
*Data_Hz = NULL;
}
if(*K_a_thread)
*K_a_thread = Free_Matrix_2D<double>(*K_a_thread);
if(*K_b_thread)
*K_b_thread = Free_Matrix_2D<double>(*K_b_thread);
if(*mu_thread)
*mu_thread = Free_Matrix_2D<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)
{
if (*data_save_threads_Ex_xy)
{
free(*data_save_threads_Ex_xy);
*data_save_threads_Ex_xy = NULL;
}
if (*data_save_threads_Ey_xy)
{
free(*data_save_threads_Ey_xy);
*data_save_threads_Ey_xy = NULL;
}
if (*data_save_threads_Ez_xy)
{
free(*data_save_threads_Ez_xy);
*data_save_threads_Ez_xy = NULL;
}
if (*data_save_threads_Hx_xy)
{
free(*data_save_threads_Hx_xy);
*data_save_threads_Hx_xy = NULL;
}
if (*data_save_threads_Hy_xy)
{
free(*data_save_threads_Hy_xy);
*data_save_threads_Hy_xy = NULL;
}
if (*data_save_threads_Hz_xy)
{
free(*data_save_threads_Hz_xy);
*data_save_threads_Hz_xy = NULL;
}
if (*data_save_threads_Ex_yz)
{
free(*data_save_threads_Ex_yz);
*data_save_threads_Ex_yz = NULL;
}
if (*data_save_threads_Ey_yz)
{
free(*data_save_threads_Ey_yz);
*data_save_threads_Ey_yz = NULL;
}
if (*data_save_threads_Ez_yz)
{
free(*data_save_threads_Ez_yz);
*data_save_threads_Ez_yz = NULL;
}
if (*data_save_threads_Hx_yz)
{
free(*data_save_threads_Hx_yz);
*data_save_threads_Hx_yz = NULL;
}
if (*data_save_threads_Hy_yz)
{
free(*data_save_threads_Hy_yz);
*data_save_threads_Hy_yz = NULL;
}
if (*data_save_threads_Hz_yz)
{
free(*data_save_threads_Hz_yz);
*data_save_threads_Hz_yz = NULL;
}
if (*data_save_threads_Ex_xz)
{
free(*data_save_threads_Ex_xz);
*data_save_threads_Ex_xz = NULL;
}
if (*data_save_threads_Ey_xz)
{
free(*data_save_threads_Ey_xz);
*data_save_threads_Ey_xz = NULL;
}
if (*data_save_threads_Ez_xz)
{
free(*data_save_threads_Ez_xz);
*data_save_threads_Ez_xz = NULL;
}
if (*data_save_threads_Hx_xz)
{
free(*data_save_threads_Hx_xz);
*data_save_threads_Hx_xz = NULL;
}
if (*data_save_threads_Hy_xz)
{
free(*data_save_threads_Hy_xz);
*data_save_threads_Hy_xz = NULL;
}
if (*data_save_threads_Hz_xz)
{
free(*data_save_threads_Hz_xz);
*data_save_threads_Hz_xz = NULL;
}
if (*Save_Ex_xy)
{
free(*Save_Ex_xy);
*Save_Ex_xy = NULL;
}
if (*Save_Ey_xy)
{
free(*Save_Ey_xy);
*Save_Ey_xy = NULL;
}
if (*Save_Ez_xy)
{
free(*Save_Ez_xy);
*Save_Ez_xy = NULL;
}
if (*Save_Hx_xy)
{
free(*Save_Hx_xy);
*Save_Hx_xy = NULL;
}
if (*Save_Hy_xy)
{
free(*Save_Hy_xy);
*Save_Hy_xy = NULL;
}
if (*Save_Hz_xy)
{
free(*Save_Hz_xy);
*Save_Hz_xy = NULL;
}
if (*Save_Ex_yz)
{
free(*Save_Ex_yz);
*Save_Ex_yz = NULL;
}
if (*Save_Ey_yz)
{
free(*Save_Ey_yz);
*Save_Ey_yz = NULL;
}
if (*Save_Ez_yz)
{
free(*Save_Ez_yz);
*Save_Ez_yz = NULL;
}
if (*Save_Hx_yz)
{
free(*Save_Hx_yz);
*Save_Hx_yz = NULL;
}
if (*Save_Hy_yz)
{
free(*Save_Hy_yz);
*Save_Hy_yz = NULL;
}
if (*Save_Hz_yz)
{
free(*Save_Hz_yz);
*Save_Hz_yz = NULL;
}
if (*Save_Ex_xz)
{
free(*Save_Ex_xz);
*Save_Ex_xz = NULL;
}
if (*Save_Ey_xz)
{
free(*Save_Ey_xz);
*Save_Ey_xz = NULL;
}
if (*Save_Ez_xz)
{
free(*Save_Ez_xz);
*Save_Ez_xz = NULL;
}
if (*Save_Hx_xz)
{
free(*Save_Hx_xz);
*Save_Hx_xz = NULL;
}
if (*Save_Hy_xz)
{
free(*Save_Hy_xz);
*Save_Hy_xz = NULL;
}
if (*Save_Hz_xz)
{
free(*Save_Hz_xz);
*Save_Hz_xz = NULL;
}
}
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)
{
if (*W)
*W = Free_Matrix_3D<double>(*W,nx_W);
if(*W_aver)
{
free(*W_aver);
*W_aver = NULL;
}
if(*W_aver_xz)
{
free(*W_aver_xz);
*W_aver_xz = NULL;
}
if(*W_aver_xzt)
{
free(*W_aver_xzt);
*W_aver_xzt = NULL;
}
if(*eval_W_thread)
{
free(*eval_W_thread);
*eval_W_thread = NULL;
}
if(*Data_W)
{
free(*Data_W);
*Data_W = NULL;
}
if(*local_W_aver)
{
free(*local_W_aver);
*local_W_aver = NULL;
}
if(*path_name_W)
{
free(*path_name_W);
*path_name_W = NULL;
}
}
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)
{
if (*ll_1D_E)
{
free(*ll_1D_E);
*ll_1D_E = NULL;
}
if (*ll_1D_H)
{
free(*ll_1D_H);
*ll_1D_H = NULL;
}
if(*Hz_i0)
*Hz_i0 = Free_Matrix_2D<double>(*Hz_i0);
if(*Hy_i0)
*Hy_i0 = Free_Matrix_2D<double>(*Hy_i0);
if(*Hz_i1)
*Hz_i1 = Free_Matrix_2D<double>(*Hz_i1);
if(*Hy_i1)
*Hy_i1 = Free_Matrix_2D<double>(*Hy_i1);
if(*Hz_j0)
*Hz_j0 = Free_Matrix_2D<double>(*Hz_j0);
if(*Hx_j0)
*Hx_j0 = Free_Matrix_2D<double>(*Hx_j0);
if(*Hz_j1)
*Hz_j1 = Free_Matrix_2D<double>(*Hz_j1);
if(*Hx_j1)
*Hx_j1 = Free_Matrix_2D<double>(*Hx_j1);
if(*Hy_k0)
*Hy_k0 = Free_Matrix_2D<double>(*Hy_k0);
if(*Hx_k0)
*Hx_k0 = Free_Matrix_2D<double>(*Hx_k0);
if(*Hy_k1)
*Hy_k1 = Free_Matrix_2D<double>(*Hy_k1);
if(*Hx_k1)
*Hx_k1 = Free_Matrix_2D<double>(*Hx_k1);
if(*face_Hz_i0)
*face_Hz_i0 = Free_Matrix_2D<double>(*face_Hz_i0);
if(*face_Hy_i0)
*face_Hy_i0 = Free_Matrix_2D<double>(*face_Hy_i0);
if(*face_Hz_i1)
*face_Hz_i1 = Free_Matrix_2D<double>(*face_Hz_i1);
if(*face_Hy_i1)
*face_Hy_i1 = Free_Matrix_2D<double>(*face_Hy_i1);
if(*face_Hz_j0)
*face_Hz_j0 = Free_Matrix_2D<double>(*face_Hz_j0);
if(*face_Hx_j0)
*face_Hx_j0 = Free_Matrix_2D<double>(*face_Hx_j0);
if(*face_Hz_j1)
*face_Hz_j1 = Free_Matrix_2D<double>(*face_Hz_j1);
if(*face_Hx_j1)
*face_Hx_j1 = Free_Matrix_2D<double>(*face_Hx_j1);
if(*face_Hy_k0)
*face_Hy_k0 = Free_Matrix_2D<double>(*face_Hy_k0);
if(*face_Hx_k0)
*face_Hx_k0 = Free_Matrix_2D<double>(*face_Hx_k0);
if(*face_Hy_k1)
*face_Hy_k1 = Free_Matrix_2D<double>(*face_Hy_k1);
if(*face_Hx_k1)
*face_Hx_k1 = Free_Matrix_2D<double>(*face_Hx_k1);
if(*Ey_i0)
*Ey_i0 = Free_Matrix_2D<double>(*Ey_i0);
if(*Ez_i0)
*Ez_i0 = Free_Matrix_2D<double>(*Ez_i0);
if(*Ey_i1)
*Ey_i1 = Free_Matrix_2D<double>(*Ey_i1);
if(*Ez_i1)
*Ez_i1 = Free_Matrix_2D<double>(*Ez_i1);
if(*Ex_j0)
*Ex_j0 = Free_Matrix_2D<double>(*Ex_j0);
if(*Ez_j0)
*Ez_j0 = Free_Matrix_2D<double>(*Ez_j0);
if(*Ex_j1)
*Ex_j1 = Free_Matrix_2D<double>(*Ex_j1);
if(*Ez_j1)
*Ez_j1 = Free_Matrix_2D<double>(*Ez_j1);
if(*Ex_k0)
*Ex_k0 = Free_Matrix_2D<double>(*Ex_k0);
if(*Ey_k0)
*Ey_k0 = Free_Matrix_2D<double>(*Ey_k0);
if(*Ex_k1)
*Ex_k1 = Free_Matrix_2D<double>(*Ex_k1);
if(*Ey_k1)
*Ey_k1 = Free_Matrix_2D<double>(*Ey_k1);
if(*face_Ey_i0)
*face_Ey_i0 = Free_Matrix_2D<double>(*face_Ey_i0);
if(*face_Ez_i0)
*face_Ez_i0 = Free_Matrix_2D<double>(*face_Ez_i0);
if(*face_Ey_i1)
*face_Ey_i1 = Free_Matrix_2D<double>(*face_Ey_i1);
if(*face_Ez_i1)
*face_Ez_i1 = Free_Matrix_2D<double>(*face_Ez_i1);
if(*face_Ex_j0)
*face_Ex_j0 = Free_Matrix_2D<double>(*face_Ex_j0);
if(*face_Ez_j0)
*face_Ez_j0 = Free_Matrix_2D<double>(*face_Ez_j0);
if(*face_Ex_j1)
*face_Ex_j1 = Free_Matrix_2D<double>(*face_Ex_j1);
if(*face_Ez_j1)
*face_Ez_j1 = Free_Matrix_2D<double>(*face_Ez_j1);
if(*face_Ex_k0)
*face_Ex_k0 = Free_Matrix_2D<double>(*face_Ex_k0);
if(*face_Ey_k0)
*face_Ey_k0 = Free_Matrix_2D<double>(*face_Ey_k0);
if(*face_Ex_k1)
*face_Ex_k1 = Free_Matrix_2D<double>(*face_Ex_k1);
if(*face_Ey_k1)
*face_Ey_k1 = Free_Matrix_2D<double>(*face_Ey_k1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -