⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.f90

📁 laser_damage_te用fdtd方法研究激光损伤
💻 F90
字号:
!=========================================================================================
!                       subroutine init
!=========================================================================================

subroutine init
 
 use consts
 use fdtd
 implicit none

integer id
real lambda0
!----------------------------------------------------------------------------------------------
call input

!------------------------------------空间时间步长-------------------------------------------------------

lambda0=c/freq

dx=lambda0/nlambda0
dy=dx
dt=(1.0d0/freq)/nperiod
!------------------------------------介质参数-------------------------------------------------------
nmedia=3
! 1:真空中
eps(1)=epsilon0
mu(1)=mu0
sig(1)=0.0d0
! 2:pec,pmc
! 3:一般介质
eps(3)=2.25*epsilon0
mu(3)=mu0
sig(3)=0.d0
!-------------------------------------迭代系数------------------------------------------------
! 1:真空中
cex0=1.0d0
cey0=1.0d0

cexry0=(dt/epsilon0)/dy
ceyrx0=(dt/epsilon0)/dx

chzry0=(dt/mu0)/dy
chzrx0=(dt/mu0)/dx
! 3:一般介质
do id=3,nmedia

   cex(id)=(1.0d0-((sig(id)*dt)/(2.0d0*eps(id))))/(1.0d0+((sig(id)*dt)/(2.0d0*eps(id))))					   
   cey(id)=(1.0d0-((sig(id)*dt)/(2.0d0*eps(id))))/(1.0d0+((sig(id)*dt)/(2.0d0*eps(id))))

   cexry(id)=(dt/eps(id))/(1.0d0+((sig(id)*dt)/(2.0d0*eps(id))))/dy	  
   ceyrx(id)=(dt/eps(id))/(1.0d0+((sig(id)*dt)/(2.0d0*eps(id))))/dx	   


   chz(id)=(1.0d0-((sig(id)*dt)/(2.0d0*mu(id))))/(1.0d0+((mu(id)*dt)/(2.0d0*mu(id))))

   chzry(id)=dt/mu(id)/(1.0d0+sig(id)*dt/2.0d0*mu(id))/dy
   chzrx(id)=dt/mu(id)/(1.0d0+sig(id)*dt/2.0d0*mu(id))/dx
   !chzry(id)=(dt/mu(id))/dy											  
   !chzrx(id)=(dt/mu(id))/dx
end do
!----------------------------------	mur吸收系数---------------------------------------------
mur1_cx=(c*dt-dx)/(c*dt+dx)
mur1_cy=(c*dt-dy)/(c*dt+dy)

return
end subroutine

!================================================================================================
!                             input
!================================================================================================
subroutine input
 use fdtd
 implicit none

freq=8.54131054d14
nx=300
ny=500
nlambda0=30
nperiod=100
time_start=300
time_end=2000
time_step=5

return
end subroutine





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -