包含基于射线追踪的任意复杂界面计算
这个提交包含在:
@@ -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
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户