Hi all,
I recently tried the coordinate transformation trick to try to fit more grid points in small features of my structures, and the resulting transmission seems to have reflections and pre-pulses that did not appear in the untransformed simulations. I did adjust the courant factor for to accommodate the smaller indexes of refraction. My code is below if you have any suggestions on what I should change. (reset-meep) (define Cu (make medium (epsilon-diag (vector3 -676.8 -676.8 -270720)) (mu-diag (vector3 0.05 0.05 20))(D-conductivity-diag (vector3 201.0995 201.0995 80439.8)))) (define-param lattice-size 80) ; size of x - y square of computational space (define-param lattice-length 25000) ; length of computational space (define-param pml-thickness 1600) ; thickness of pml layer (define-param substrate-index 3.42) ; refractive index of substrate (define-param fcen 0.00833) ; center wavelength of incident pulse (define-param df 0.01666) ; parameter related to the spectral width of the pulse (define-param t 4) ; metal depth (z dir) (define Ar (make medium (epsilon-diag (vector3 0.05 0.05 20)) (mu-diag (vector3 0.05 0.05 20)))) (define Si (make medium (epsilon-diag (vector3 0.58482 0.58482 233.928)) (mu-diag (vector3 0.05 0.05 20)))) (define-param l 60) ; side-length (define-param w 5) ; microsrtip width (define-param d 0.3) ; dielectric thickness (set! resolution 0.5) (set! Courant 0.02886) (set! eps-averaging? false) (set! geometry-lattice (make lattice (size lattice-size lattice-size lattice-length))) (set! geometry (list (make block (center 0 0 0) (size infinity infinity infinity) (material Ar) ) (make block (center 0 0 (* lattice-length .75)) (size lattice-size lattice-size (/ lattice-length 2)) (material Si) ) (make block (center 0 0 0) (size lattice-size lattice-size t) (material Ar) ) (make block (center 0 0 0) (size w l t) (material Cu) ) (make block (center 0 0 0) (size l w t) (material Cu) ) (make block (center (/ l 4) (/ (- l w) 2) 0) (size (/ l 2) w t) (material Cu) ) (make block (center (/ (- l w) 2) (/ l -4) 0) (size w (/ l 2) t) (material Cu) ) (make block (center (/ l -4) (/ (- w l) 2) 0) (size (/ l 2) w t) (material Cu) ) (make block (center (/ (- w l) 2) (/ l 4) 0) (size w (/ l 2) t) (material Cu) ) ) ) (set! k-point (vector3 0 0 0)); enable periodic boundary condition (set! pml-layers (list (make pml (thickness 1600) (direction Z)))); set pml (set! sources (list (make source (src(make gaussian-src (frequency fcen) (fwidth df))) (component Ex) (center 0 0 (- (- (/ lattice-length 2) pml-thickness .5))) (size lattice-size lattice-size 0) ) ) ) ;(run-sources+ (stop-when-fields-decayed 10 Ey (vector3 0 0 -2) 1e-4) (run-until 8000 (to-appended "trangc1layer" (in-volume (volume (center 0 0 (- (/ lattice-length 2) pml-thickness .5)) (size 0 0 0)) output-efield-x)) (at-beginning output-epsilon)) (reset-meep) (define Cu (make medium (epsilon -1439.8) (D-conductivity (/ (* 2 pi 0.15 1066.7) 1)))) (define-param lattice-size 80) ; size of x - y square of computational space (define-param lattice-length 25000) ; length of computational space (define-param pml-thickness 1600) ; thickness of pml layer (define-param substrate-index 3.42) ; refractive index of substrate (define-param fcen 0.00833) ; center wavelength of incident pulse (define-param df 0.01666) ; parameter related to the spectral width of the pulse (define-param t 4) ; metal depth (z dir) (define-param l 60) ; side-length (define-param w 5) ; microsrtip width (define-param g 0.05) ; gap-length (define-param Ar (make medium (epsilon-diag (vector3 0.05 0.05 20)) (mu-diag (vector3 0.05 0.05 20)))) (define-param Si (make medium (epsilon-diag (vector3 0.58482 0.58482 233.928)) (mu-diag (vector3 0.05 0.05 20)))) (set! resolution 0.2) (set! Courant 0.02886) (set! eps-averaging? false) (set! geometry-lattice (make lattice (size lattice-size lattice-size lattice-length))) (set! geometry (list (make block (center 0 0 0) (size lattice-size lattice-size lattice-length) (material Ar) ) (make block (center 0 0 (* lattice-length .75)) (size lattice-size lattice-size (/ lattice-length 2)) (material Si) ) (make block (center 0 0 0) (size lattice-size lattice-size t) (material Ar) ) ) ) (set! k-point (vector3 0 0 0)); enable periodic boundary condition (set! pml-layers (list (make pml (thickness 1600) (direction Z)))); set pml (set! sources (list (make source (src(make gaussian-src (frequency fcen) (fwidth df))) (component Ex) (center 0 0 (- (- (/ lattice-length 2) pml-thickness .5))) (size lattice-size lattice-size 0) ) ) ) ;(run-sources+ (stop-when-fields-decayed 10 Ey (vector3 0 0 -2) 1e-4) (run-until 8000 (at-beginning output-epsilon) (to-appended "refgc1layer" (in-volume (volume (center 0 0 (- (/ lattice-length 2) pml-thickness .5)) (size 0 0 0)) output-efield-x)) )
_______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss