Hi, I am trying to simulate a microwave near-confocal Fabry-Perot cavity with MEEP. I made the spherical cavity mirrors by first making rectangular blocks of metal, and then iteratively replacing the metal with cylinders of air, varying the size of each cylinder so as to ultimately make a spherical concave mirror. I bring the fields into the cavity via a rectangular waveguide and sub-wavelength aperture.
After the sources (and some extra time), I run harminv, and have tried
running harminv both in the centre of the cavity and at then end of an
output waveguide. I have everything set up so that a=1cm, and Gaussian
optics theory and experiments tell me that the resonance i'm looking for
(the TEM 3,0 mode) should be at 14.22 GHz, which is 0.474 in my MEEP
units.
However, no matter what resolution I use, I have not managed to get the
resonance in Harminv above 0.46 (about 13.8 GHz), which is too far from
what it should be to ignore.
I have set up my geometry in 3d, but usually do calculations in 2d to
save time. I'm trying a simulation in 3d with low resolution to see if
that helps, but am otherwise at my wits' end. Has anyone experienced
anything similar?
My code is below, and png from (output-epsilon) attached.
Thanks,
Devin
(define-param D 9) ;mirror diameter
(define-param hole-size 2) ;input coupler hole size
(define R 7.5) ;mirror radius of curvature
(define-param fcen 0.475) ;centre frequency
(define-param df 0.05) ;frequency width
(define-param res 30) ;resolution
(define cav-length 3.5) ;cavity length
(define (H x) (* (/ 1 2) (+ (* -1 (sqrt (+ (* -1 (expt D 2)) (* 4 (expt
R 2))) )) (sqrt (* -1 (+ D (* 2 R) (* -2 x)) (+ D (* -2 (+ R x))))
)))) ; a function for use in my iterative creation of spherical mirrors
(define topbot -1) ;parameter for controlling if I am making the top or
bottom mirror
(define (sphermirror top x x-max dx) ;a function to create mirror
concavity iteratively
(if (<= x x-max)
(begin
(if (= top 1) (set! topbot 1) (set! topbot -1) )
(append
(list
(make cylinder (center 0 (* topbot (- (H x-max) (/ (H x) 2) (/
cav-length 2))) 0) (material vacuum)
(radius (- (/ D 2) x) ) (height (H x)) (axis 0 1 0)
))
(sphermirror top (+ x dx) x-max dx)))
'()
)
)
(set! geometry-lattice (make lattice (size 16 26 no-size)))
(set! geometry
(append
(list ;make the mirror foundation blocks
(make block (center 0 (- (/ (H (/ D 2)) 2) (+ (/ cav-length 2) 0.1))
0) (size D (H (/ D 2)) D)
(material metal))
(make block (center 0 (- (+ (/ cav-length 2) 0.1) (/ (H (/ D 2)) 2))
0) (size D (H (/ D 2)) D )
(material metal))
)
(sphermirror 0 0.005 (/ D 2) 0.005) ;make the mirrors concave
(sphermirror 1 0.005 (/ D 2) 0.005)
(list ;make the waveguides and input/output coupling holes
(make block (center 0 (- (/ (- 13 (/ cav-length 2) 0.1) 2) 13) 0) (size
2 (- 13 (/ cav-length 2) 0.1) 1.2)
(material metal))
(make block (center 0 (- (/ (- 13 (/ cav-length 2) 0.1) 2) 13) 0) (size
1.6 (- 13 (/ cav-length 2) 0.1) 0.8)
(material vacuum))
(make cylinder (center 0 (* -1 (+ (/ cav-length 2) 0.05)) 0) (material
vacuum) (radius (* hole-size 0.05)) (height 1)
(axis 0 1 0))
(make block (center 0 (- 13 (/ (- 13 (/ cav-length 2) 0.1) 2)) 0) (size
2 (- 13 (/ cav-length 2) 0.1) 1.2)
(material metal))
(make block (center 0 (- 13 (/ (- 13 (/ cav-length 2) 0.1) 2)) 0) (size
1.6 (- 13 (/ cav-length 2) 0.1) 0.8)
(material vacuum))
(make cylinder (center 0 (+ (/ cav-length 2) 0.05) 0) (material vacuum)
(radius 0.025 ) (height 1)
(axis 0 1 0))
)
)
)
(set! pml-layers (list (make pml (thickness 1.0))))
(set! sources
(list
(make source ;excite the cavity with a TE10 mode gaussian source
in the input waveguide
(src (make gaussian-src
(frequency fcen ) (fwidth df) ))
(component Hx)
(center 0 -6.5 0)
))))
(set! resolution res)
(run-sources+ 10000 ;run the sources before performing haminv of the
correct e-field component at cavity centre and end of output waveguide
(at-beginning output-epsilon)
(after-sources (harminv Ez (vector3 0 0 0) fcen df))
(after-sources (harminv Ez (vector3 0 6.5 0) fcen df))
)
(run-until (/ 1 fcen) ;visualize the field over one period
(at-beginning output-epsilon)
(to-appended "ez" (at-every (/ 1 fcen 20) output-efield-z))
)
<<attachment: eps-000000.00.png>>
_______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

