亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fdtd3d_cpml.f90

?? 基于matlab的三維時域有限差分程序(pec邊界條件)
?? F90
?? 第 1 頁 / 共 3 頁
字號:
!***********************************************************************
!     3-D FDTD code with CPML absorbing boundary conditions
!***********************************************************************
!
!     Program author: Jamesina J. Simpson, Ph.D. Graduate Student
!                     National Science Foundation Fellow
!                     NU Computational Electromagnetics Laboratory
!                     Director: Allen Taflove
!                     Department of Electrical Engineering and 
!                                                      Computer Science
!                     Northwestern University
!                     2145 Sheridan Road
!                     Evanston, IL 60208
!                     j-simpson@northwestern.edu
!
!     Copyright 2005
!
!     This FORTRAN 90 code implements the finite-difference time-domain
!     solution of Maxwell's curl equations over a three-dimensional
!     Cartesian space lattice.  The grid is terminated by CPML absorbing
!     boundary conditions.  However, in a straightforward manner it can
!     be altered to have PEC planes at any of the outer grid boundaries.  
!     Also, the number of grid cells as well as the thickness of 
!     the PML in each Cartesian direction can be varied independently.
!
!     For illustrative purposes, the code supplied here models the PML 
!     numerical experiment described in Section 7.11.2.  Three output 
!     files are generated having the following data:
!
!       (1) Ez at the source for each time step;
!       (2) Ey at the probe point for each time step;  and
!       (3) The plane of Ez values 1 mm above the source in the k-
!           direction recorded at the time step, "record_grid".  This 
!           data can be viewed in Matlab using the following commands:
!
!             >>  load view_grid.dat
!             >>  for j = 1:Jmax
!             >>      image(1:Imax,j) = view_grid(1+(j-1)*Imax:j*Imax);
!             >>  end
!             >>  pcolor(image'); shading flat
!
!     The relative error (equation 7.135) graphed in Fig. 7.6 on 
!     page 318 can be reproduced by comparing the output file 
!     "probe.dat" with that of a much larger benchmark grid having 
!     Imax, Jmax, and Kmax increased to the values mentioned in the text.
!
!     This code has been tested using the Intel Fortran Compiler 8.0 for
!     Linux.  The executable can be created by typing
!     "ifort fdtd3D_CPML.f90" at the command prompt.
!
!     This program is not guaranteed to be free of defects or bugs.
!     Please report any bugs that may exist to:
!                                          j-simpson@northwestern.edu
!
!
!***********************************************************************


   PROGRAM fdtd3D_CPML

   IMPLICIT NONE

!  ..................................
!  Input Fundamental Constants (MKS units)
   REAL, PARAMETER ::                            &
      pi = 3.14159265358979, C = 2.99792458E8, &
      muO = 4.0 * pi * 1.0E-7, epsO = 1.0/(C*C*muO)

!  ..................................
!  Specify Material Relative Permittivity and Conductivity
   REAL, PARAMETER::                      &
      epsR = 1.0, sigM1 = 0.0   ! free space

!  ..................................
!  Specify Number of Time Steps and Grid Size Parameters
   INTEGER, PARAMETER ::                                     &
      nmax = 2100, &  ! total number of time steps
      Imax = 51, Jmax = 126, Kmax = 26  ! grid size corresponding to the
                                        ! number of Ez field components 
!  ..................................
!  Specify Grid Cell Size in Each Direction and Calculate the 
!  Resulting Courant-Stable Time Step
   REAL, PARAMETER ::                                        &
      dx = 1.0E-3, dy = 1.0E-3, dz = 1.0E-3,  &  ! cell size in each direction
      dt = 0.99 / (C*(1.0/dx**2+1.0/dy**2+1.0/dz**2)**0.5)
                                                 ! time step increment

!  ..................................
!  Specify the Impulsive Source (See Equation 7.134)
   REAL, PARAMETER ::                                        &
      tw = 53.0E-12, tO = 4.0*tw  

!  ..................................
!  Specify the Time Step at which the Grid is Recorded for Visualization
   INTEGER, PARAMETER ::                                        &
      record_grid = 300 

!  ..................................
!  Specify the PEC Plate Boundaries and the Source/Recording Points
   INTEGER, PARAMETER ::                                    &
      istart = (Imax-1)/2-11, iend = istart+24, jstart = istart,   &
      jend = jstart + 99, kstart = Kmax/2, kend = kstart,      &
      isource = istart, jsource = jstart, ksource = kend+1,     &
      irecv1 = iend, jrecv1 = jend+1, krecv1 = kend  ! Ey at probe point

!  ..................................
!  Specify the CPML Thickness in Each Direction (Value of Zero 
!  Corresponds to No PML, and the Grid is Terminated with a PEC)
   INTEGER, PARAMETER ::                        &
      ! PML thickness in each direction 
      nxPML_1 = 11, nxPML_2 = nxPML_1, nyPML_1 = nxPML_1,      &
      nyPML_2 = nxPML_1, nzPML_1 = nxPML_1, nzPML_2 = nxPML_2
!  ..................................
!  Specify the CPML Order and Other Parameters
   INTEGER, PARAMETER ::                        & 
      m = 3, ma = 1 
   REAL, PARAMETER  ::                     &
      sig_x_max = 0.75 * (0.8*(m+1)/(dx*(muO/epsO*epsR)**0.5)),   &
      sig_y_max = 0.75 * (0.8*(m+1)/(dy*(muO/epsO*epsR)**0.5)),   &
      sig_z_max = 0.75 * (0.8*(m+1)/(dz*(muO/epsO*epsR)**0.5)),   &
      alpha_x_max = 0.24,   &
      alpha_y_max = alpha_x_max, alpha_z_max = alpha_x_max, &
      kappa_x_max = 15.0, &
      kappa_y_max = kappa_x_max, kappa_z_max = kappa_x_max

   INTEGER ::                                                &
	i,j,ii,jj,k,kk,n

   REAL  ::                                                   &
      source, P1, P2

!     TM components
   REAL,DIMENSION(Imax, Jmax, Kmax)  ::                      &
      Ez, CA, CB, sig, eps

   REAL,DIMENSION(Imax-1, Jmax, Kmax)  ::                      &
      Hy

   REAL,DIMENSION(Imax,Jmax-1, Kmax)  ::                      &
      Hx

   REAL  ::                        &
      DA, DB

!     TE components
   REAL,DIMENSION(Imax-1, Jmax-1, Kmax-1)  ::                      &
      Hz

   REAL,DIMENSION(Imax-1, Jmax, Kmax-1)  ::                      &
      Ex

   REAL,DIMENSION(Imax,Jmax-1, Kmax-1)  ::                      &
      Ey

!  PML
   REAL ,DIMENSION(nxPML_1,Jmax,Kmax) ::                       &
      psi_Ezx_1

   REAL ,DIMENSION(nxPML_2,Jmax,Kmax) ::                       &
      psi_Ezx_2

   REAL ,DIMENSION(nxPML_1-1,Jmax,Kmax) ::                       &
      psi_Hyx_1

   REAL ,DIMENSION(nxPML_2-1,Jmax,Kmax) ::                       &
      psi_Hyx_2

   REAL ,DIMENSION(Imax,nyPML_1,Kmax) ::                       &
      psi_Ezy_1                               

   REAL ,DIMENSION(Imax,nyPML_2,Kmax) ::                       &
      psi_Ezy_2

   REAL ,DIMENSION(Imax,nyPML_1-1,Kmax) ::                       &
      psi_Hxy_1                               

   REAL ,DIMENSION(Imax,nyPML_2-1,Kmax) ::                       &
      psi_Hxy_2

   REAL ,DIMENSION(Imax,Jmax-1,nzPML_1-1) ::                       &
      psi_Hxz_1

   REAL ,DIMENSION(Imax,Jmax-1,nzPML_2-1) ::                       &
      psi_Hxz_2

   REAL ,DIMENSION(Imax-1,Jmax,nzPML_1-1) ::                       &
      psi_Hyz_1

   REAL ,DIMENSION(Imax-1,Jmax,nzPML_2-1) ::                       &
      psi_Hyz_2

   REAL ,DIMENSION(Imax-1,Jmax,nzPML_1) ::                       &
      psi_Exz_1

   REAL ,DIMENSION(Imax-1,Jmax,nzPML_2) ::                       &
      psi_Exz_2

   REAL ,DIMENSION(Imax,Jmax-1,nzPML_1) ::                       &
      psi_Eyz_1

   REAL ,DIMENSION(Imax,Jmax-1,nzPML_2) ::                       &
      psi_Eyz_2

   REAL ,DIMENSION(nxPML_1-1,Jmax-1,Kmax-1) ::                       &
      psi_Hzx_1
   REAL ,DIMENSION(nxPML_1,Jmax-1,Kmax-1) ::                       &
      psi_Eyx_1

   REAL ,DIMENSION(nxPML_2-1,Jmax-1,Kmax-1) ::                       &
      psi_Hzx_2
   REAL ,DIMENSION(nxPML_2,Jmax-1,Kmax-1) ::                       &
      psi_Eyx_2

   REAL ,DIMENSION(Imax-1,nyPML_1-1,Kmax-1) ::                       &
      psi_Hzy_1                               
   REAL ,DIMENSION(Imax-1,nyPML_1,Kmax-1) ::                       &
      psi_Exy_1                               

   REAL ,DIMENSION(Imax-1,nyPML_2-1,Kmax-1) ::                       &
      psi_Hzy_2
   REAL ,DIMENSION(Imax-1,nyPML_2,Kmax-1) ::                       &
      psi_Exy_2

   REAL ,DIMENSION(nxPML_1) ::                       &
      be_x_1, ce_x_1, alphae_x_PML_1, sige_x_PML_1, kappae_x_PML_1
   REAL ,DIMENSION(nxPML_1-1) ::                       &
      bh_x_1, ch_x_1, alphah_x_PML_1, sigh_x_PML_1, kappah_x_PML_1

   REAL ,DIMENSION(nxPML_2) ::                       &
      be_x_2, ce_x_2, alphae_x_PML_2, sige_x_PML_2, kappae_x_PML_2
   REAL ,DIMENSION(nxPML_2-1) ::                       &
      bh_x_2, ch_x_2, alphah_x_PML_2, sigh_x_PML_2, kappah_x_PML_2

   REAL ,DIMENSION(nyPML_1) ::                       &
      be_y_1, ce_y_1, alphae_y_PML_1, sige_y_PML_1, kappae_y_PML_1
   REAL ,DIMENSION(nyPML_1-1) ::                       &
      bh_y_1, ch_y_1, alphah_y_PML_1, sigh_y_PML_1, kappah_y_PML_1

   REAL ,DIMENSION(nyPML_2) ::                       &
      be_y_2, ce_y_2, alphae_y_PML_2, sige_y_PML_2, kappae_y_PML_2
   REAL ,DIMENSION(nyPML_2-1) ::                       &
      bh_y_2, ch_y_2, alphah_y_PML_2, sigh_y_PML_2, kappah_y_PML_2

   REAL ,DIMENSION(nzPML_1) ::                       &
      be_z_1, ce_z_1, alphae_z_PML_1, sige_z_PML_1, kappae_z_PML_1
   REAL ,DIMENSION(nzPML_1-1) ::                       &
      bh_z_1, ch_z_1, alphah_z_PML_1, sigh_z_PML_1, kappah_z_PML_1

   REAL ,DIMENSION(nzPML_2) ::                       &
      be_z_2, ce_z_2, alphae_z_PML_2, sige_z_PML_2, kappae_z_PML_2
   REAL ,DIMENSION(nzPML_2-1) ::                       &
      bh_z_2, ch_z_2, alphah_z_PML_2, sigh_z_PML_2, kappah_z_PML_2

!     denominators for the update equations
   REAL,DIMENSION(Imax-1)  ::                      &
      den_ex, den_hx

   REAL,DIMENSION(Jmax-1)  ::                      &
      den_ey, den_hy

   REAL,DIMENSION(Kmax-1)  ::                      &
      den_ez, den_hz


!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!  OPEN OUTPUT FILES
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   OPEN (UNIT = 30, FILE = "source.dat")
   OPEN (UNIT = 31, FILE = "probe.dat")
   OPEN (UNIT = 33, FILE = "view_grid.dat")

!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!  INITIALIZE VARIABLES
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   P1 = 0.0
   P2 = 0.0

   Ez(:,:,:) = 0.0
   Hz(:,:,:) = 0.0
   Ex(:,:,:) = 0.0
   Hx(:,:,:) = 0.0
   Ey(:,:,:) = 0.0
   Hy(:,:,:) = 0.0
   sig(:,:,:) = sigM1
   eps(:,:,:) = epsR*epsO

   psi_Exy_1(:,:,:) = 0.0
   psi_Exy_2(:,:,:) = 0.0
   psi_Exz_1(:,:,:) = 0.0
   psi_Exz_2(:,:,:) = 0.0
   psi_Eyx_1(:,:,:) = 0.0
   psi_Eyx_2(:,:,:) = 0.0
   psi_Eyz_1(:,:,:) = 0.0
   psi_Eyz_2(:,:,:) = 0.0
   psi_Ezy_1(:,:,:) = 0.0
   psi_Ezy_2(:,:,:) = 0.0
   psi_Ezx_1(:,:,:) = 0.0
   psi_Ezx_2(:,:,:) = 0.0
   psi_Hxy_1(:,:,:) = 0.0
   psi_Hxy_2(:,:,:) = 0.0
   psi_Hxz_1(:,:,:) = 0.0
   psi_Hxz_2(:,:,:) = 0.0
   psi_Hyx_1(:,:,:) = 0.0
   psi_Hyx_2(:,:,:) = 0.0
   psi_Hyz_1(:,:,:) = 0.0
   psi_Hyz_2(:,:,:) = 0.0
   psi_Hzy_1(:,:,:) = 0.0
   psi_Hzy_2(:,:,:) = 0.0
   psi_Hzx_1(:,:,:) = 0.0
   psi_Hzx_2(:,:,:) = 0.0

   write(*,*)"Imax: ", Imax
   write(*,*)"Jmax: ", Jmax
   write(*,*)"Kmax: ", Kmax
   write(*,*)"dt: ", dt
   write(*,*)"nmax: ", nmax
   write(*,*)"max time: ", nmax*dt
   write(*,*)"record grid after ", record_grid, "dt"

!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!  SET CPML PARAMETERS IN EACH DIRECTION
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   DO i = 1,nxPML_1
      sige_x_PML_1(i) = sig_x_max * ( (nxPML_1 - i) / (nxPML_1 - 1.0) )**m
      alphae_x_PML_1(i) = alpha_x_max*((i-1.0)/(nxPML_1-1.0))**ma
      kappae_x_PML_1(i) = 1.0+(kappa_x_max-1.0)*   &

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱人伦偷精品视频不卡 | 欧美色男人天堂| 日韩一区二区三区视频在线| 久久―日本道色综合久久| 亚洲蜜臀av乱码久久精品蜜桃| 日本欧美在线观看| 色香色香欲天天天影视综合网| 精品对白一区国产伦| 亚洲综合另类小说| 91麻豆国产福利精品| 久久久不卡网国产精品二区| 亚洲大片在线观看| 不卡影院免费观看| 久久噜噜亚洲综合| 亚洲婷婷综合久久一本伊一区 | 欧美成人精品3d动漫h| 一本大道久久a久久综合| 久久精品国产第一区二区三区| 国产精品综合在线视频| 日韩欧美色综合网站| 紧缚捆绑精品一区二区| 国产视频不卡一区| 97国产一区二区| 亚洲欧美区自拍先锋| 欧美丝袜丝交足nylons| 青青草成人在线观看| 国产精品高潮久久久久无| 欧美久久一二三四区| 色综合久久中文综合久久牛| 蜜桃视频一区二区| 亚洲国产综合91精品麻豆| 欧美激情综合五月色丁香| 欧美高清视频不卡网| www.久久久久久久久| 亚洲一区自拍偷拍| 国产精品对白交换视频 | 免费人成网站在线观看欧美高清| 91精品国产欧美一区二区成人 | 日产国产高清一区二区三区| 国产精品久久久久一区二区三区共| 一本久久综合亚洲鲁鲁五月天| 日韩精品欧美精品| 三级不卡在线观看| 亚洲在线免费播放| 亚洲欧美怡红院| 国产视频一区二区在线| 国产欧美精品在线观看| 欧美一级国产精品| 日韩免费在线观看| 欧美一区二区三区色| 91精品国产91久久久久久一区二区 | 日韩欧美一级片| 精品毛片乱码1区2区3区| 日韩精品一区二区三区在线观看| 日韩一区二区三区在线| 久久久99精品久久| 久久精品日产第一区二区三区高清版| 欧美日韩卡一卡二| 日本国产一区二区| 欧美视频一区二| 欧美系列亚洲系列| 欧美电影精品一区二区| 中文字幕中文在线不卡住| 中文字幕va一区二区三区| 亚洲精品老司机| 国产专区综合网| 在线视频国内自拍亚洲视频| 欧美精品一区二区三区很污很色的 | 9i看片成人免费高清| 99精品欧美一区| 欧美精品一区二区久久婷婷| 亚洲丝袜自拍清纯另类| 韩国三级电影一区二区| 欧美欧美午夜aⅴ在线观看| 日韩亚洲欧美在线| 国产欧美一区二区三区在线老狼| 国产精品久久久久aaaa樱花| 亚洲永久免费视频| 奇米777欧美一区二区| 成人av在线一区二区| 欧美图片一区二区三区| 久久一夜天堂av一区二区三区| 国产精品久久午夜夜伦鲁鲁| 日韩电影在线一区二区三区| 99免费精品在线| 亚洲影院免费观看| 色综合天天综合网天天狠天天| 精品国产1区2区3区| 国内精品在线播放| 日韩欧美第一区| 国模冰冰炮一区二区| 亚洲国产电影在线观看| 国产99久久久久| 中文字幕在线不卡| 粉嫩av一区二区三区在线播放| 精品国产乱码久久久久久图片| 免费xxxx性欧美18vr| 久久综合久久综合亚洲| 懂色av中文一区二区三区| 中文字幕第一页久久| 成人精品亚洲人成在线| 综合激情网...| 99精品欧美一区二区蜜桃免费| 中文字幕字幕中文在线中不卡视频| 色婷婷综合久久久| 精品一区二区成人精品| 久久五月婷婷丁香社区| 成人手机在线视频| 亚洲欧美日韩小说| 欧美日韩亚洲综合在线 | 亚洲国产高清在线| 欧美性大战久久久久久久蜜臀 | 波多野结衣在线aⅴ中文字幕不卡| 国产精品麻豆一区二区| 在线不卡a资源高清| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 精品久久国产字幕高潮| 成av人片一区二区| 看国产成人h片视频| 亚洲成人中文在线| 亚洲1区2区3区视频| 精品日韩成人av| 91成人网在线| 91国产成人在线| 欧美日韩一级大片网址| 91麻豆国产在线观看| 国产一区二区在线视频| 蜜臀久久99精品久久久久久9| 一区二区三区在线免费播放| 亚洲日本免费电影| 亚洲图片欧美色图| 日韩和欧美一区二区| 日本视频中文字幕一区二区三区| 中文字幕成人网| 欧美视频在线一区二区三区| 国产成人综合精品三级| 亚洲视频狠狠干| 国产精品久久久久久久久动漫| 欧美丰满嫩嫩电影| 久久久久久久一区| 一区二区三区在线播| 亚洲v精品v日韩v欧美v专区| 日韩国产欧美一区二区三区| 欧美午夜理伦三级在线观看| 青青国产91久久久久久 | 国产成人夜色高潮福利影视| 日韩一级片网站| 国产九九视频一区二区三区| 欧美一区二区三区色| 久草这里只有精品视频| 日韩视频不卡中文| 成人一二三区视频| 亚洲乱码国产乱码精品精的特点| 三级在线观看一区二区| 久久精品理论片| 欧美午夜电影一区| 国产精品伦理在线| 午夜一区二区三区视频| 日本强好片久久久久久aaa| 麻豆视频观看网址久久| 欧美片在线播放| 久久av老司机精品网站导航| 欧美一区中文字幕| 精品综合久久久久久8888| 欧美日韩视频在线一区二区| 日韩精品一区二区三区在线观看| 日韩精品一区二区三区在线 | 日本成人在线不卡视频| 精品一区二区影视| 成人免费看片app下载| 欧美丰满一区二区免费视频 | 欧美tickle裸体挠脚心vk| 日本人妖一区二区| 久久久精品国产免费观看同学| 亚洲精品国产成人久久av盗摄| 欧美电影在线免费观看| av电影一区二区| 成人激情综合网站| 国产成人av影院| 蜜臀久久99精品久久久久久9| 亚洲精品国产一区二区三区四区在线| 久久久777精品电影网影网| xfplay精品久久| 精品久久一二三区| ...中文天堂在线一区| 精品三级av在线| 大胆亚洲人体视频| 激情小说欧美图片| 亚洲一级电影视频| 欧美日韩美少妇| 狠狠狠色丁香婷婷综合激情 | 日韩亚洲欧美成人一区| 美腿丝袜亚洲一区| 综合久久久久久久| 久久色在线观看| xnxx国产精品| 麻豆一区二区三| 欧美一区永久视频免费观看| 亚洲国产精品久久久男人的天堂| 在线影院国内精品|