Hello,


I have been running into some confusing issues regarding setting up a PML in an 
environment in Meep.  In order to simplify posting and understanding, I have 
removed most of my code, leaving the problem areas (my PML section) intact.

; Simulation Domain Sizes
(define-param simX 1.84375)
(define-param simY 1.581)
(define-param simZ 1.71129)

(define-param pmlThickness 0.5)
(define-param freq 2.33)
(define-param df 0.5)

(define-param sourceX 0.221875)
; Set-up Simulation Domain
(set! geometry-lattice (make lattice (size simX simY simZ)))
(set! resolution 150)

; Set-up PML
(set! pml-layers
(list
(make pml
(thickness pmlThickness)
(direction High)
(side X)
)
(make pml
(thickness pmlThickness)
(direction High)
(side Z)
)
)
)

(set! geometry
(list
; Waveguide Outside
(make block
(center 0 0 0)
(size 1.84375 0.431 0.14525)
(material (make dielectric (epsilon -1E15)))
)
; Waveguide Inside
(make block
(center 0 0 0)
(size 1.79375 0.381 0.09525)
(material air)
)
; Open Waveguide End
(make block
(center 0.896875 0 0)
(size 0.1 0.381 0.09525)
(material air)
)
)
)

; Set up Sources
(set! sources
(list
(make source
(src
(make continuous-src
(frequency freq)
(fwidth df)
)
)
(component Ez)
(center sourceX 0 0)
(size 0 0.381 0.09525)
)
)
)

(run-until 10
)

The issue I am running into is that I want a PML layer of definable thickness 
on the +X, and +Z side of the domain, as seen above.  However, I am not sure 
that the above PML specification is correct, since I would also imagine that I 
could place PML on the -X and +Z sides as well.  When I change my PML 
specification for the X boundary to be (direction Low) (side X) and try running 
the simulation I get the error: "meep: invalid boundary absorbers for this 
grid_volume".  Since meep finds an error in this configuration, I am wondering 
if the above meep ctl file is really simulating what I expect it to be 
simulating.

I have simulated my geometry (a rectangular waveguide through the center of the 
domain) with a PML on the +X only side and observed the e-field in the 
waveguide.  I then added a PML on the +Z boundary (ensuring that the PML layer 
didn't extend into my waveguide).  When I ran this simulation (PML on +Z/+X 
boundaries), the efield output was different.  This doesn't make sense since 
the Z PML didn't extend into the waveguide region.

Any insights would be greatly appreciated.
_______________________________________________
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