Dear users,
I am sorry for the previous, incompleted mail.
I am trying to simulate an L3 cavity. My question is related to how normalize
the spectrum. I am designing only the PC cavity (no in/out WG).
Initially I designed a flux region on one side of the simulation cell. But I
found that max transmission was always greater than 1 (if normalized to respect
an empty simulation domain). Thus I put two monitors orthogonal to each others
('cause I though that the diffraction could play a major role) but I get the
same.
I found that even a test structure like the one below, gives me a transmission
maximum 20% greater than the one of the normalization run.
________________
| |
| |
| |
| 0 |
| 0 0 |
| 0 0 |
| 0 |
| |
| |
|_______________|
This difference does not depends on resolution or simulation duration or pulse
width.
It is probably a quite stupid thing but I cannot understand where I am wrong...
Below there's my ctl code for the test structure:
(define-param diel_hole 1);dielectric constant of the holes
(define-param diel_slab 2.56);dielectric constant of the bulk
(define-param res 10);resolution pixels per unit of distance
(define-param rad 0.3);radius of the holes
(define-param numlayers 22);number of layers
(define-param dpml 2)
(define-param freq 0.4397)
(define-param defreq 0.01)
(define-param nfreq 1000)
(define-param fcen_h freq);for harminv - bandgap for h=0.5 r=0.3 triangular
hole
struct. is between ~0.27 and 0.35 (Chap 4)
(define-param df_h defreq);for harminv
(define-param sx 32); x-size of the cell
(define-param sy sx); y-size of the cell
(define-param runtime 1000)
(define-param sourcex 0);0.137);x coord of the point source
(define-param sourcey 0);-0.09);y coord of the point source
;(set! symmetries (list
;(make mirror-sym (direction Y) (phase 1))
;(make mirror-sym (direction X) (phase -1))
;))
(define eps-averaging? true)
(set! pml-layers (list (make pml (thickness dpml))))
(set! resolution res)
(set! default-material (make dielectric (epsilon diel_slab)));default material:
high dielectric
(set! geometry-lattice (make lattice (size sx sy no-size)));lattice sx*sy*sz
(set! geometry (list
; (make cylinder (center 0 2)(radius (* 1 rad))(height infinity)(material (make
dielectric (epsilon diel_hole))))
; (make cylinder (center 0 -2)(radius (* 1 rad))(height infinity)(material
(make dielectric (epsilon diel_hole))))
; (make cylinder (center (/ (sqrt 3) 2.0) 0.5)(radius rad)(height
infinity)(material (make dielectric (epsilon diel_hole))))
; (make cylinder (center (/ (sqrt 3) -2.0) 0.5)(radius rad)(height
infinity)(material (make dielectric (epsilon diel_hole))))
; (make cylinder (center (/ (sqrt 3) 2.0) -0.5)(radius rad)(height
infinity)(material (make dielectric (epsilon diel_hole))))
; (make cylinder (center (/ (sqrt 3) -2.0) -0.5)(radius rad)(height
infinity)(material (make dielectric (epsilon diel_hole))))
; (make block (center sourcex sourcey) (size 0.5 2) (material (make dielectric
(epsilon diel_hole))));source
; (make block (center (- (/ sx 2) dpml 2) 0) (size 0.5 (- sy dpml dpml
1))(material (make dielectric (epsilon diel_hole)))); monitor
; (make block (center (/ sx 2) 0) (size (* 2 dpml) sy)(material (make
dielectric
(epsilon diel_hole)))); dpml
; (make block (center (/ sx -2) 0) (size (* 2 dpml) sy)(material (make
dielectric (epsilon diel_hole)))); dpml
; (make block (center 0 (/ sy 2)) (size sx (* 2 dpml))(material (make
dielectric
(epsilon diel_hole)))); dpml
; (make block (center 0 (/ sy -2)) (size sx (* 2 dpml))(material (make
dielectric (epsilon diel_hole)))); dpml
(make block (center 0 0) (size sx sy)(material (make dielectric (epsilon
diel_slab)))); for normalization
))
(set! sources (list (make source
(src (make gaussian-src (frequency freq)(fwidth defreq)))
(component Ex) (center sourcex sourcey) (size 0 0))));off-center delta point
source to excite all modes
(define trans ; transmitted flux
(add-flux freq defreq nfreq (make flux-region (center (- (/ sx 2) dpml 2) 0)
(size 0 (- sy dpml dpml)))))
(define trans2 ; transmitted flux
(add-flux freq defreq nfreq (make flux-region (center 0 (- (/ sy 2) dpml 2))
(size (- sx dpml dpml) 0))))
(run-sources+ runtime
(at-beginning output-epsilon)
; (at-every 100 output-efield-x)
)
(display-fluxes trans trans2)
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss