Hi

When m=0,  an Er source must have a zero amplitude at r=0.
If you "travel" along a cross section  of the cylinder, then after you
pass r=0 the direction of the field will flip. This discontinuity forces
a zero amplitude at r=0 (for m=0)

avner

Seyoon Kim wrote:
> Dear, Steven and meep users.
> 
> I tried to make Gaussian beam in a cylindrical coordinate because I want to 
> calculate some phi-symmetry cylinder structures.
> And, their field components have to include only (Er, Hp, Ez) which are TM 
> polarization in a cylindrical coordinate.
> Firstly, I made Gaussian amplitude function for Gaussian beam which 
> propagates along z-axis in a free space.
> Secondly, I applied this Gaussian amplitude function to Er source.
> However, it doesn't work well.
> Especially, fields around (r=0) is too small.
> I believe that fields around (r=0) must be larger than their surrounding 
> because it is Gaussian beam.
> I attached my script.
> Please help me...
> 
> ------------------------------------------------------------------------------
> 
> ;%%% length unit %%%
> (define nm 1e-9) ; nano-meter unit
> (define um 1e-6) ; micro-meter unit
> (define lu 1e-6) ; base length unit in meep
> 
> 
> 
> ;%%% basic wave parameter %%%
> ;%---------------------------------------------------------------------%
> (define lam (* 532 nm)) ; wavelength
> (define NTp 30)         ; total time period
> ;%---------------------------------------------------------------------%
> (define mlam  (/ lam lu)) ; normalized wavelength in meep
> (define mfreq (/ lu lam)) ; normalized frequency in meep
> (define mTp mlam)         ; 1 time period in meep
> 
> 
> 
> ;%%% basic structure parameter %%%
> ;%---------------------------------------------------------------------%
> (define lr   (* 5 um))   ; total r-length
> (define lz   (* 10 um))  ; total z-length
> (define tpml (* 200 nm)) ; PML thickness 
> (define dl   (* 20 nm))  ; discretization length
> ;%---------------------------------------------------------------------%
> (define mlr   (/ lr lu))   ; normalized r-length in meep
> (define mlz   (/ lz lu))   ; normalized z-length in meep
> (define mtpml (/ tpml lu)) ; normalized PML thickness in meep
> (define mdl   (/ lu dl))   ; resolution in meep
> 
> 
> 
> ;%%% gaussian beam parameter %%%
> ;%---------------------------------------------------------------------%
> (define waist (* 800 nm)) ; gaussian beam waist
> ;%---------------------------------------------------------------------%
> (define mwaist (/ waist lu)) ; normalized gaussian beam waist
> 
> 
> 
> ;%%% total region setting %%%
> (set! dimensions CYLINDRICAL)
> (set! m 0)
> (set! geometry-lattice (make lattice (size mlr 0 mlz)))
> 
> 
> 
> ;%%% source setting %%%
> (define ((ampgauss sigma_d k) r)
>   (exp (- (* 0+2i pi (vector3-dot k r)) (/ (vector3-dot r r) (* 2 sigma_d 
> sigma_d))))
> )
> 
> (set! sources
>   (list
>     (make source
>       (src (make continuous-src (frequency mfreq) (width (* 2 mTp)))) 
>       (component Er)
>       (center 0 0 (+ (* -0.5 mlz) (* 2 mtpml)))
>       (size mlr 0 0)
>       (amp-func (ampgauss mwaist (vector3 0 0 0)))
>     )
>   )
> )
> 
> 
> 
> ;%%% PML setting %%%
> (set! pml-layers
>   (list
>     (make pml
>       (thickness mtpml))
>   )
> )
> 
> 
> 
> ;%%% RUN meep %%%
> (set! output-single-precision? true)
> (set! resolution mdl)
> (run-until (* NTp mTp)
>   (at-end (synchronized-magnetic output-efield-r output-efield-z 
> output-hfield-p))
> )
> 
> 
> 
> 
> 
> 
>       ________________________________________________________ 
> 180도 달라진 야후! 메일 - 여러 개의 메시지를 동시에 확인? 새로운 야후! 메일의 탭으로 가능해집니다.
> http://kr.content.mail.yahoo.com/cgland
> 
> _______________________________________________
> meep-discuss mailing list
> [email protected]
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


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

Reply via email to