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

这个提交包含在:
2026-08-14 08:00:47 +08:00
父节点 d1a709985d
当前提交 b4cf75ce78
修改 91 个文件,包含 1612224 行新增515 行删除
+21 -9
查看文件
@@ -9,14 +9,26 @@ subroutine GetSourcePosition
IMPLICIT NONE
INTEGER ii,jj
is_ex_in_source=0; is_ey_in_source=0
do ii=nxs-(SourceGridNum-1)/2,nxs+(SourceGridNum-1)/2,1
is_ex_in_source(ii,nys-(SourceGridNum-1)/2)=1
is_ex_in_source(ii,nys+(SourceGridNum+1)/2)=-1
end do
! Aware that the value of source has both positive and negative parts, or they will cancel each other out.
do ii=nys-(SourceGridNum-1)/2,nys+(SourceGridNum-1)/2,1
is_ey_in_source(nxs-(SourceGridNum-1)/2,ii)=-1
is_ey_in_source(nxs+(SourceGridNum+1)/2,ii)=1
end do
IF(Logi_Sourcelenth) THEN !The number of grids occupied by the source is odd
do ii=nxs-(SourceGridNum-1)/2,nxs+(SourceGridNum-1)/2,1
is_ex_in_source(ii,nys-(SourceGridNum-1)/2)=1
is_ex_in_source(ii,nys+(SourceGridNum+1)/2)=-1
end do
! Aware that the value of source has both positive and negative parts, or they will cancel each other out.
do ii=nys-(SourceGridNum-1)/2,nys+(SourceGridNum-1)/2,1
is_ey_in_source(nxs-(SourceGridNum-1)/2,ii)=-1
is_ey_in_source(nxs+(SourceGridNum+1)/2,ii)=1
end do
ELSE !The number of grids occupied by the source is even
do ii=nxs-SourceGridNum/2+1,nxs+SourceGridNum/2+1,1
is_ex_in_source(ii,nys-(SourceGridNum)/2+1)=1
is_ex_in_source(ii,nys+(SourceGridNum)/2+1)=-1
end do
! Aware that the value of source has both positive and negative parts, or they will cancel each other out.
do ii=nys-SourceGridNum/2+1,nys+SourceGridNum/2+1,1
is_ey_in_source(nxs-(SourceGridNum)/2+1,ii)=-1
is_ey_in_source(nxs+(SourceGridNum)/2+1,ii)=1
end do
ENDIF
end subroutine GetSourcePosition