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

