!**************************************************************************** ! 電流源 !**************************************************************************** subroutine ecur_source use fdtd implicit none integer :: i,j,k,id real(8) :: ecur i=nx/2+1 j=ny/2 do k=2,nz-1 id=media_id(i,j,k) ez(i,j,k)=ez(i,j,k) & -(dt/eps(id))/(1.0d0+(sig(id)*dt)/(2.0d0*eps(id)))*ecur(time-dt/2.0d0) end do return end subroutine !---------------------------------------------------------------------------- ! 波源の関数形 ! だんだん振幅が大きくなる正弦波(p.48) !---------------------------------------------------------------------------- real(8) function ecur(t) use consts use fdtd implicit none real(8) :: t real(8) :: tp,t1 tp=1.0d0/freq t1=4.0d0*tp if(t.lt.t1) then ecur=0.5d0*(1.0d0-dcos(pi*t/t1))*dsin(2.0d0*pi*freq*t) else ecur=dsin(2.0d0*pi*freq*t) end if end function ! ! End of file !