45 行
2.0 KiB
Fortran
45 行
2.0 KiB
Fortran
!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
|