Hello MEEP Users, I am a new user of MEEP, and I am trying to validate my own ability for using the code. I wanted to calculate the reflection/transmission spectra for the T-junction 2D photonic crystal configuration as described in
(1) S. Fan, S.G. Johnson and J.D. Joannopoulos et. al., "Waveguide branched in photonic crystals", J. Opt. Soc. Am. B, 18, 2, 2001. (2) R-S. Chen, Y-B Lin et. al., "Efficient approach for the calculation of transmission and reflection spectra of photonic crystal waveguide devices", Proc. of the SPIE, Vol. 8102, 2011. I am attempting to use a domain that has is 48a x 44a with a PML of 4a all the way around; resolution is set at 20. In other words I am not using the large domain approach mentioned in (1). Instead, for the input wave calculation, I remove the top of the "T" to capture the subtractive spectrum. This approach mimics that in the tutorial "Transmission Spectrum Around a Waveguide Bend". My domain is captured between the points (-24,-22) and (24,22) along the x=y line. I am using a Gaussian source cast along an infinite line. My epsilon fields look good when visualized, but my spectra do not. They really don't make sense. I would like to know if my approach will even work for this problem. Any guidance you may provide will be appreciated. My ctl file is included for processing the input wave, e.g., like step 1 in the tutorial. Thank you. ; Straight waveguide with dielectric rods around a channel ; lay out computational cell 2D (set! geometry-lattice (make lattice (size 48 44 no-size))) ; lay out the actual 2D waveguide ; by default, regions outside of the dielectric block have eps = 1 ; and considered to be air ; Inset the rods in the left region (let xloop ((n -20)) (if (<= n -1) (begin (let yloop ((m -18)) (if (<= m 12) (begin (set! geometry (append geometry (list (make cylinder (center n m) (height infinity) (radius 0.2) (material (make dielectric (index 3.4))))))) (yloop (+ m 1)) ))) (xloop (+ n 1)) ))) ; Inset the rods in the right region (let xloop ((n 1)) (if (<= n 20) (begin (let yloop ((m -18)) (if (<= m 12) (begin (set! geometry (append geometry (list (make cylinder (center n m) (height infinity) (radius 0.2) (material (make dielectric (index 3.4))))))) (yloop (+ m 1)) ))) (xloop (+ n 1)) ))) ; lay out the current density line source Jz ; Gaussian pulse turned on at t = 0 (define-param df 0.005) (set! sources (list (make source (src (make gaussian-src (frequency 0.38) (fwidth df))) (component Ez) (center 0 -15.5) (size 0 0 infinity)) )) ; lay out the PML absorbing layer around all waveguide boundaries (set! pml-layers (list (make pml (thickness 4.0)))) ; prescribe grid resolution (pixels per unit distance) (set! resolution 20) ; Flux section (define-param nfreq 100) (define refl (add-flux 0.38 0.005 nfreq (make flux-region (center 0 -3) (size 2 0)))) (define trans (add-flux 0.38 0.005 nfreq (make flux-region (center 0 17) (size 2 0)))) ; prescribe run control (20 time units) ;(run-until 20 ; (at-beginning output-epsilon) ; (at-every 5 output-efield-z) ; (at-end output-efield-z)) (run-sources+ (stop-when-fields-decayed 50 Ez (vector3 0 17) 1e-3) (at-beginning output-epsilon) (at-every 100 output-efield-z) (at-end output-efield-z)) (save-flux "refl-flux" refl) (display-fluxes trans refl) Doug Nance _______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss