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

Reply via email to