包含基于射线追踪的任意复杂界面计算

这个提交包含在:
2026-08-14 08:00:47 +08:00
父节点 d1a709985d
当前提交 b4cf75ce78
修改 91 个文件,包含 1612224 行新增515 行删除
+48 -5
查看文件
@@ -7,15 +7,58 @@ SUBROUTINE ZERO
USE ELECTROMAGNETIC_VARIABLES
USE RES_MODEL_PARAMETER
USE TIME_PARAMETER
USE PML_PARAMETER
USE OMP_LIB
!本子程序将计算中的数组赋0值进行初始化
!>This subroutine will initialize the array in the calculation by setting all its elements to zero.
IMPLICIT NONE
CCSIG=0.0D0
CCSIG=0.0D0
CCSIGX=0.0D0
CCSIGY=0.0D0
CCSIGZ=0.0D0
EX=0.0D0
EY=0.0D0
EZ=0.0D0
EY=0.0D0
EZ=0.0D0
HX=0.0D0
HY=0.0D0
HZ=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