Doug - If you've defined a general plane wave (kx ky kz), then the bloch vector, k-point, can be set to (kx ky kz) / (2 * pi). This should automatically handle phase matching at the boundaries for an arbitrary angle of incidence. You shouldn't have to replicate any unit cells or anything complicated.
The discrete angle choices would be required if you were trying to force-match true periodic boundary conditions, but this shouldn't be necessary with bloch-periodic BCs, which allows your incident angle to be completely arbitrary. Joe On Tue, May 8, 2018 at 11:41 AM Doug McKnight <d...@mcknight.to> wrote: > Ian and Joe, > Thanks, yes, that's the sort of approach I'm attempting to take. It's > just a little slow while I find my way into the Meep way of thinking... > It would probably help if I was a "real programmer". > > I was presuming that, at least initially, I'd need to phase-match my > incident wave at the boundary. To achieve a more fine-tuned choice of > incident angles I could replicate n copies of my unit cell within the > bloch-periodic simulation region. Then the phase-matching condition > would still force discrete angle choices, but they'd be more closely > spaced. > > If there's a more elegant approach, I'm all ears. > Thanks > Doug > > > > On 5/8/2018 11:42 AM, Ian Sage wrote: > > > so far, I'm happily sending an oblique plane wave at a block of > > glass, and seeing it refract/reflect as expected. > > > > > I'd like to transform my finite block of stuff to be infinitely long > > and specified in terms of a unit cell, (and the same for the > > > plane-wave source) so that I can construct diffraction-grating-like > > features. > > > > So, you want to use an oblique source with cyclic boundary conditions? > > Are you working in 2d or 3d? > > > > Either way, you'll need to remove the PML from the axis/axes along > > which you want periodicity, using the direction parameter, and specify > > a k_point vector. Both points are covered in the Python UI docs. > > > > If you want off-axis incidence, you'll also need to adjust the > > wavelength/simulation dimension/incidence angle to ensure smooth phase > > matching across the cyclic boundary (unless a real expert knows a > > better way). > > > > Is that what you wanted to know? > > > > Ian > > > > > > _______________________________________________ > > meep-discuss mailing list > > meep-discuss@ab-initio.mit.edu > > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss > > > _______________________________________________ > meep-discuss mailing list > meep-discuss@ab-initio.mit.edu > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
_______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss