In my simulations using the meep c++ libraries, I have a 3D simulation with
the following properties:

resolution = 0.02
size ~= 8.5 x 9 x 20.5
Bloch periodicity using  fields::use_bloch(vec(0,0,0))
pml specified in the structure constructor using pml(1.0, Z)
completely uniform epsilon ~= 1.8 (obviously my baseline conditions for
comparison)

plane source extending from (0,0,4) to (x,y,4)   (i.e., it covers the
entire x-y plane @ z=4)
frequency range of source is  ~1.5 to 2.5 (with a = 1 micron, corresponding
approximately to visible light in the 400nm-700nm range)

I have two separate but most likely related problems: First, the ex
waveform differs a bit from what would be expected from that produced by
the source's dipole() function. Second, plotted against Z, the +Z moving ex
waveform changes slightly over time as it propagates toward the end of the
volume, which wouldn't be expected in a uniform, lossless medium. This
difference in the wave matters to me because the high-frequency components
are over-represented in the wave. This is fine if the entirety of my source
wave propagates in the +Z direction through my structure. However, I need
to be able to distinguish flux that passes through my structure vs. flux
that doesn't (either due to reflections or wrapping-around due to Bloch
periodicity).

I suspect that I'm looking at a combination of the original wave
superimposed with both its +Z and -Z reflections at the PML interfaces and
the remnants of the waves that manage to wrap-around through the Z=0
boundary without being completely absorbed by the PML. Because my source
wavelengths are < ~800nm and I'm using a 1 micron PML thickness, I thought
my PML was safely designed. I've also tried doubling the PML thickness
without seeing much change. I've read in these discussion boards that one
can set the "strength" parameter of the PML in structure_chunk::use_pml(),
but it isn't clear to me from looking at the source code how I would do
that. Does anyone have any advice? Thanks in advance.
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to