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

