!Copyright (c) 2013 by tdem.org under guide of Xiu Li(lixiu@chd.edu.cn) !written by Huaifeng Sun(sunhuaifeng@gmail.com) and Xushan Lu(luxushan@gmail.com) !Code distribution @ tdem.org or sunhuaifeng.com SUBROUTINE ZERO USE CONSTANTPARAMETERS USE ELECTROMAGNETIC_VARIABLES USE RES_MODEL_PARAMETER USE TIME_PARAMETER USE PML_PARAMETER USE OMP_LIB !>This subroutine will initialize the array in the calculation by setting all its elements to zero. IMPLICIT NONE CCSIG=0.0D0 CCSIGX=0.0D0 CCSIGY=0.0D0 CCSIGZ=0.0D0 EX=0.0D0 EY=0.0D0 EZ=0.0D0 HX=0.0D0 HY=0.0D0 HZ=0.0D0 !>CPML arrays: den_* is always initialized to 1.0 (neutral value), so the !! iteration loop can always multiply the curl terms by den_*; the scheme !! degenerates exactly to the original version when Logic_PML=0. den_ex=1.0D0 den_ey=1.0D0 den_ez=1.0D0 den_hx=1.0D0 den_hy=1.0D0 den_hz=1.0D0 c_h_zz=0.0D0 inv_hz_den=1.0D0 IF(Logic_PML==1)THEN psi_Eyx_1=0.0D0 psi_Eyx_2=0.0D0 psi_Ezx_1=0.0D0 psi_Ezx_2=0.0D0 psi_Ezy_1=0.0D0 psi_Ezy_2=0.0D0 psi_Exy_1=0.0D0 psi_Exy_2=0.0D0 psi_Exz_1=0.0D0 psi_Exz_2=0.0D0 psi_Eyz_1=0.0D0 psi_Eyz_2=0.0D0 psi_Hyx_1=0.0D0 psi_Hyx_2=0.0D0 psi_Hzx_1=0.0D0 psi_Hzx_2=0.0D0 psi_Hxy_1=0.0D0 psi_Hxy_2=0.0D0 psi_Hzy_1=0.0D0 psi_Hzy_2=0.0D0 psi_Hxz_1=0.0D0 psi_Hxz_2=0.0D0 psi_Hyz_1=0.0D0 psi_Hyz_2=0.0D0 psi_Hzz_1=0.0D0 psi_Hzz_2=0.0D0 ENDIF RETURN ENDSUBROUTINE ZERO