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

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

?? fdtd3d_cpml.f90

?? FDTD的fortran程序
?? 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成人在线| 国产三级精品视频| 欧美日韩精品一区二区| 成人午夜视频福利| 色综合久久九月婷婷色综合| 欧美成人a视频| 美女高潮久久久| 国产在线精品一区二区三区不卡| 成av人片一区二区| 日韩精品一区二区三区在线播放| 椎名由奈av一区二区三区| 免费成人在线播放| 精品在线播放午夜| 91蜜桃视频在线| 国产乱码精品一区二区三区五月婷| 亚洲资源中文字幕| 中文字幕一区在线| 久久蜜臀精品av| 日韩欧美一级二级三级| 欧美三级中文字| 在线视频一区二区三| av一区二区不卡| 成人白浆超碰人人人人| 国产成人av一区二区三区在线观看| 男男成人高潮片免费网站| 午夜精品久久久| 亚洲va韩国va欧美va| 一区二区三区日韩欧美| 亚洲天堂成人网| 亚洲视频在线观看一区| 国产精品久久久爽爽爽麻豆色哟哟| 久久精品亚洲乱码伦伦中文| 26uuuu精品一区二区| 精品成人私密视频| 久久久激情视频| 国产日韩欧美亚洲| 国产精品网站导航| 中文字幕亚洲在| 亚洲另类春色校园小说| 亚洲精品视频免费看| 亚洲综合一区二区| 偷窥少妇高潮呻吟av久久免费| 日韩制服丝袜先锋影音| 蜜臀av一级做a爰片久久| 人妖欧美一区二区| 黑人精品欧美一区二区蜜桃 | 欧美挠脚心视频网站| 欧美日韩综合不卡| 在线播放中文一区| 欧美成人video| 国产欧美日本一区二区三区| 国产精品理伦片| 亚洲人成网站精品片在线观看| 亚洲六月丁香色婷婷综合久久 | 91麻豆国产香蕉久久精品| 91亚洲大成网污www| 在线观看亚洲精品视频| 欧美电影在哪看比较好| 精品毛片乱码1区2区3区| 国产午夜精品在线观看| 18成人在线观看| 午夜精品视频一区| 激情综合网最新| jlzzjlzz欧美大全| 欧美日韩免费一区二区三区视频| 91精品国产一区二区三区蜜臀 | 99在线热播精品免费| 欧美亚洲动漫另类| 日韩精品中文字幕一区二区三区| 国产欧美日韩在线| 亚洲国产一二三| 狠狠色狠狠色综合日日91app| 成人av在线一区二区| 欧美日本免费一区二区三区| 久久伊人中文字幕| 一区二区三区不卡视频| 久久爱www久久做| 91网站最新网址| 日韩视频一区二区三区| 国产精品欧美久久久久无广告 | 欧美色视频一区| 久久免费视频色| 夜夜精品浪潮av一区二区三区| 激情六月婷婷久久| 色成年激情久久综合| 2017欧美狠狠色| 一区二区高清在线| 高清不卡一区二区在线| 9191成人精品久久| 中文字幕一区二区不卡 | 大胆欧美人体老妇| 91精品婷婷国产综合久久竹菊| 欧美国产成人在线| 免播放器亚洲一区| 欧美性一级生活| 欧美国产乱子伦| 免费在线观看成人| 91国偷自产一区二区开放时间 | 亚洲精品日日夜夜| 国产成人精品网址| 日韩午夜激情电影| 一区二区三区在线高清| 夫妻av一区二区| 欧美成人精品二区三区99精品| 一区二区三区日韩欧美精品| 成人一级片网址| 日韩美女天天操| 五月婷婷综合网| 日本久久电影网| 亚洲欧洲日韩在线| 国产成人亚洲综合a∨猫咪| 欧美一区二区日韩| 午夜精品一区二区三区免费视频 | 国产91富婆露脸刺激对白| 日韩一级成人av| 日韩高清不卡在线| 欧美日韩一本到| 亚洲一级在线观看| 日本精品视频一区二区三区| 国产精品高清亚洲| 成人黄页毛片网站| 日本一区二区综合亚洲| 国产伦精品一区二区三区免费迷| 日韩亚洲欧美在线观看| 日韩不卡一区二区| 91精品欧美综合在线观看最新| 亚洲国产日日夜夜| 欧美日韩色一区| 日韩主播视频在线| 日韩欧美激情四射| 精品综合久久久久久8888| 精品国产制服丝袜高跟| 九色|91porny| 久久精品一区二区三区四区| 国产精品一区二区三区99| 久久久精品国产99久久精品芒果| 国产激情视频一区二区在线观看 | 亚洲欧美国产高清| 欧洲中文字幕精品| 亚洲成人动漫在线免费观看| 欧美日韩免费一区二区三区视频| 天天色天天操综合| 日韩女优制服丝袜电影| 久99久精品视频免费观看| 久久久久99精品一区| 国产99久久久久久免费看农村| 国产女人18毛片水真多成人如厕| 国产91色综合久久免费分享| 国产精品高清亚洲| 色噜噜久久综合| 肉丝袜脚交视频一区二区| 日韩一级完整毛片| 国产剧情一区在线| 国产精品私人自拍| 在线观看网站黄不卡| 午夜电影久久久| 欧美成人女星排名| 国产精品1区2区3区在线观看| 国产精品久久久久久久久免费桃花 | 成人一区二区三区视频在线观看| 国产精品福利电影一区二区三区四区| 91在线免费看| 午夜久久久久久电影| 精品成人一区二区| 99re热这里只有精品免费视频| 亚洲福利国产精品| 久久免费美女视频| 在线免费观看成人短视频| 青娱乐精品视频在线| 国产农村妇女毛片精品久久麻豆| 91福利在线观看| 久久99日本精品| 亚洲啪啪综合av一区二区三区| 91精品福利在线一区二区三区| 国产成人8x视频一区二区| 一个色妞综合视频在线观看| 欧美xxxxxxxxx| 日本福利一区二区| 国产一区二区三区免费在线观看| 樱花影视一区二区| 久久婷婷久久一区二区三区| 欧美综合一区二区三区| 国产精品亚洲第一区在线暖暖韩国 | 日韩不卡免费视频| 亚洲欧洲综合另类| 久久综合av免费| 欧美日韩一区在线| 成人免费av资源| 久久精品国产澳门| 一区二区三区资源| 国产欧美综合在线观看第十页| 欧美日韩高清一区二区| 成人高清在线视频| 国产一区二区在线视频| 爽爽淫人综合网网站| ㊣最新国产の精品bt伙计久久| 精品久久久三级丝袜| 欧美视频一区二区|