Hi,

I tryed to calculate the transmission spectra of a PBG-fiber (fiber with large 
air-core and 3 rings of smaller air-cores around, in hex-lattice), but I get 
values >> 1 (see atteched pic) after I normalized the flux with the flux of an 
fiber without air holes. I don't know if this normalization is right or if 
there is another fault in my .ctl-file.

I hope you can help me,

Jan Leppert


crystal3.ctl:

(define-param w3 (sqrt 3))
(define-param w3h (/ (sqrt 3) 2))
(define-param -w3 (- 0 (sqrt 3)))
(define-param -w3h (/ (sqrt 3) -2))

; Some parameters to describe the geometry:
(define-param n 1.45) ; index of SiO2 

(define-param n_hole 1.0)
(define-param n_core 1.0)
(define-param pitch 3.9)                     ;Pitch=Lambda
(define-param d_zu_Lambda 0.86)             ; d/Lambda
(define-param r (/ d_zu_Lambda 2))         ; Zylinderradius konstant für alle 
Zylinder
(define-param r_def (/ 8.3 pitch))                   ; Radius des Kernzylinders
(define-param R_fiber 6)                   ;6Pitch

(define hole (make dielectric (index n_hole)))               ; Dielektrikum im 
Loch
(define core (make dielectric (index n_core)))               ; Dielektrikum im 
Kern
(define back (make dielectric (index n)))                   ;Dielektrikum der 
Umgebung (meist SiO2)

; The cell dimensions
(define-param sx 13)
(define-param sy 13) 

(define-param sz 8)
(define-param dpml 1) ; PML thickness = 1=Pitch

(set! geometry-lattice (make lattice (size sx sy sy)))

(set! geometry
       (list (make block (center 0 0 0)                     ;Luft-Block für 
Aussenraum
                         (size infinity infinity infinity)
           (material air))
             (make cylinder (center 0 0 0)                  ;SiO2-Zyl
                            (radius R_fiber)
                            (height infinity)
                            (material back))
      (make cylinder (center 0 0 0)                  ;Kerndefekt
                            (radius r_def) 
                            (height infinity) 
                            (material core))
             (make cylinder (center 0 -w3 0)                  ;Claddinglöcher
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center 1 -w3 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center 1.5 -w3h 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))

....

            (make cylinder (center 1.5 (* -5 w3h) 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center 0.5 (* -5 w3h) 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center -0.5 (* -5 w3h) 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center -1.5 (* -5 w3h) 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))
             (make cylinder (center -2.5 (* -5 w3h) 0) 
                            (radius r) 
                            (height infinity) 
                            (material hole))

      )
)

(set! pml-layers (list (make pml (thickness dpml))))
(set-param! resolution 10)  ;pixel pro distance=pixel pro Pitch

(define-param fcen 2.5) ; pulse center frequency                            
(define-param df 1.5) ; pulse freq. width: large df = short impulse
(define-param nfreq 500) ; number of frequencies at which to compute flux

(set! sources (list
        (make source
   (src (make gaussian-src (frequency fcen) (fwidth df)))
   (component Ex) (center 0 0 (+ dpml (* -0.5 sz))) )
               (make source
   (src (make gaussian-src (frequency fcen) (fwidth df)))
   (component Ey) (center 0 0 (+ dpml (* -0.5 sz))) )))

(set! symmetries (list (make mirror-sym (direction Y) (phase -1))
         (make mirror-sym (direction X) (phase -1))))

;(define inc ; inc flux                                          
;        (add-flux fcen df nfreq
;                  (make flux-region
;                    (center 0 0 (+ (* -0.5 sz) dpml 0.5)) (size (/ r_def 2) (/ 
r_def 2) 0))))

(define trans ; transmitted flux                                          
        (add-flux fcen df nfreq
                  (make flux-region
                    (center 0 0 (- (* 0.5 sz) dpml 0.5)) (size (/ r_def 2) (/ 
r_def 2) 0))))

(run-sources+ (stop-when-fields-decayed
               50 Sz                                 ; Zahl und Feld 
ausprobieren
               (vector3 0 0 (- (* 0.5 sz) dpml 0.5))
               1e-4)
              (at-beginning output-epsilon)
              ;(during-sources 
              ;   (in-volume (volume (center 0 0 0) (size 0 0 sz))
              ;      (to-appended "sz-z-slice" (at-every 0.4 output-sfield-z)))
              (in-volume (volume (center 0 0 0) (size sx sy 0))
                 (at-every 10 (output-png Sz "-C $EPS -c jet"))
              )
)

(display-fluxes trans) ; print out the flux spectrum


<<attachment: Grtrans3a.JPEG>>

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to