!**************************************************************************** ! ƒ‚ƒWƒ…[ƒ‹ !**************************************************************************** !============================================================================ ! •¨—’萔 !============================================================================ module consts real(8),parameter :: pi=3.141592653589793d0 ! ‰~Žό—¦ ƒΞ real(8),parameter :: c=2.998d8 ! Œυ‘¬ c [m/sec] real(8),parameter :: epsilon0=8.854d-12 ! ^‹σ‚Μ—U“d—¦ ƒΓ0 [F/m] real(8),parameter :: mu0=4.0d-7*pi ! ^‹σ‚Μ“§Ž₯—¦ ƒΚ0 [H/m] real(8),parameter :: z0=376.734309182110d0 ! ^‹σ‚ΜŠEƒCƒ“ƒs[ƒ_ƒ“ƒX sqrt(ƒΚ0/ƒΓ0) [ƒΆ] end module !============================================================================ ! FDTD module !============================================================================ module fdtd ! ******** Žό”g” ******** real(8) :: freq ! ******** ŽžŠΤƒXƒeƒbƒv ******** integer :: ntime_start,ntime_end,ntime_step integer :: nperiod ! ŽžŠΤXV‚ΜŠΤŠu‚Ν(T/nperiod) ‚½‚Ύ‚΅AT‚ΝŽόŠϊ real(8) :: time,dt ! ******** ŠiŽqEƒtƒB[ƒ‹ƒh ******** integer,parameter :: mx=200,my=200 integer :: nx,ny real(8) :: dx,dy integer :: nlambda0 ! ‚PƒZƒ‹‚Μˆκ•Σ‚Μ’·‚³‚Ν(1/nlambda) real(8) :: ez(mx+1,my+1),hx(mx+1,my+1),hy(mx+1,my+1) ! ******** ”}ŽΏ’萔 ******** integer,parameter :: mmedia=10 integer :: nmedia ! ”}ŽΏ‚̐” real(8) :: eps(mmedia) ! —U“d—¦ƒΓ [F/m] real(8) :: mu(mmedia) ! “§Ž₯—¦ƒΚ [H/m] real(8) :: sig(mmedia) ! “±“d—¦ƒΠ [S/m] integer :: media_id(mx,my) ! ******** ƒtƒB[ƒ‹ƒhXVŒW” ******** real(8) :: cez0 real(8) :: cezrx0,cezry0 real(8) :: chxry0,chyrx0 real(8) :: cez(mmedia) real(8) :: cezrx(mmedia),cezry(mmedia) real(8) :: chxry(mmedia),chyrx(mmedia) ! ******** ‹zŽϋ‹«ŠEπŒ‚Μ‰ί‹Ž‚Μ’l‚Μ•Ϋ‘Ά•Ο” ******** real(8) :: mur1_cx,mur1_cy real(8) :: ezx1(4,my+1),ezy1(4,mx+1) end module ! ! End of file !