On 11/02/2016 03:07 PM, EDUARDO CABRERA GRANADO wrote:
I would like to add a multilevel atom in my fdtd simulations. Looking
at the multilevel atomic susceptibility function in meep code I am not
sure about the physical meaning of some parameters. I had not success
trying to find any example or documentation. Could anyone could point
me to any reference where I can see the equations this function are
solving?
Support for saturable absorbers via multilevel-atomic media will be
added in the next version of Meep, scheduled for release hopefully soon.
We are also planning to add a new tutorial example for this feature.
In the meantime, you can access the beta version here:
https://github.com/oskooi/meep/tree/multilevel
As a test case, the ctl script below reproduces the lasing-threshold
results of the 1d, multimode, four-level cavity from Fig. 2 of this paper:
https://www.osapublishing.org/oe/abstract.cfm?uri=oe-20-1-474
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
(define-param ncav 1.5) ; cavity refractive
index
(define-param Lcav 1) ; cavity length
(define-param freq-32 (/ 6 (* 2 pi))) ; emission frequency
(define-param freq-21 (/ 60 (* 2 pi))) ; emission frequency
(define-param freq-10 (/ 6 (* 2 pi))) ; emission frequency
(define-param gamma-32 (/ 4 (* 2 pi))) ; emission gamma
(define-param gamma-21 (/ 4 (* 2 pi))) ; emission gamma
(define-param gamma-10 (/ 4 (* 2 pi))) ; emission gamma
(define-param sigma-32 1e-10) ; emission sigma
(define-param sigma-21 0.01) ; emission sigma
(define-param sigma-10 1e-10) ; emission sigma
(set! sigma-32 (/ sigma-32 (sqr freq-32)))
(set! sigma-21 (/ sigma-21 (sqr freq-21)))
(set! sigma-10 (/ sigma-10 (sqr freq-10)))
(define-param rate-32 10) ; non-radiative rate
(define-param rate-21 1e-4) ; non-radiative rate
(define-param rate-10 10) ; non-radiative rate
(define-param N0 10) ; initial
population of ground state
(define-param Rp 1) ; pumping rate
of ground to highest state
(define four-level (make medium (index ncav)
(E-polarizations (make multilevel-atom (sigma 1)
(transitions (make transition (from-level 0) (to-level 3)
(pumping-rate Rp))
(make transition (from-level 3) (to-level 2)
(transition-rate rate-32) (frequency freq-32)
(gamma gamma-32) (sigma sigma-32))
(make transition (from-level 2) (to-level 1)
(transition-rate rate-21) (frequency freq-21)
(gamma gamma-21) (sigma sigma-21))
(make transition (from-level 1) (to-level 0)
(transition-rate rate-10) (frequency freq-10)
(gamma gamma-10) (sigma sigma-10)))
(initial-populations N0)))))
(set-param! resolution 1000) ; resolution must be sufficiently high
for stability when sigma-rad or N0 is large
(define-param dpad 4)
(define-param dpml 4)
(define-param sz (+ Lcav dpad dpml))
(set! geometry-lattice (make lattice (size no-size no-size sz)))
(set! dimensions 1)
(set! pml-layers (list (make pml (thickness dpml) (side High))))
(set! geometry (list (make block (center 0 0 (+ (* -0.5 sz) (* 0.5 Lcav)))
(size infinity infinity Lcav) (material
four-level))))
(define-param fcen freq-21)
(define-param df (* 0.2 fcen))
(set! sources (list (make source
(src (make gaussian-src (frequency fcen) (fwidth df)))
(component Ex) (center 0 0 (+ (* -0.5 sz) Lcav)))))
(define-param nfreq 50)
(define trans (add-flux fcen df nfreq
(make flux-region (center 0 0 (+ (* -0.5 sz)
Lcav (* 0.5 dpad))))))
(run-sources+ (stop-when-fields-decayed 50 Ex (vector3 0 0 (+ (* -0.5
sz) (* 0.5 Lcav))) 1e-8))
(display-fluxes trans)
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss