📄 fdtd_3d_free.cpp
字号:
if (*K_Gx_a_2)
{
free(*K_Gx_a_2);
*K_Gx_a_2 = NULL;
}
if (*K_Gx_b_2)
{
free(*K_Gx_b_2);
*K_Gx_b_2 = NULL;
}
if (*K_Ex_a_2)
{
free(*K_Ex_a_2);
*K_Ex_a_2 = NULL;
}
if (*K_Ex_b_2)
{
free(*K_Ex_b_2);
*K_Ex_b_2 = NULL;
}
if (*K_Ex_c_2)
{
free(*K_Ex_c_2);
*K_Ex_c_2 = NULL;
}
if (*K_Ex_d_2)
{
free(*K_Ex_d_2);
*K_Ex_d_2 = NULL;
}
}
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)
{
if (*K_Gy_a_1)
{
free(*K_Gy_a_1);
*K_Gy_a_1 = NULL;
}
if (*K_Gy_b_1)
{
free(*K_Gy_b_1);
*K_Gy_b_1 = NULL;
}
if (*K_Ey_a_1)
{
free(*K_Ey_a_1);
*K_Ey_a_1 = NULL;
}
if (*K_Ey_b_1)
{
free(*K_Ey_b_1);
*K_Ey_b_1 = NULL;
}
if (*K_Ey_c_1)
{
free(*K_Ey_c_1);
*K_Ey_c_1 = NULL;
}
if (*K_Ey_d_1)
{
free(*K_Ey_d_1);
*K_Ey_d_1 = NULL;
}
if (*K_Gy_a_2)
{
free(*K_Gy_a_2);
*K_Gy_a_2 = NULL;
}
if (*K_Gy_b_2)
{
free(*K_Gy_b_2);
*K_Gy_b_2 = NULL;
}
if (*K_Ey_a_2)
{
free(*K_Ey_a_2);
*K_Ey_a_2 = NULL;
}
if (*K_Ey_b_2)
{
free(*K_Ey_b_2);
*K_Ey_b_2 = NULL;
}
if (*K_Ey_c_2)
{
free(*K_Ey_c_2);
*K_Ey_c_2 = NULL;
}
if (*K_Ey_d_2)
{
free(*K_Ey_d_2);
*K_Ey_d_2 = NULL;
}
}
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)
{
if (*K_Gz_a_1)
{
free(*K_Gz_a_1);
*K_Gz_a_1 = NULL;
}
if (*K_Gz_b_1)
{
free(*K_Gz_b_1);
*K_Gz_b_1 = NULL;
}
if (*K_Ez_a_1)
{
free(*K_Ez_a_1);
*K_Ez_a_1 = NULL;
}
if (*K_Ez_b_1)
{
free(*K_Ez_b_1);
*K_Ez_b_1 = NULL;
}
if (*K_Ez_c_1)
{
free(*K_Ez_c_1);
*K_Ez_c_1 = NULL;
}
if (*K_Ez_d_1)
{
free(*K_Ez_d_1);
*K_Ez_d_1 = NULL;
}
if (*K_Gz_a_2)
{
free(*K_Gz_a_2);
*K_Gz_a_2 = NULL;
}
if (*K_Gz_b_2)
{
free(*K_Gz_b_2);
*K_Gz_b_2 = NULL;
}
if (*K_Ez_a_2)
{
free(*K_Ez_a_2);
*K_Ez_a_2 = NULL;
}
if (*K_Ez_b_2)
{
free(*K_Ez_b_2);
*K_Ez_b_2 = NULL;
}
if (*K_Ez_c_2)
{
free(*K_Ez_c_2);
*K_Ez_c_2 = NULL;
}
if (*K_Ez_d_2)
{
free(*K_Ez_d_2);
*K_Ez_d_2 = NULL;
}
}
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)
{
if (*K_Bx_a_1)
{
free(*K_Bx_a_1);
*K_Bx_a_1 = NULL;
}
if (*K_Bx_b_1)
{
free(*K_Bx_b_1);
*K_Bx_b_1 = NULL;
}
if (*K_Hx_a_1)
{
free(*K_Hx_a_1);
*K_Hx_a_1 = NULL;
}
if (*K_Hx_b_1)
{
free(*K_Hx_b_1);
*K_Hx_b_1 = NULL;
}
if (*K_Hx_c_1)
{
free(*K_Hx_c_1);
*K_Hx_c_1 = NULL;
}
if (*K_Hx_d_1)
{
free(*K_Hx_d_1);
*K_Hx_d_1 = NULL;
}
if (*K_Bx_a_2)
{
free(*K_Bx_a_2);
*K_Bx_a_2 = NULL;
}
if (*K_Bx_b_2)
{
free(*K_Bx_b_2);
*K_Bx_b_2 = NULL;
}
if (*K_Hx_a_2)
{
free(*K_Hx_a_2);
*K_Hx_a_2 = NULL;
}
if (*K_Hx_b_2)
{
free(*K_Hx_b_2);
*K_Hx_b_2 = NULL;
}
if (*K_Hx_c_2)
{
free(*K_Hx_c_2);
*K_Hx_c_2 = NULL;
}
if (*K_Hx_d_2)
{
free(*K_Hx_d_2);
*K_Hx_d_2 = NULL;
}
}
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)
{
if (*K_By_a_1)
{
free(*K_By_a_1);
*K_By_a_1 = NULL;
}
if (*K_By_b_1)
{
free(*K_By_b_1);
*K_By_b_1 = NULL;
}
if (*K_Hy_a_1)
{
free(*K_Hy_a_1);
*K_Hy_a_1 = NULL;
}
if (*K_Hy_b_1)
{
free(*K_Hy_b_1);
*K_Hy_b_1 = NULL;
}
if (*K_Hy_c_1)
{
free(*K_Hy_c_1);
*K_Hy_c_1 = NULL;
}
if (*K_Hy_d_1)
{
free(*K_Hy_d_1);
*K_Hy_d_1 = NULL;
}
if (*K_By_a_2)
{
free(*K_By_a_2);
*K_By_a_2 = NULL;
}
if (*K_By_b_2)
{
free(*K_By_b_2);
*K_By_b_2 = NULL;
}
if (*K_Hy_a_2)
{
free(*K_Hy_a_2);
*K_Hy_a_2 = NULL;
}
if (*K_Hy_b_2)
{
free(*K_Hy_b_2);
*K_Hy_b_2 = NULL;
}
if (*K_Hy_c_2)
{
free(*K_Hy_c_2);
*K_Hy_c_2 = NULL;
}
if (*K_Hy_d_2)
{
free(*K_Hy_d_2);
*K_Hy_d_2 = NULL;
}
}
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)
{
if (*K_Bz_a_1)
{
free(*K_Bz_a_1);
*K_Bz_a_1 = NULL;
}
if (*K_Bz_b_1)
{
free(*K_Bz_b_1);
*K_Bz_b_1 = NULL;
}
if (*K_Hz_a_1)
{
free(*K_Hz_a_1);
*K_Hz_a_1 = NULL;
}
if (*K_Hz_b_1)
{
free(*K_Hz_b_1);
*K_Hz_b_1 = NULL;
}
if (*K_Hz_c_1)
{
free(*K_Hz_c_1);
*K_Hz_c_1 = NULL;
}
if (*K_Hz_d_1)
{
free(*K_Hz_d_1);
*K_Hz_d_1 = NULL;
}
if (*K_Bz_a_2)
{
free(*K_Bz_a_2);
*K_Bz_a_2 = NULL;
}
if (*K_Bz_b_2)
{
free(*K_Bz_b_2);
*K_Bz_b_2 = NULL;
}
if (*K_Hz_a_2)
{
free(*K_Hz_a_2);
*K_Hz_a_2 = NULL;
}
if (*K_Hz_b_2)
{
free(*K_Hz_b_2);
*K_Hz_b_2 = NULL;
}
if (*K_Hz_c_2)
{
free(*K_Hz_c_2);
*K_Hz_c_2 = NULL;
}
if (*K_Hz_d_2)
{
free(*K_Hz_d_2);
*K_Hz_d_2 = NULL;
}
}
void Free_K_a_K_b(double **K_a, double **K_b)
{
if(*K_a)
{
free(*K_a);
*K_a = NULL;
}
if(*K_b)
{
free(*K_b);
*K_b = NULL;
}
}
void Free_path_name(char **Path, 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)
{
if (*Path)
{
free(*Path);
*Path = NULL;
}
if (*Path_Data)
{
free(*Path_Data);
*Path_Data = NULL;
}
if (*path_name_Ex_1D)
{
free(*path_name_Ex_1D);
*path_name_Ex_1D = NULL;
}
if (*path_name_Ex)
{
free(*path_name_Ex);
*path_name_Ex = NULL;
}
if (*path_name_Ey)
{
free(*path_name_Ey);
*path_name_Ey = NULL;
}
if (*path_name_Ez)
{
free(*path_name_Ez);
*path_name_Ez = NULL;
}
if (*path_name_Hx)
{
free(*path_name_Hx);
*path_name_Hx = NULL;
}
if (*path_name_Hy)
{
free(*path_name_Hy);
*path_name_Hy = NULL;
}
if (*path_name_Hz)
{
free(*path_name_Hz);
*path_name_Hz = NULL;
}
}
void Free_Foll(double ***Ex_Foll, double ***Ey_Foll, double ***Ez_Foll,
double ***Hx_Foll, double ***Hy_Foll, double ***Hz_Foll)
{
//The followed field components
if(*Hx_Foll)
*Hx_Foll = Free_Matrix_2D<double>(*Hx_Foll);
if(*Hy_Foll)
*Hy_Foll = Free_Matrix_2D<double>(*Hy_Foll);
if(*Hz_Foll)
*Hz_Foll = Free_Matrix_2D<double>(*Hz_Foll);
if(*Ex_Foll)
*Ex_Foll = Free_Matrix_2D<double>(*Ex_Foll);
if(*Ey_Foll)
*Ey_Foll = Free_Matrix_2D<double>(*Ey_Foll);
if(*Ez_Foll)
*Ez_Foll = Free_Matrix_2D<double>(*Ez_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)
{
//The followed field components
if(*Hx_Foll_av)
{
free(*Hx_Foll_av);
*Hx_Foll_av = NULL;
}
if(*Hy_Foll_av)
{
free(*Hy_Foll_av);
*Hy_Foll_av = NULL;
}
if(*Hz_Foll_av)
{
free(*Hz_Foll_av);
*Hz_Foll_av = NULL;
}
if(*Ex_Foll_av)
{
free(*Ex_Foll_av);
*Ex_Foll_av = NULL;
}
if(*Ey_Foll_av)
{
free(*Ey_Foll_av);
*Ey_Foll_av = NULL;
}
if(*Ez_Foll_av)
{
free(*Ez_Foll_av);
*Ez_Foll_av = NULL;
}
}
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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -