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

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

?? pml_update.f90

?? Sfdtd Simple finite-difference time-domain
?? F90
?? 第 1 頁 / 共 5 頁
字號:
! pml_update.f90! ! Original Berenger's Perfectly Matched layer: update rules !!    Copyright (C) 2007  Paul Panserrieu, < peutetre@cs.tu-berlin.de >!!    This program is free software: you can redistribute it and/or modify!    it under the terms of the GNU General Public License as published by!    the Free Software Foundation, either version 3 of the License.! ! last modified: 19-10-2007 12:08:51 PM CESTMODULE pml_updateUSE fdtd_gitterUSE pmlIMPLICIT NONECONTAINSSUBROUTINE ex_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Hy_1, Hz_1  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1                IF (iz .EQ. g%nzl) THEN          Hy_1 = b%bas_z%H(ix, iy, iz-1, 3) + b%bas_z%H(ix, iy, iz-1, 4)        ELSE          Hy_1 = g%H(ix, iy, iz-1, 2)        ENDIF        IF (iy .EQ. g%nyl) THEN          Hz_1 = b%bas_y%H(ix, iy-1, iz, 5) + b%bas_y%H(ix, iy-1, iz, 6)        ELSE          Hz_1 = g%H(ix, iy-1, iz, 3)        ENDIF        g%E(ix, iy, iz, 1) = g%E(ix, iy, iz, 1)                             &                             + g%MAT_EPS                                    &                               * ( g%H(ix, iy, iz, 3)                       &                                 - g%H(ix, iy, iz, 2)                       &                                 - Hz_1                                     &                                 + Hy_1                                     &                                 )      ENDDO    ENDDO  ENDDOEND SUBROUTINE ex_inner_updateSUBROUTINE ey_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Hx_1, Hz_1  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1        IF (iz .EQ. g%nzl) THEN          Hx_1 = b%bas_z%H(ix, iy, iz-1, 1) + b%bas_z%H(ix, iy, iz-1, 2)        ELSE          Hx_1 = g%H(ix, iy, iz-1, 1)        ENDIF        IF (ix .EQ. g%nxl) THEN          Hz_1 = b%bas_x%H(ix-1, iy, iz, 5) + b%bas_x%H(ix-1, iy, iz, 6)        ELSE          Hz_1 = g%H(ix-1, iy, iz, 3)        ENDIF        g%E(ix, iy, iz, 2)= g%E(ix, iy, iz, 2)                              &                             + g%MAT_EPS                                    &                               * ( g%H(ix, iy, iz, 1)                       &                                 - g%H(ix, iy, iz, 3)                       &                                 - Hx_1                                     &                                 + Hz_1                                     &                                 )      ENDDO    ENDDO  ENDDOEND SUBROUTINE ey_inner_updateSUBROUTINE ez_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Hx_1, Hy_1  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1        IF (iy .EQ. g%nyl) THEN          Hx_1 = b%bas_y%H(ix, iy-1, iz, 1) + b%bas_y%H(ix, iy-1, iz, 2)        ELSE          Hx_1 = g%H(ix, iy-1, iz, 1)        ENDIF        IF (ix .EQ. g%nxl) THEN          Hy_1 = b%bas_x%H(ix-1, iy, iz, 3) + b%bas_x%H(ix-1, iy, iz, 4)        ELSE          Hy_1 = g%H(ix-1, iy, iz, 2)        ENDIF        g%E(ix, iy, iz, 3)= g%E(ix, iy, iz, 3)                              &                             + g%MAT_EPS                                    &                               * ( g%H(ix, iy, iz, 2)                       &                                 - g%H(ix, iy, iz, 1)                       &                                 - Hy_1                                     &                                 + Hx_1                                     &                                 )      ENDDO    ENDDO  ENDDOEND SUBROUTINE ez_inner_updateSUBROUTINE hx_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Ey, Ez  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1                  IF (iy < g%nyyh) THEN          Ez = g%E(ix, iy+1, iz  , 3)        ELSE          Ez = b%top_y%E(ix, iy+1, iz, 5) + b%top_y%E(ix, iy+1, iz, 6)        ENDIF        IF (iz < g%nzyh) THEN          Ey = g%E(ix, iy, iz+1, 2)        ELSE          Ey = b%top_z%E(ix, iy, iz+1, 3) + b%top_z%E(ix, iy, iz+1, 4)        ENDIF        g%H(ix, iy, iz, 1) = g%H(ix, iy, iz, 1)                           &                            - g%MAT_MUE                                   &                              * ( g%E(ix, iy  , iz  , 2)                  &                                + Ez                                      &                                - Ey                                      &                                - g%E(ix, iy  , iz  , 3)                  &                                )      ENDDO    ENDDO  ENDDOEND SUBROUTINE hx_inner_updateSUBROUTINE hy_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Ex, Ez  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1        IF (iz< g%nzyh) THEN          Ex = g%E(ix, iy, iz+1, 1)        ELSE          Ex = b%top_z%E(ix, iy, iz+1, 1) + b%top_z%E(ix, iy, iz+1, 2)        ENDIF        IF (ix < g%nxyh) THEN          Ez = g%E(ix+1, iy, iz, 3)        ELSE          Ez = b%top_x%E(ix+1, iy, iz, 5) + b%top_x%E(ix+1, iy, iz, 6)        ENDIF        g%H(ix, iy, iz, 2) = g%H(ix, iy, iz, 2)                             &                              - g%MAT_MUE                                   &                                * ( g%E(ix, iy, iz, 3)                      &                                  + Ex                                      &                                  - Ez                                      &                                  - g%E(ix, iy, iz, 1)                      &                                  )      ENDDO    ENDDO  ENDDOEND SUBROUTINE hy_inner_updateSUBROUTINE hz_inner_update(g, b)  TYPE(gitter), INTENT(INOUT)      :: g  TYPE(pml_boundary), INTENT(IN)   :: b  INTEGER                          :: ix, iy, iz  DOUBLE PRECISION                 :: Ex, Ey  DO iz=g%nzl, g%nzyh, 1    DO iy=g%nyl, g%nyyh, 1      DO ix=g%nxl, g%nxyh, 1        IF (ix < g%nxyh) THEN          Ey = g%E(ix+1, iy, iz, 2)        ELSE          Ey = b%top_x%E(ix+1, iy, iz, 3) + b%top_x%E(ix+1, iy, iz, 4)        ENDIF        IF (iy < g%nyyh) THEN          Ex = g%E(ix, iy+1, iz, 1)        ELSE          Ex = b%top_y%E(ix, iy+1, iz, 1) +  b%top_y%E(ix, iy+1, iz, 2)        ENDIF                  g%H(ix, iy, iz, 3) = g%H(ix, iy, iz, 3)                             &                              - g%MAT_MUE                                   &                                * ( g%E(ix, iy, iz, 1)                      &                                  + Ey                                      &                                  - Ex                                      &                                  - g%E(ix, iy, iz, 2)                      &                                  )      ENDDO    ENDDO  ENDDOEND SUBROUTINE hz_inner_update! avoid NaN when sigma = 0 with the right limit of expressionSUBROUTINE compute_E_factor(g, sigma, past_factor, new_factor)  TYPE(gitter), INTENT(IN)                                      :: g  DOUBLE PRECISION, INTENT(IN)                                  :: sigma  DOUBLE PRECISION, INTENT(IN)                                  :: past_factor  DOUBLE PRECISION, INTENT(INOUT)                               :: new_factor  IF (sigma .NE. 0.0d0) THEN    new_factor = (1.0d0 - past_factor) / (sigma * g%dx)  ELSE    new_factor = g%dt / (g%eps * g%dx)  ENDIFEND SUBROUTINE compute_E_factor SUBROUTINE compute_H_factor(g, sigma, past_factor, new_factor)  TYPE(gitter), INTENT(IN)                                      :: g  DOUBLE PRECISION, INTENT(IN)                                  :: sigma  DOUBLE PRECISION, INTENT(IN)                                  :: past_factor  DOUBLE PRECISION, INTENT(INOUT)                               :: new_factor  IF (sigma .NE. 0.0d0) THEN    new_factor = (1.0d0 - past_factor) / (sigma * (g%mue/g%eps) * g%dx)  ELSE    new_factor = g%dt / (g%mue * g%dx)  ENDIFEND SUBROUTINE compute_H_factor! PML Algorithm with PEC at last layerSUBROUTINE PML_update_Ex(g, b)  TYPE(gitter), INTENT(IN)                                      :: g  TYPE(pml_boundary), INTENT(INOUT)                             :: b  INTEGER                                                       :: ix, iy, iz  DOUBLE PRECISION                                              :: c1, c2, c3, c4  DOUBLE PRECISION                                              :: Hzx_1, Hzy_1  DOUBLE PRECISION                                              :: Hyz_1, Hyx_1    ! bas_x  DO ix = b%min_xo, g%nxl-1, 1    DO iy = b%min_yo, b%max_yo, 1      DO iz = b%min_zo, b%max_zo, 1         IF (iy .EQ. b%min_yo .OR. iy .EQ. b%max_yo) THEN          b%bas_x%E(ix, iy, iz, 1) = 0.0d0          b%bas_x%E(ix, iy, iz, 2) = 0.0d0        ELSEIF (iz .EQ. b%min_zo .OR. iz .EQ. b%max_zo) THEN          b%bas_x%E(ix, iy, iz, 1) = 0.0d0          b%bas_x%E(ix, iy, iz, 2) = 0.0d0        ELSE          c1 = EXP(- b%bas_x%sigma(ix, iy, iz, 2)*g%dt/g%eps)          CALL compute_E_factor(g, b%bas_x%sigma(ix, iy, iz, 2), c1, c2)          c3 = EXP(- b%bas_x%sigma(ix, iy, iz, 3)*g%dt/g%eps)          CALL compute_E_factor(g, b%bas_x%sigma(ix, iy, iz, 3), c3, c4)          b%bas_x%E(ix, iy, iz, 1) =    c1 *    b%bas_x%E(ix, iy, iz, 1)                &                                      + c2 *  ( b%bas_x%H(ix, iy, iz, 5)                &                                              - b%bas_x%H(ix, iy-1, iz, 5)              &                                              + b%bas_x%H(ix, iy, iz, 6)                &                                              - b%bas_x%H(ix, iy-1, iz, 6))          b%bas_x%E(ix, iy, iz, 2) =    c3 *   b%bas_x%E(ix, iy, iz, 2)                 &                                      - c4 * ( b%bas_x%H(ix, iy, iz, 3)                 &                                              - b%bas_x%H(ix, iy, iz-1, 3)              &                                              + b%bas_x%H(ix, iy, iz, 4)                &                                              - b%bas_x%H(ix, iy, iz-1, 4))        ENDIF      ENDDO    ENDDO  ENDDO  ! top_x  DO ix = g%nxgh, b%max_xo-1, 1    DO iy = b%min_yo, b%max_yo, 1      DO iz = b%min_zo, b%max_zo, 1 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人a免费在线看| 日韩成人av影视| 国产成人在线电影| 精品88久久久久88久久久| 久久精品99国产精品日本| 精品日韩成人av| 国产精品99久久久久久久女警 | 免费人成黄页网站在线一区二区| 欧美精品色综合| 久久国产夜色精品鲁鲁99| 久久综合九色综合欧美98| 成人综合日日夜夜| 亚洲人吸女人奶水| 欧美在线免费观看视频| 日本不卡一区二区三区高清视频| 精品久久久久久久久久久久包黑料 | 成人美女视频在线观看18| 国产偷国产偷亚洲高清人白洁 | 日韩视频一区二区三区| 精彩视频一区二区| 中文字幕第一页久久| 91福利视频网站| 日本视频免费一区| 国产精品嫩草99a| 欧美久久久影院| 成人妖精视频yjsp地址| 亚洲一区二区三区在线| 久久综合色一综合色88| 91在线国内视频| 蜜臀久久99精品久久久画质超高清| 精品国产3级a| 一本色道久久综合亚洲aⅴ蜜桃| 午夜精品一区二区三区电影天堂| 久久精品免费在线观看| 欧美日韩国产综合草草| 国产不卡视频在线播放| 亚洲国产视频在线| 国产欧美一区二区在线| 欧美日韩精品电影| 成人午夜视频免费看| 五月天婷婷综合| 日本一区二区成人在线| 日韩欧美一级二级三级| 色欧美乱欧美15图片| 国产剧情一区二区三区| 三级不卡在线观看| 成人免费视频在线观看| 精品国产伦一区二区三区免费| 色婷婷精品大在线视频| 国产二区国产一区在线观看| 五月婷婷激情综合网| 亚洲少妇屁股交4| 国产亚洲欧美日韩俺去了| 在线成人午夜影院| 在线视频一区二区三区| 国产一区福利在线| 久久国产麻豆精品| 亚洲一区二区免费视频| 国产日韩亚洲欧美综合| 91精品啪在线观看国产60岁| 色综合久久综合| 国产精华液一区二区三区| 日本va欧美va欧美va精品| 亚洲一线二线三线久久久| 亚洲第一精品在线| 亚洲视频在线一区观看| 国产精品色哟哟| 日本一区二区视频在线观看| 精品久久国产字幕高潮| 欧美一区二区二区| 69堂成人精品免费视频| 欧美日韩三级一区二区| 色哟哟一区二区三区| 色综合久久久久| 91在线一区二区| 91免费小视频| 91极品美女在线| 91亚洲精华国产精华精华液| 国产iv一区二区三区| 丁香啪啪综合成人亚洲小说| 国产精品资源在线观看| 国产精品影音先锋| 成人中文字幕在线| 成人午夜精品在线| 99九九99九九九视频精品| av激情成人网| 91蝌蚪porny成人天涯| 色综合色综合色综合| 99riav一区二区三区| 在线观看日韩av先锋影音电影院| 在线观看免费亚洲| 欧美精品亚洲二区| 欧美电影免费提供在线观看| 久久综合999| 国产拍揄自揄精品视频麻豆| 亚洲欧洲精品成人久久奇米网| 国产精品美女久久久久久久久久久 | 亚洲午夜在线观看视频在线| 亚洲黄色性网站| 亚洲国产成人精品视频| 亚洲午夜精品网| 日本中文字幕一区二区视频 | 欧美三级电影精品| 91精品在线观看入口| 欧美va天堂va视频va在线| 欧美国产丝袜视频| 亚洲一区在线观看视频| 麻豆91在线播放免费| 成人激情动漫在线观看| 欧美午夜一区二区三区免费大片| 日韩一区二区三区av| 国产欧美一区二区三区鸳鸯浴 | 欧美激情在线一区二区| 一区二区三区不卡在线观看 | 精品国产污污免费网站入口| 国产精品无遮挡| 亚洲大尺度视频在线观看| 欧美精选在线播放| 久久久久99精品一区| 亚洲一区欧美一区| 国模一区二区三区白浆| 在线精品观看国产| 欧美精品一区二区三区在线播放 | 精品少妇一区二区三区视频免付费 | 不卡的av网站| 91国产精品成人| 久久一夜天堂av一区二区三区| 亚洲精品免费在线| 久久97超碰国产精品超碰| 欧美最新大片在线看| 久久影院电视剧免费观看| 亚洲国产中文字幕| 成人国产精品视频| 欧美成人一级视频| 一区二区三区四区中文字幕| 国产在线一区二区| 欧美日韩一二三| 成人免费在线视频观看| 国模一区二区三区白浆| 欧美精品色一区二区三区| 1024成人网| 国产精品一区久久久久| 欧美电影在哪看比较好| 亚洲精品视频自拍| 成人av免费在线播放| 精品美女一区二区| 日本欧美在线看| 欧美三级视频在线播放| 中文字幕亚洲精品在线观看| 国内精品嫩模私拍在线| 日韩欧美色综合网站| 亚洲综合成人在线| 91蝌蚪porny| 国产精品动漫网站| 丁香激情综合五月| 欧美精品一区二区蜜臀亚洲| 日日摸夜夜添夜夜添精品视频| 91免费观看在线| 国产精品国产成人国产三级 | 欧美自拍丝袜亚洲| 国产精品国产自产拍在线| 国产99久久久久久免费看农村| 日韩欧美国产三级电影视频| 日韩av一二三| 欧美疯狂做受xxxx富婆| 亚洲va韩国va欧美va| 欧美主播一区二区三区美女| 亚洲精品欧美专区| 在线视频国产一区| 亚洲一区二区综合| 欧美在线观看一二区| 亚洲午夜久久久久久久久电影院| 日本韩国一区二区| 亚洲自拍偷拍网站| 欧美日本免费一区二区三区| 亚洲国产精品一区二区久久| 欧美色视频在线| 亚洲123区在线观看| 欧美日韩国产在线观看| 日韩成人精品在线观看| 欧美va亚洲va在线观看蝴蝶网| 精品无人码麻豆乱码1区2区 | 欧美久久婷婷综合色| 日韩国产在线一| 欧美电影免费观看高清完整版在线| 美女脱光内衣内裤视频久久网站| 日韩欧美视频在线| 高清成人在线观看| 亚洲人午夜精品天堂一二香蕉| 在线视频国内一区二区| 日本91福利区| 国产日韩欧美高清在线| 91网站在线观看视频| 性做久久久久久久久| 日韩一级片在线播放| 成人免费的视频| 亚洲午夜精品久久久久久久久| 欧美一区二区三区四区高清| 国产一区二区三区| 亚洲欧美激情在线|