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