!Copyright (c) 2013 by https://git.em3d.cn/ under guide of Xiu Li(lixiu@chd.edu.cn) !written by Huaifeng Sun(sunhuaifeng@email.sdu.edu.cn) and Xushan Lu(luxushan@gmail.com) !Code distribution @ https://git.em3d.cn/ SUBROUTINE FREE_MEMORY USE CONSTANTPARAMETERS USE ELECTROMAGNETIC_VARIABLES USE RES_MODEL_PARAMETER USE TIME_PARAMETER USE PML_PARAMETER IMPLICIT NONE INTEGER ERR DEALLOCATE(EX, EY, EZ, STAT=ERR) DEALLOCATE(HX, HY, HZ, STAT=ERR) DEALLOCATE(CCSIG, STAT=ERR) DEALLOCATE(CTIME, STAT=ERR) DEALLOCATE(DELT, STAT=ERR) DEALLOCATE(CDELX,CDELY,CDELZ,STAT=ERR) IF(Logic_PML==1)THEN DEALLOCATE(psi_Exy_1, psi_Exy_2, psi_Exz_1, psi_Exz_2, & psi_Eyx_1, psi_Eyx_2, psi_Eyz_1, psi_Eyz_2, & psi_Ezx_1, psi_Ezx_2, psi_Ezy_1, psi_Ezy_2, & psi_Hxy_1, psi_Hxy_2, psi_Hxz_1, psi_Hxz_2, & psi_Hyx_1, psi_Hyx_2, psi_Hyz_1, psi_Hyz_2, & psi_Hzx_1, psi_Hzx_2, psi_Hzy_1, psi_Hzy_2, & psi_Hzz_1, psi_Hzz_2, STAT=ERR) DEALLOCATE(b_e_x1,c_e_x1,alpha_PML_e_x1,sig_PML_e_x1,kappa_PML_e_x1) DEALLOCATE(b_h_x1,c_h_x1,alpha_PML_h_x1,sig_PML_h_x1,kappa_PML_h_x1) DEALLOCATE(b_e_x2,c_e_x2,alpha_PML_e_x2,sig_PML_e_x2,kappa_PML_e_x2) DEALLOCATE(b_h_x2,c_h_x2,alpha_PML_h_x2,sig_PML_h_x2,kappa_PML_h_x2) DEALLOCATE(b_e_y1,c_e_y1,alpha_PML_e_y1,sig_PML_e_y1,kappa_PML_e_y1) DEALLOCATE(b_h_y1,c_h_y1,alpha_PML_h_y1,sig_PML_h_y1,kappa_PML_h_y1) DEALLOCATE(b_e_y2,c_e_y2,alpha_PML_e_y2,sig_PML_e_y2,kappa_PML_e_y2) DEALLOCATE(b_h_y2,c_h_y2,alpha_PML_h_y2,sig_PML_h_y2,kappa_PML_h_y2) DEALLOCATE(b_e_z1,c_e_z1,alpha_PML_e_z1,sig_PML_e_z1,kappa_PML_e_z1) DEALLOCATE(b_h_z1,c_h_z1,alpha_PML_h_z1,sig_PML_h_z1,kappa_PML_h_z1) DEALLOCATE(b_e_z2,c_e_z2,alpha_PML_e_z2,sig_PML_e_z2,kappa_PML_e_z2) DEALLOCATE(b_h_z2,c_h_z2,alpha_PML_h_z2,sig_PML_h_z2,kappa_PML_h_z2) ENDIF DEALLOCATE(den_ex,den_hx,den_ey,den_hy,den_ez,den_hz) DEALLOCATE(c_h_zz) DEALLOCATE(inv_hz_den) RETURN ENDSUBROUTINE FREE_MEMORY